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.

NameDataTypeSize (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)

Countuint32_t32(Every time it recieves LoRa packets / transmits Ethernet to GSE)


Tasks

NameResponsibilityPriority
GNSS ProcessingRead in GNSS data, log it and transmit it over LoRaHigh
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 ReceiveReceive data from other modules through Ethernet and queue it for transmission over LoRaMedium


Callbacks

NameResponsibility


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!