Specifications

105
The control box unit communication will be slightly different. The only
communication on the control box unit will be the transceiver. This will be
handled wirelessly, and handled by a routine that will retrieve the message and
deal with it accordingly. The data that will be processed from the hand held unit
will be received by the control box unit transceiver. From this point the data will
be accounted for and processed. Once processed, the information will be stored
in the memory location allocated for the results in RAM. The RAM will specifically
be used for the calculating process.
With the hand held unit and the control box having such a different
communication platform, the best way to ensure that each of them is
communicating correctly is send a message via wireless and wait for a response
from each unit. When the control box unit sends a message to request for
authentication then a wireless message should be sent to the control box unit
and then the hand held unit will be able to communicate appropriately with the
control box unit.
4.2.1 Wireless Communications Functions
Table 4.2.1-1 is a list of the C functions that comprise the wireless
implementation of the SimpliciTI software stack. They were utilized by both the
handheld breathalyzer and the automobile unit for the purposes of wireless
message passing, using the CC2500 wireless transceiver.
Function
Description
void createRandomAddress()
This function uses a random seed integer,
sourced from the VLO to generate a random
32-bit wireless physical address. If the
address has been generated previously and
stored in Flash, this function is ignored
void linkTo()
Runs until a link is established with a local
peer
void initRadio()
Invokes functions to create address and link
with peers. Exits on successful link and reply
void sendWirelessData(int x)
Transfers a single integer over the wireless
link by converting the input integer to a 32-bit
output string
Table 4.2.1-1 Functional Breakdown of Wireless Functions