Browse Source

fix gps regression: publish satellite info

sbg
Beat Küng 9 years ago committed by Lorenz Meier
parent
commit
f600b7fb37
  1. 20
      src/drivers/gps/gps.cpp

20
src/drivers/gps/gps.cpp

@ -127,6 +127,7 @@ private: @@ -127,6 +127,7 @@ private:
orb_advert_t _report_gps_pos_pub; ///< uORB pub for gps position
int _gps_orb_instance; ///< uORB multi-topic instance
struct satellite_info_s *_p_report_sat_info; ///< pointer to uORB topic for satellite info
int _gps_sat_orb_instance; ///< uORB multi-topic instance for satellite info
orb_advert_t _report_sat_info_pub; ///< uORB pub for satellite info
float _rate; ///< position update rate
float _rate_rtcm_injection; ///< RTCM message injection rate
@ -168,6 +169,11 @@ private: @@ -168,6 +169,11 @@ private:
*/
void publish();
/**
* Publish the satellite info
*/
void publishSatelliteInfo();
/**
* This is an abstraction for the poll on serial used.
*
@ -652,7 +658,7 @@ GPS::task_main() @@ -652,7 +658,7 @@ GPS::task_main()
}
if (_p_report_sat_info && (helper_ret & 2)) {
publish();
publishSatelliteInfo();
}
/* measure update rate every 5 seconds */
@ -819,6 +825,18 @@ GPS::publish() @@ -819,6 +825,18 @@ GPS::publish()
ORB_PRIO_DEFAULT);
}
}
void
GPS::publishSatelliteInfo()
{
if (_gps_num == 1) {
orb_publish_auto(ORB_ID(satellite_info), &_report_sat_info_pub, _p_report_sat_info, &_gps_sat_orb_instance,
ORB_PRIO_DEFAULT);
} else {
//we don't publish satellite info for the secondary gps
}
}
/**

Loading…
Cancel
Save