mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-22 01:12:31 +00:00
Converted satellite_info topic to generated topic
This commit is contained in:
9
msg/satellite_info.msg
Normal file
9
msg/satellite_info.msg
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
uint8 SAT_INFO_MAX_SATELLITES = 20
|
||||||
|
|
||||||
|
uint64 timestamp # Timestamp of satellite info
|
||||||
|
uint8 count # Number of satellites in satellite info
|
||||||
|
uint8[20] svid # Space vehicle ID [1..255], see scheme below
|
||||||
|
uint8[20] used # 0: Satellite not used, 1: used for navigation
|
||||||
|
uint8[20] elevation # Elevation (0: right on top of receiver, 90: on the horizon) of satellite
|
||||||
|
uint8[20] azimuth # Direction of satellite, 0: 0 deg, 255: 360 deg.
|
||||||
|
uint8[20] snr # dBHz, Signal to noise ratio of satellite C/N0, range 0..99, zero when not tracking this satellite.
|
||||||
@@ -472,7 +472,7 @@ int ASHTECH::handle_message(int len)
|
|||||||
if (this_msg_num == all_msg_num) {
|
if (this_msg_num == all_msg_num) {
|
||||||
end = tot_sv_visible - (this_msg_num - 1) * 4;
|
end = tot_sv_visible - (this_msg_num - 1) * 4;
|
||||||
_gps_position->satellites_used = tot_sv_visible;
|
_gps_position->satellites_used = tot_sv_visible;
|
||||||
_satellite_info->count = SAT_INFO_MAX_SATELLITES;
|
_satellite_info->count = satellite_info_s::SAT_INFO_MAX_SATELLITES;
|
||||||
_satellite_info->timestamp = hrt_absolute_time();
|
_satellite_info->timestamp = hrt_absolute_time();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,10 +42,10 @@
|
|||||||
|
|
||||||
#ifndef RECV_BUFFER_SIZE
|
#ifndef RECV_BUFFER_SIZE
|
||||||
#define RECV_BUFFER_SIZE 512
|
#define RECV_BUFFER_SIZE 512
|
||||||
|
|
||||||
#define SAT_INFO_MAX_SATELLITES 20
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <uORB/topics/satellite_info.h>
|
||||||
|
|
||||||
|
|
||||||
class ASHTECH : public GPS_Helper
|
class ASHTECH : public GPS_Helper
|
||||||
{
|
{
|
||||||
@@ -70,11 +70,11 @@ class ASHTECH : public GPS_Helper
|
|||||||
bool _gsv_in_progress; /**< Indicates that gsv data parsing is in progress */
|
bool _gsv_in_progress; /**< Indicates that gsv data parsing is in progress */
|
||||||
/* int _satellites_count; **< Number of satellites info parsed. */
|
/* int _satellites_count; **< Number of satellites info parsed. */
|
||||||
uint8_t count; /**< Number of satellites in satellite info */
|
uint8_t count; /**< Number of satellites in satellite info */
|
||||||
uint8_t svid[SAT_INFO_MAX_SATELLITES]; /**< Space vehicle ID [1..255], see scheme below */
|
uint8_t svid[satellite_info_s::SAT_INFO_MAX_SATELLITES]; /**< Space vehicle ID [1..255], see scheme below */
|
||||||
uint8_t used[SAT_INFO_MAX_SATELLITES]; /**< 0: Satellite not used, 1: used for navigation */
|
uint8_t used[satellite_info_s::SAT_INFO_MAX_SATELLITES]; /**< 0: Satellite not used, 1: used for navigation */
|
||||||
uint8_t elevation[SAT_INFO_MAX_SATELLITES]; /**< Elevation (0: right on top of receiver, 90: on the horizon) of satellite */
|
uint8_t elevation[satellite_info_s::SAT_INFO_MAX_SATELLITES]; /**< Elevation (0: right on top of receiver, 90: on the horizon) of satellite */
|
||||||
uint8_t azimuth[SAT_INFO_MAX_SATELLITES]; /**< Direction of satellite, 0: 0 deg, 255: 360 deg. */
|
uint8_t azimuth[satellite_info_s::SAT_INFO_MAX_SATELLITES]; /**< Direction of satellite, 0: 0 deg, 255: 360 deg. */
|
||||||
uint8_t snr[SAT_INFO_MAX_SATELLITES]; /**< dBHz, Signal to noise ratio of satellite C/N0, range 0..99, zero when not tracking this satellite. */
|
uint8_t snr[satellite_info_s::SAT_INFO_MAX_SATELLITES]; /**< dBHz, Signal to noise ratio of satellite C/N0, range 0..99, zero when not tracking this satellite. */
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ASHTECH(const int &fd, struct vehicle_gps_position_s *gps_position, struct satellite_info_s *satellite_info);
|
ASHTECH(const int &fd, struct vehicle_gps_position_s *gps_position, struct satellite_info_s *satellite_info);
|
||||||
|
|||||||
@@ -627,7 +627,7 @@ UBX::payload_rx_add_nav_svinfo(const uint8_t b)
|
|||||||
} else {
|
} else {
|
||||||
if (_rx_payload_index == sizeof(ubx_payload_rx_nav_svinfo_part1_t)) {
|
if (_rx_payload_index == sizeof(ubx_payload_rx_nav_svinfo_part1_t)) {
|
||||||
// Part 1 complete: decode Part 1 buffer
|
// Part 1 complete: decode Part 1 buffer
|
||||||
_satellite_info->count = MIN(_buf.payload_rx_nav_svinfo_part1.numCh, SAT_INFO_MAX_SATELLITES);
|
_satellite_info->count = MIN(_buf.payload_rx_nav_svinfo_part1.numCh, satellite_info_s::SAT_INFO_MAX_SATELLITES);
|
||||||
UBX_TRACE_SVINFO("SVINFO len %u numCh %u\n", (unsigned)_rx_payload_length, (unsigned)_buf.payload_rx_nav_svinfo_part1.numCh);
|
UBX_TRACE_SVINFO("SVINFO len %u numCh %u\n", (unsigned)_rx_payload_length, (unsigned)_buf.payload_rx_nav_svinfo_part1.numCh);
|
||||||
}
|
}
|
||||||
if (_rx_payload_index < sizeof(ubx_payload_rx_nav_svinfo_part1_t) + _satellite_info->count * sizeof(ubx_payload_rx_nav_svinfo_part2_t)) {
|
if (_rx_payload_index < sizeof(ubx_payload_rx_nav_svinfo_part1_t) + _satellite_info->count * sizeof(ubx_payload_rx_nav_svinfo_part2_t)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user