43 #include "../../definitions.h" 49 #define ERB_HEADER_LEN 5 51 #define ERB_SENTENCE_MAX_LEN (sizeof(erb_message_t)) 53 #define MAX_CONST(a, b) ((a>b) ? a : b) 149 int receive(
unsigned timeout)
override;
erb_navigation_status_t navigation_status
uint16_t _erb_payload_len
unsigned _sentence_cnt
counts decoded sentence when testing connection
GPSDriverEmlidReach(GPSCallbackPtr callback, void *callback_user, struct vehicle_gps_position_s *gps_position, struct satellite_info_s *satellite_info)
struct vehicle_gps_position_s * _gps_position
Pointer provided by caller, ie gps.cpp.
erb_geodic_position_t geodic_position
ERB_State _erb_decode_state
NMEA parser state machine.
erb_checksum_t _erb_checksum
Buffer used by parser to build ERB checksum.
erb_message_t _erb_buff
Buffer used by parser to build ERB sentences.
uint32_t _last_VEL_timeGPS
int erbParseChar(uint8_t b)
Feed ERB parser with received bytes from serial.
int(* GPSCallbackPtr)(GPSCallbackType type, void *data1, int data2, void *user)
Callback function for platform-specific stuff.
virtual ~GPSDriverEmlidReach()=default
uint32_t _last_POS_timeGPS
int handleErbSentence()
ERB sentence into vehicle_gps_position_s or satellite_info_s, to be used by GPSHelper.
struct satellite_info_s * _satellite_info
Pointer provided by caller, gps.cpp.
uint8_t _erb_checksum_cnt
void computeNedVelocity()
erb_ned_velocity_t ned_velocity
Driver class for Emlid Reach Populates caller provided vehicle_gps_position_s Some ERB messages are c...
int configure(unsigned &baudrate, OutputMode output_mode) override
configure the device
int receive(unsigned timeout) override
receive & handle new data from the device