forked from Archive/PX4-Autopilot
GPS initialize all class members in definition
This commit is contained in:
parent
94dd6abd9f
commit
effeae93cc
|
@ -145,39 +145,48 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
int _serial_fd; ///< serial interface to GPS
|
int _serial_fd{-1}; ///< serial interface to GPS
|
||||||
unsigned _baudrate; ///< current baudrate
|
unsigned _baudrate{0}; ///< current baudrate
|
||||||
char _port[20]; ///< device / serial port path
|
char _port[20] {}; ///< device / serial port path
|
||||||
bool _healthy; ///< flag to signal if the GPS is ok
|
|
||||||
bool _baudrate_changed; ///< flag to signal that the baudrate with the GPS has changed
|
bool _healthy{false}; ///< flag to signal if the GPS is ok
|
||||||
bool _mode_changed; ///< flag that the GPS mode has changed
|
bool _baudrate_changed{false}; ///< flag to signal that the baudrate with the GPS has changed
|
||||||
bool _mode_auto; ///< if true, auto-detect which GPS is attached
|
bool _mode_changed{false}; ///< flag that the GPS mode has changed
|
||||||
|
bool _mode_auto{false}; ///< if true, auto-detect which GPS is attached
|
||||||
|
|
||||||
gps_driver_mode_t _mode; ///< current mode
|
gps_driver_mode_t _mode; ///< current mode
|
||||||
GPSHelper::Interface _interface; ///< interface
|
|
||||||
GPSHelper *_helper; ///< instance of GPS parser
|
|
||||||
GPS_Sat_Info *_sat_info; ///< instance of GPS sat info data object
|
|
||||||
struct vehicle_gps_position_s _report_gps_pos; ///< uORB topic for gps position
|
|
||||||
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
|
|
||||||
unsigned _last_rate_rtcm_injection_count; ///< counter for number of RTCM messages
|
|
||||||
bool _fake_gps; ///< fake gps output
|
|
||||||
Instance _instance;
|
|
||||||
|
|
||||||
int _orb_inject_data_fd;
|
GPSHelper::Interface _interface; ///< interface
|
||||||
|
GPSHelper *_helper{nullptr}; ///< instance of GPS parser
|
||||||
|
|
||||||
orb_advert_t _dump_communication_pub; ///< if non-null, dump communication
|
GPS_Sat_Info *_sat_info{nullptr}; ///< instance of GPS sat info data object
|
||||||
gps_dump_s *_dump_to_device;
|
|
||||||
gps_dump_s *_dump_from_device;
|
vehicle_gps_position_s _report_gps_pos{}; ///< uORB topic for gps position
|
||||||
|
satellite_info_s *_p_report_sat_info{nullptr}; ///< pointer to uORB topic for satellite info
|
||||||
|
|
||||||
|
orb_advert_t _report_gps_pos_pub{nullptr}; ///< uORB pub for gps position
|
||||||
|
orb_advert_t _report_sat_info_pub{nullptr}; ///< uORB pub for satellite info
|
||||||
|
|
||||||
|
int _gps_orb_instance{-1}; ///< uORB multi-topic instance
|
||||||
|
int _gps_sat_orb_instance{-1}; ///< uORB multi-topic instance for satellite info
|
||||||
|
|
||||||
|
float _rate{0.0f}; ///< position update rate
|
||||||
|
float _rate_rtcm_injection{0.0f}; ///< RTCM message injection rate
|
||||||
|
unsigned _last_rate_rtcm_injection_count{0}; ///< counter for number of RTCM messages
|
||||||
|
|
||||||
|
const bool _fake_gps; ///< fake gps output
|
||||||
|
|
||||||
|
const Instance _instance;
|
||||||
|
|
||||||
|
int _orb_inject_data_fd{-1};
|
||||||
|
orb_advert_t _dump_communication_pub{nullptr}; ///< if non-null, dump communication
|
||||||
|
gps_dump_s *_dump_to_device{nullptr};
|
||||||
|
gps_dump_s *_dump_from_device{nullptr};
|
||||||
|
|
||||||
static volatile bool _is_gps_main_advertised; ///< for the second gps we want to make sure that it gets instance 1
|
static volatile bool _is_gps_main_advertised; ///< for the second gps we want to make sure that it gets instance 1
|
||||||
/// and thus we wait until the first one publishes at least one message.
|
/// and thus we wait until the first one publishes at least one message.
|
||||||
static volatile GPS *_secondary_instance;
|
|
||||||
|
|
||||||
|
static volatile GPS *_secondary_instance;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to configure the GPS, handle outgoing communication to the GPS
|
* Try to configure the GPS, handle outgoing communication to the GPS
|
||||||
|
@ -262,28 +271,10 @@ extern "C" __EXPORT int gps_main(int argc, char *argv[]);
|
||||||
|
|
||||||
GPS::GPS(const char *path, gps_driver_mode_t mode, GPSHelper::Interface interface, bool fake_gps,
|
GPS::GPS(const char *path, gps_driver_mode_t mode, GPSHelper::Interface interface, bool fake_gps,
|
||||||
bool enable_sat_info, Instance instance) :
|
bool enable_sat_info, Instance instance) :
|
||||||
_serial_fd(-1),
|
|
||||||
_baudrate(0),
|
|
||||||
_healthy(false),
|
|
||||||
_mode_changed(false),
|
|
||||||
_mode(mode),
|
_mode(mode),
|
||||||
_interface(interface),
|
_interface(interface),
|
||||||
_helper(nullptr),
|
|
||||||
_sat_info(nullptr),
|
|
||||||
_report_gps_pos{},
|
|
||||||
_report_gps_pos_pub(nullptr),
|
|
||||||
_gps_orb_instance(-1),
|
|
||||||
_p_report_sat_info(nullptr),
|
|
||||||
_report_sat_info_pub(nullptr),
|
|
||||||
_rate(0.0f),
|
|
||||||
_rate_rtcm_injection(0.0f),
|
|
||||||
_last_rate_rtcm_injection_count(0),
|
|
||||||
_fake_gps(fake_gps),
|
_fake_gps(fake_gps),
|
||||||
_instance(instance),
|
_instance(instance)
|
||||||
_orb_inject_data_fd(-1),
|
|
||||||
_dump_communication_pub(nullptr),
|
|
||||||
_dump_to_device(nullptr),
|
|
||||||
_dump_from_device(nullptr)
|
|
||||||
{
|
{
|
||||||
/* store port name */
|
/* store port name */
|
||||||
strncpy(_port, path, sizeof(_port));
|
strncpy(_port, path, sizeof(_port));
|
||||||
|
|
Loading…
Reference in New Issue