Specifications

AVIDdirector-M2M Technical Reference Guide
February 5, 2009 ©AVIDwireless 2004-2009 All Rights Reserved Page 11 of 55
2. Communicator. A Communicator is instantiated for each Radio class in the system. It performs the
interface between the M2MXML packets the calling the appropriate method for the radio to send and receive
messages. When a message is sent, the Communicator ensures the Radio has sent the message correctly or
tracks retry attempts by the Radio. Each Communicator has a queue of 25 outgoing and incoming messages. If
this queue becomes full then either the AVIDirectorApp isn't handling the messages correctly or the Radio
cannot send out the messages and a fatal Error condition is raised. This thread is monitored every 120 seconds
to allow for a long retry time for a Radio. If the Radio doesn't respond, or is hung, or the serial communication
dies, then the Communicator thread won't update the WDT and will trigger a fault condition.
3. Radio. Within the Radio, there may be threads that need to be monitored. Not all Radios require this. For
example, in the AT_Radio_Modem class, the super class for all PPP type radios (GPRS, CDMA, iDEN, XPORT
Ethernet), when the PPP link thread is alive it is monitored. When the PPP thread dies at the end of
communication, then the thread is no longer monitored and removed the list of monitored threads. Each Radio
class also monitors its own state and will raise a Fatal Error when it cannot continue correctly. For example, if
the AT_Radio_Modem class cannot establish a PPP link 5 times in a row, or the modem doesn't respond to
commands, then it wants the device to be reset.
4. IODevice. This handles all the internal I/O Devices on AVIDirector-M2M (TTL, HVC lines) and additional
I/O devices (RFID, GPS, etc.). Each I/O device is supposed to perform its operation in a minimal amount of
time, or it needs to start a thread to handle longer operations. The I/O Device drive will start to be monitored
when it starts an I/O operation and stop monitoring when the I/O operation is complete. These operations should
take less than a second, but a 60 second window is currently set to allow for longer I/O operations such as
reading an RFID tag or acquiring a GPS lock.