The Modules
Modulation Library: The modulation library handles the conversions from messages to tones and vice versa. There are two primary functions, Msg2Tones and Tones2Msg. The former is used by the transmit machine and the latter by the receive machine.
|
|
Game Queues: This module is responsible for performing a queuing action to store messages that each station wants to send (transmission queue) and needs to receive (reception queue). Upon receiving a message, the message is stored in the station's queue, and an event is posted to the Game Play machine. Once there, the station can dequeue the message and process it. Same applies for transmission. If the station needs to transmit something, it adds it to the queue, and when the transmit machine is ready to transmit, it pulls the message out of the queue. All the queues are setup to be FIFO.
|
|
Game Play Status: This module tracks the status of all the teams playing and checks for the sync and next turn criteria at the end of each communication session. The four important statuses the module tracks are whether a station is ready to turn, putting out a sync, is offline, or is dead. The module also tracks the current game turn and stores the position of the submarine. A handful of getter and setter functions allow other modules to access and modify certain information as needed.
|
|
Servo Control: This module controls the servo that presses the key to allow transmission over the Mumble audio line. Tuning of the servo throw occurs here.
|
|
IO Control: This module handles the lighting of the LEDs to send messages to the user about what the station is doing or receiving.
|
|
Other File Listings
.c files
|
.h files
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
isr.c | |
File Size: | 0 kb |
File Type: | c |
|