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 145
CONFIDENTIAL
Information classified Confidential
-
Do not copy (See last page for obligations)
An ORBCOMM packet is constructed specifying a particular type of ORBCOMM message, based
on packet descriptions in the ORBCOMM Serial Interface Specification. The packet is queued to
the OSI using
MSG_queueOsiPkt()
. The module contains utilities as well as functions to
read and write ORBCOMM parameters (
CFG_getValOrb()
and
CFG_setValOrb()
). The
QUAKE event structure provides the application easy access to much of the ORBCOMM
functionality; for example, in the
SAT_IN_VIEW, MESSAGE_ACK
, and
RX_SER_PKT
cases,
which are executed when the corresponding event is posted. A message received by the
Q4000/QPRO is handled by the application in the appropriate sub-case of the
RX_SER_PKT
case.
15.9 J1939 module (Controller Area Network - CAN)
The J1939 module supports use of the Controller Area Network (CAN) hardware, and the
protocols using CAN. Currently, J1939 is the only CAN protocol supported. Most calls to setup
and configure the CAN hardware and J1939 stack are handled automatically by the foundation
code. Typically, an application would request a J1939 message containing a particular
Parameter Group Number (PGN) using the call
J1939_getPgnMsg()
.
The structure for a QCAN_J1939Msg can be found in
User_libQuake.h
. The offsets for
various SPNs (Suspect Parameter Numbers) in the message data buffer are specified by the
Society of Automotive Engineers (SAE), and described in their document, J1939-71. In the
DemoAppCAN example, the application requests and receives a specific PGN and SPN from the
message. The application structure is set to field a
CAN_MSG
event, in the corresponding
CAN_MSG
case. In the rare case in which a desired PGN is not spontaneously transmitted on the
bus, an request for that PGN must be transmitted, using the API call
J1939_txRequestMsg()
.
15.10 QCFG module (Configuration)
The QCFG module provides an interface to manipulate QUAKE’s configuration parameters. The
current set of QUAKE parameters may be viewed from the Logger port of the Q4000/QPRO; in
the Logger type ‘U’ ‘C’ ‘v’. Parameters may be numeric or strings. The API call to this module is
QCfg_getQCfgPtr(
), which returns a pointer to the configuration structure.
15.11 QEV module (Events)
The QEV module implements functions related to QUAKE’s event processing. The application
relies on the event processing supported in the foundation code, by executing code when specific
events are posted to the application. This activity can be seen in all of the DemoApps in
Section 12.4. In addition, the application may post an event by calling
QEV_sendEvent()
.
The public APIs in this module also provide the utility,
QEV_getEventDefinition()
, which
returns a pointer to the name of the event whose number is passed as a parameter.
15.12 QLM module (Logger)
The Logger port of the QUAKE modems provides a wealth of information and functionality.
Typically, messages about modem status such as downlink information, state transitions, or error
messages are printed to the Logger port. Debug and Utility menus and features are accessed
from the Logger port. The QLM module’s public APIs allow the application to post messages to
the Logger using
LOG_print()
or to suspend Logger output entirely using
LOG_suspend()
.
The function,
LOG_logErrorMsg()
provides a way to print error messages to the Logger,