Specifications

7.4. SOFTWARE DESIGN
Although a library is provided with Microchip’s C18 compiler for controlling
such LCD displays, we opted to write our own functions in order to include
additional functionality.
Input is in the form of a single push button. Pressing this button invokes
the low priority ISR which registers the button press and begins the upload
procedure. The GSM module is initialised as part of this process and SMS
settings collected. Thus, along with a facility to SMS the unit, it is the only
input required to change any setting immediately. The device automatically
checks for received SMSed configuration changes every time it uploads an
email. Only one SMS is interpreted per GSM connection. This interface is
not intended for initial system configuration, but rather small adjustments
such as time setting or to add a peripheral. Alternatively, there is the option
to reconfigure the device locally using an RS232 link to a host computer
or PDA via a terminal application. This interface is better suited to initial
system configuration.
7.4.4 Peripheral Poll FSM
The peripheral poll FSM employs four global arrays to perform the function
of polling each peripheral with a custom, individually defined period. Each
element of these arrays represents one of the attached peripherals. Another
eight bit global variable keeps track of the number of installed peripherals.
1. Peripheral poll period
2. Peripheral timer
3. Peripheral poll request status
4. Peripheral address
The “peripheral poll period” array is a pre- set array housing the periods
(in seconds) which must elapse between polls for that peripheral. This value
is used to initialise the peripheral timer array which stores the remaining
time (in seconds) which must elapse before that p e ripheral is polled. Every
element of this timer array is automatically decremented during an RTC
78