Radio Transmitter Device
The Radio Transmitter has the job of filtering serial messages sent by a DL1 data logger, and subsequently transmitting these messages over a radio link. The firmware component responsible for buffering filtering and subsequent retransmission of data is referred to as the Telemetry sub-system. The following figure illustrates its operation:
Figure 3 Telemetry system operation
The following operations take place inside the Radio Transmitter :
Read Serial messages
Serial messages are read in from a serial data source i.e. a DL1 data logger and stored in a data buffer
Serial Processor
Data from the buffer is read out and is sent thorough the serial processor. The serial processor reads in a complete serial message at a time and verifies messages. The processor will ensure that the message has not been corrupted by noise on the serial line by way of the message checksum. The message will then be handed over to the Telemetry sub-system.
Data buffer selection logic/Message Filtering
Once handed over to the Telemetry sub-system, a decision has to be made as to where to temporarily store the message prior to retransmission.
Each serial message has a message type (hardware channel ID). This channel id specifies what kind of information is contained in the message. The update rate table specifies the update rate of each hardware channel. Update rates can be user configured using the Radio Configuration software tool (refer
..). The following update rates are used:
- Update Never messages are disregarded
- Update Always high priority messages (saved in high priority buffer)
- Otherwise low priority messages (saved in low priority buffer)
Data Buffers
As can be seen from Figure 3 there are two buffers used in use;
- High priority buffer this is simply a FIFO data buffer. High priority messages are saved to this data buffer. This ensures that all high priority messages are queued for resending
- Low priority buffer this is a special type of data buffer, where a separate data structure exists for each hardware channel. The structure is as follows;
| Member | Usage |
| MessageData | Message buffer used to hold the latest message of the given type |
| TimeLastSent | Timestamp the time at which the last message was sent |
| MessageLength | Length of message in MessageData buffer |
| NewDataAvailable | Indicates whether a new message of the given type is available in the data buffer |
- Once a new message of a given type arrives, the older message of the same type is overwritten. Additionally a flag is set indicating that a new message of the given type is available in the buffer i.e. NewDataAvailable is set to 1 (True)
Prepare next radio packet payload
From time-to-time the radio sub-system will request the Telemetry sub-system for a new packet payload. The telemetry system will then execute the algorithm given by Figure 4 to decide on what packet to send next.
Figure 4 Preparation of next radio packet payload