User Manual Part 6

User Guide to Q4000/QPRO
Document Number 1135-4713 Rev G
THIS DOCUMENT CONTAINS CONFIDENTIAL AND PROPRIETARY INFORMATION OF QUAKE GLOBAL CORPORATION. IT MAY BE USED BY
RECIPIENT ONLY FOR THE PURPOSE FOR WHICH IT WAS TRANSMITTED AND WILL BE RETURNED UPON REQUEST OR WHEN NO LONGER NEEDED
BY RECIPIENT. DISCLOSURE TO UNAUTHORIZED THIRD PARTIES OR DUPLICATION WITHOUT THE EXPRESS WRITTEN PERMISSION OF QUAKE
GLOBAL IS PROHIBITED.
Page 143
CONFIDENTIAL
Information classified Confidential
-
Do not copy (See last page for obligations)
Please see the API Function Reference for detailed explanations on how to make function calls to
all the various tasks, drivers and objects operating on the modem.
QUAKE modems contain factory-installed foundation firmware that consists of the following
components:
QUAKE Real-Time Operating System (RTOS)
QUAKE Flash File System (FFS)
Hardware drivers ( ADC, DIO, Relay, Serial Ports, GPS, etc.)
QUAKE foundation software RTOS tasks
Digital Signal Processing executables
QUAKE code providing the event and application frameworks
It is not necessary to understand the operation of each of these modules in detail. The API
Function Reference provides the information that an application programmer is likely to need,
listing the functions available, information about the parameters and returns for the functions, as
well as additional notes and example code. A brief overview of the firmware modules, including
an overview of the module’s purpose and description of the more common calls, is provided
below.
15.1 ADC module (Analog to Digital Converter)
The ADC module provides access to the analog to digital converter hardware on the
Q4000/QPRO. The value of external analog inputs in the range 0 to 3.5 V applied to pins 29 and
31 of the external connector, may be read using the
ADC_readChannel()
function. As noted
in the API Function Reference,
ADC_readChannel()
should be called from a single task,
usually the application task.
15.2 APL module (Applications)
The APL module implements certain features which may be needed by specific applications. If
an application is designed to handle a specific AT command set, such as from an external
modem, APL_registerATCmdHandler() is used to register the handler for that device.
Messages specific to that type of AT command are sent to the application using the queue set up
by the function APL_msgQueueCreate(). Executables that an application needs to download
can be transferred into application memory via APL_loadObjects(). Other related APIs are
provided by the module described in the API Function Reference.
15.3 DIO module (Digital Input/Output)
There are 8 digital input/output lines on the Q4000/QPRO, accessed through pins 32-39. The
DIO module provides APIs to manipulate this hardware. Lines may be configured individually as
either inputs or outputs using the DIO_config(chan, direction) function, where the
second parameter may be either DIO_INPUT (0) or DIO_OUTPUT (1). All DIOs configured as
inputs have a weak pull-down resistor in the input circuitry, so an open is reliably sensed as low.
The 8 lines may be read as a group using DIO_readAll(). The nth bit in the value returned by
the call will be 1 or 0 when the nth channel is high or low, respectively. Lines configured as
outputs may be written by DIO_writeChannel().