|
PX4 Firmware
PX4 Autopilot Software http://px4.io
|
GPS driver base class with Base Station Support. More...
#include <base_station.h>
Classes | |
| struct | BaseSettings |
| struct | FixedPositionSettings |
| struct | SurveyInSettings |
Public Member Functions | |
| GPSBaseStationSupport (GPSCallbackPtr callback, void *callback_user) | |
| virtual | ~GPSBaseStationSupport ()=default |
| void | setSurveyInSpecs (uint32_t survey_in_acc_limit, uint32_t survey_in_min_dur) |
| set survey-in specs for RTK base station setup (for finding an accurate base station position by averaging the position measurements over time). More... | |
| void | setBasePosition (double latitude, double longitude, float altitude, float position_accuracy) |
| Set a fixed base station position. More... | |
Public Member Functions inherited from GPSHelper | |
| GPSHelper (GPSCallbackPtr callback, void *callback_user) | |
| virtual | ~GPSHelper ()=default |
| virtual int | configure (unsigned &baud, OutputMode output_mode)=0 |
| configure the device More... | |
| virtual int | receive (unsigned timeout)=0 |
| receive & handle new data from the device More... | |
| virtual int | reset (GPSRestartType restart_type) |
| Reset GPS device. More... | |
| float | getPositionUpdateRate () |
| float | getVelocityUpdateRate () |
| void | resetUpdateRates () |
| void | storeUpdateRates () |
Protected Types | |
| enum | BaseSettingsType : uint8_t { BaseSettingsType::survey_in, BaseSettingsType::fixed_position } |
Protected Attributes | |
| BaseSettings | _base_settings |
Protected Attributes inherited from GPSHelper | |
| GPSCallbackPtr | _callback {nullptr} |
| void * | _callback_user {} |
| uint8_t | _rate_count_lat_lon {} |
| uint8_t | _rate_count_vel {} |
| float | _rate_lat_lon {0.0f} |
| float | _rate_vel {0.0f} |
| uint64_t | _interval_rate_start {0} |
Additional Inherited Members | |
Public Types inherited from GPSHelper | |
| enum | OutputMode : uint8_t { OutputMode::GPS = 0, OutputMode::RTCM } |
| enum | Interface : uint8_t { Interface::UART = 0, Interface::SPI } |
Protected Member Functions inherited from GPSHelper | |
| int | read (uint8_t *buf, int buf_length, int timeout) |
| read from device More... | |
| int | write (const void *buf, int buf_length) |
| write to the device More... | |
| int | setBaudrate (int baudrate) |
| set the Baudrate More... | |
| void | surveyInStatus (SurveyInStatus &status) |
| void | gotRTCMMessage (uint8_t *buf, int buf_length) |
| got an RTCM message from the device More... | |
| void | setClock (timespec &t) |
Static Protected Member Functions inherited from GPSHelper | |
| static void | ECEF2lla (double ecef_x, double ecef_y, double ecef_z, double &latitude, double &longitude, float &altitude) |
| Convert an ECEF (Earth Centered Earth Fixed) coordinate to LLA WGS84 (Lat, Lon, Alt). More... | |
GPS driver base class with Base Station Support.
Definition at line 49 of file base_station.h.
|
strongprotected |
| Enumerator | |
|---|---|
| survey_in | |
| fixed_position | |
Definition at line 89 of file base_station.h.
|
inline |
Definition at line 52 of file base_station.h.
References ~GPSBaseStationSupport().
|
virtualdefault |
|
inline |
Set a fixed base station position.
This can be used if the base position is already known to avoid doing a survey-in.
| latitude | [deg] |
| longitude | [deg] |
| altitude | [m] |
| position_accuracy | 3D position accuracy (set to 0 if unknown) [mm] |
Definition at line 78 of file base_station.h.
References _base_settings, GPSBaseStationSupport::FixedPositionSettings::altitude, fixed_position, GPSBaseStationSupport::BaseSettings::fixed_position, GPSBaseStationSupport::FixedPositionSettings::latitude, GPSBaseStationSupport::FixedPositionSettings::longitude, GPSBaseStationSupport::FixedPositionSettings::position_accuracy, GPSBaseStationSupport::BaseSettings::settings, and GPSBaseStationSupport::BaseSettings::type.
|
inline |
set survey-in specs for RTK base station setup (for finding an accurate base station position by averaging the position measurements over time).
| survey_in_acc_limit | minimum accuracy in 0.1mm |
| survey_in_min_dur | minimum duration in seconds |
Definition at line 63 of file base_station.h.
References _base_settings, GPSBaseStationSupport::SurveyInSettings::acc_limit, GPSBaseStationSupport::SurveyInSettings::min_dur, GPSBaseStationSupport::BaseSettings::settings, survey_in, GPSBaseStationSupport::BaseSettings::survey_in, and GPSBaseStationSupport::BaseSettings::type.
|
protected |
Definition at line 110 of file base_station.h.
Referenced by GPSDriverAshtech::activateCorrectionOutput(), GPSDriverSBF::configure(), GPSDriverAshtech::handleMessage(), GPSDriverUBX::restartSurveyIn(), GPSDriverUBX::restartSurveyInPreV27(), GPSDriverAshtech::sendSurveyInStatusUpdate(), setBasePosition(), and setSurveyInSpecs().