MRAS
Multi Rocket Avionics System
Loading...
Searching...
No Matches
Sensor_ZOEM8Q Class Reference

A subsystem for the Ublox ZOEM8Q GNSS module. More...

#include <Sensor_ZOEM8Q.h>

Inheritance diagram for Sensor_ZOEM8Q:
Inheritance graph
Collaboration diagram for Sensor_ZOEM8Q:
Collaboration graph

Public Member Functions

 Sensor_ZOEM8Q (uint8_t id, TwoWire &pipe, uint32_t freq)
 Construct a new Sensor_ZOEM8Q object.
 
int8_t setup () override
 
int8_t loop () override
 
int8_t performOnlineAssist ()
 
SUBSYSTEM_NO_MESSAGE_HANDLER SUBSYSTEM_NAME ("ZOEM8Q")
 
- Public Member Functions inherited from Subsystem
virtual const char * get_name ()=0
 
virtual int8_t setup ()=0
 
virtual int8_t loop ()=0
 
uint8_t get_id () const
 
int8_t get_status () const
 
int8_t self_test () const
 
bool add_subscriber (Subsystem *subscriber)
 
 Subsystem (uint8_t id)
 

Static Public Member Functions

static uint16_t GPSweek ()
 
static uint32_t actualTimeOfWeekms ()
 

Additional Inherited Members

- Protected Member Functions inherited from Subsystem
void log (const char fmt[],...)
 
virtual void on_message (SystemMessage *msg)=0
 
void publish (SystemMessage *msg)
 
- Static Protected Member Functions inherited from Subsystem
static void buzzer (uint16_t frequency, uint32_t duration, bool block=false)
 
- Protected Attributes inherited from Subsystem
int8_t status = 0
 
int8_t self_test_result = -1
 

Detailed Description

A subsystem for the Ublox ZOEM8Q GNSS module.

This Subsystem handles the setup and reading of data from the ZOEM8Q GNSS module.

This Subsystem emits GNSSDataMsg messages to its subscribers.

Constructor & Destructor Documentation

◆ Sensor_ZOEM8Q()

Sensor_ZOEM8Q::Sensor_ZOEM8Q ( uint8_t  id,
TwoWire &  pipe,
uint32_t  freq 
)
inline

Construct a new Sensor_ZOEM8Q object.

Parameters
idThe ID of the Subsystem
pipeThe I2C bus to use
freqThe frequency to use for the I2C bus

Member Function Documentation

◆ loop()

int8_t Sensor_ZOEM8Q::loop ( )
overridevirtual

1: no fix, 2: 2D fix, 3: 3D fix 4: GNSS + dead reckoning combined, 5: time only fix

Implements Subsystem.

◆ performOnlineAssist()

int8_t Sensor_ZOEM8Q::performOnlineAssist ( )

------— AIDING SEQUENCE------— Datasheet section 13.5 (pg. 34) — Note that we are altering the AID_INI part of the message and leaving the rest as is. — • Power-up the GPS receiver • Send UBX-AID-INI (time, clock and position) message. • Send UBX-AID-EPH (ephemeris) message. • Apply optional hardware time synchronization pulse within 0.5 s after (or before, depending on the configuration in UBX-AID-INI) sending the UBX-AID-INI message if hardware time synchronization is required. When sending the message before applying the pulse, make sure to allow the GPS receiver to parse and process the aiding message. The time for parsing depends on the baud rate. The processing time is 100 ms maximum. • Send optional UBX-AID-HUI (health, UTC and ionosphere parameters) message. • Send optional UBX-AID-ALM (almanac) message.

this file ("mgaonline.ubx") should be loaded into the onboard SD card the file should be obtained from the ublocks server the generator token for that can be obtained from thingstream from ublocks See https://developer.thingstream.io/guides/location-services/assistnow-getting-started-guide for more details

Note: The file needs to be called "mgaonline.ubx" and placed in the root of the SD card

◆ setup()

int8_t Sensor_ZOEM8Q::setup ( )
overridevirtual

Implements Subsystem.


The documentation for this class was generated from the following files: