Specifications
28
register(s) appropriately.
Device Drivers
The device drivers represent most of the device specific code in the firmware. Supp ort
for all hardware features are found here. The only requirement for this module is that the
feature functions correctly with as little resource use as possible. Below is the list of drivers
that must be elaborated on:
1. Serial Communications- Driver must contain handlers for transmitting and r eceiv-
ing using one of the MCU’s UARTs. Drivers must support low-overhead interrupts
to accomplish full-duplex d ata transfers. This driver is allowed one static buffer to
store received data. The drivers are responsible for encapsulating messages with cyclic
redundancy checks (CRC) for error detection.
2. ZigBee Communications- This driver must handle the low-level UART communi-
cations supported by the MCU. I t mus t also format and interpret any messages to be
used by a ZigBee radio. Other support for radio commands and radio updates must
also be d efi ned.
3. Removable Flash Memory Disk Controller- This driver must contain all the
necessary disk I/O functionality so that the file system layer can access the d isk. This
may include functions to activate, deactivate, read, write, erase, and format the disk.
4. SDI-12 Communications- Driver must support message passing compliant to the
SDI-12 V1.3 specification.
5. Analog Measurement- This driver mu s t operate all hardware n ecessary to convert
analog signals to digital values.
6. Digital Measurement- This driver must operate all hardware necessary to charac-
terize digital signals. This may include timer and capture/compare hardware manip-
ulation.