Radio Module Software Design
Introduction
The radio module is responsible for sending GPS data received from its u-blox chip and data received from ethernet,
This page reflects the software design for the first revision of the sensor module
Data
This will only cover data the radio module produces itself. Not data it receives from other sources.
Name | Data | Type | Size (bytes) | Sample Rate (Hz) |
---|---|---|---|---|
GNSS (Transmitter Only) | Latitude Longitude Altitude Number of Satellites | float float float uint8_t | 32 32 32 8 | 20 (TBD based on configuration) |
Update Counter (Receiver Only) | Count | uint32_t | 32 | (Every time it recieves LoRa packets / transmits Ethernet to GSE) |
Tasks
Name | Responsibility | Priority |
---|---|---|
GNSS Processing | Read in GNSS data, log it and transmit it over LoRa | High |
Ethernet Telemetry Transmission | Take telemetry data from the Ethernet Rx queue, construct a LoRa packet and send it. The first 2 bytes of these LoRa packets should contain the UDP port number for Ethernet packet reconstruction when received | Medium |
Ethernet Receive | Receive data from other modules through Ethernet and queue it for transmission over LoRa | Medium |
Callbacks
Name | Responsibility |
---|---|
LoRa Receive | Receive data from GSE to process new configurations or notify of being close to liftoff as a third redundancy if liftoff detection fails on either the sensor or radio module Callback should be blocked once liftoff is detected to avoid possible legal repercussions. Don't turn our rocket into a missile! |