SAT 200 Scripting API and Command Interface

138
SAT-200/202 Scripting API and Command Interface Commercial In Confidence Document No: GDN-0559 Issue: 3 Copy No: ................. Date: 17th November 2011 SAT-200/202 SCRIPTING API AND COMMAND INTERFACE Project: PRN-0090

Transcript of SAT 200 Scripting API and Command Interface

Page 1: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface

Commercial In Confidence

Document No: GDN-0559 Issue: 3 Copy No: ................. Date: 17th November 2011

SAT-200/202 SCRIPTING API AND COMMAND INTERFACE

Project: PRN-0090

Page 2: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page i of viii

Commercial In Confidence

CONFIDENTIAL, UNPUBLISHED PROPERTY OF Honeywell Global Tracking.

USE AND DISTRIBUTION LIMITED SOLELY TO AUTHORISED PERSONNEL The use, disclosure, reproduction, modification, transfer or transmittal of this work for any purpose, in any form, or by any

means without the prior written permission of Honeywell Global Tracking is strictly prohibited. © 2011 Honeywell Global Tracking. All Rights Reserved.

Amendment Record

Issue Description Date Implemented By Approved By

1 Initial Issue 22 Apr 2009 John Hatherall John Hatherall

2 New Configuration Register for V1.10 Firmware 5 Nov 2010 Ian Okey

3 Rebranding 21 Nov 2011 Alan Clarke Mike Callender

Page 3: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page ii of viii

Commercial In Confidence

CONTENTS

1  INTRODUCTION ............................................................................................................. 1 2  TERMINAL DETAILS ..................................................................................................... 2 

2.1  Processors .............................................................................................................. 2 2.2  Physical Interface .................................................................................................... 2 

3  PROGRAMMING MODEL .............................................................................................. 3 4  SCRIPTING OVERVIEW ................................................................................................ 4 5  SCRIPTING MODULES AND REGISTERS ................................................................... 5 

5.1  Functional Modules ................................................................................................. 5 5.2  Registers ................................................................................................................. 6 

5.2.1  Configuration Module Registers .......................................................................... 7 5.2.2  Timer Module Registers ...................................................................................... 8 5.2.3  Alarm Module Registers .................................................................................... 10 5.2.4  Interface Module Registers ............................................................................... 12 5.2.5  GPS Module Registers ...................................................................................... 13 5.2.6  Messaging Module Registers ............................................................................ 14 5.2.7  Scratchpad Module Registers ........................................................................... 15 5.2.8  Operation Configuration Registers .................................................................... 16 5.2.9  Constant Generator Registers ........................................................................... 17 

5.3  Configuration Module ............................................................................................ 18 5.3.1  Ocean Region Selection Register ..................................................................... 18 5.3.2  Service ID Selection Register ............................................................................ 18 5.3.3  Satellite Selection Mode .................................................................................... 19 5.3.4  Power Control Register ..................................................................................... 20 5.3.5  DSP Firmware Version Number ........................................................................ 21 5.3.6  MSP Firmware Version Number ........................................................................ 21 5.3.7  Application Script Version Number .................................................................... 21 5.3.8  Store Application Script ..................................................................................... 21 5.3.9  Delete Application Script ................................................................................... 21 5.3.10  Power Supply Status ..................................................................................... 21 5.3.11  NMEA Message Output ................................................................................. 22 5.3.12  Slotted Receive Mode Register ..................................................................... 22 5.3.13  Slotted Receive Mode Maximum Acquisition Retries .................................... 22 5.3.14  ISN, & PSN .................................................................................................... 23 5.3.15  Hardware Version .......................................................................................... 23 5.3.16  Group PID ..................................................................................................... 23 5.3.17  Service ID / Beam ID ..................................................................................... 23 5.3.18  Operational Flags .......................................................................................... 23 5.3.19  Terminal Mobility ........................................................................................... 23 5.3.20  Firmware Operating Mode ............................................................................. 23 5.3.21  PACC Enable ................................................................................................ 24 5.3.22  GEM Compatibility Enable ............................................................................ 24 5.3.23  Terminal Reset .............................................................................................. 24 5.3.24  Scripting Capabilities ..................................................................................... 24 

5.4  Timer Module ........................................................................................................ 25 5.4.1  Timer Functionality ............................................................................................ 25 5.4.2  Timer Count Register ........................................................................................ 25 5.4.3  Timer Configuration Register ............................................................................ 25 5.4.4  Timer Control ..................................................................................................... 26 5.4.5  Mixed Timer/Alarm Operations .......................................................................... 27 

Page 4: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page iii of viii

Commercial In Confidence

5.4.6  Real Time Functionality ..................................................................................... 28 5.5  Alarm Module ........................................................................................................ 29 

5.5.1  Alarm Functionality ............................................................................................ 29 5.5.2  Alarm Control/Status ......................................................................................... 29 5.5.3  Alarm Configuration ........................................................................................... 30 5.5.4  Alarm Threshold ................................................................................................ 31 5.5.5  Alarm Control .................................................................................................... 31 

5.6  Interface Module.................................................................................................... 33 5.6.1  I/O Configuration Register ................................................................................. 33 5.6.2  Analogue Inputs ................................................................................................ 34 5.6.3  Digital Inputs ...................................................................................................... 34 5.6.4  Digital Outputs ................................................................................................... 35 5.6.5  Processor Supply Voltage ................................................................................. 35 5.6.6  External Supply Voltage .................................................................................... 35 5.6.7  GEM-100 Battery Supply Voltage ..................................................................... 35 5.6.8  Device Temperature .......................................................................................... 36 5.6.9  Calibrated Temperature .................................................................................... 36 5.6.10  GEM-100 Battery Temperature ..................................................................... 36 5.6.11  GEM-100 Battery Power Output .................................................................... 36 5.6.12  GEM-100 User LED State ............................................................................. 36 

5.7  GPS Module .......................................................................................................... 37 5.7.1  Current Position ................................................................................................. 37 5.7.2  Reference Position ............................................................................................ 38 5.7.3  Target Positions ................................................................................................ 38 5.7.4  NMEA registers ................................................................................................. 39 5.7.5  Last GPS fix ...................................................................................................... 39 5.7.6  Geofence ........................................................................................................... 39 

5.8  Messaging Module ................................................................................................ 41 5.8.1  Return Burst Message ID Register .................................................................... 41 5.8.2  Return Burst Destination Address Register ....................................................... 42 5.8.3  Combined Control Word and Destination Address ............................................ 42 5.8.4  Return Burst Acknowledge Flags ...................................................................... 42 5.8.5  Return Burst Control Flags ................................................................................ 42 5.8.6  Return Channel Message Scrambling Vector ................................................... 42 5.8.7  Terminal Receiver Status Registers .................................................................. 43 5.8.8  Terminal Transmitter Status Register ................................................................ 43 5.8.9  Transmit Randomisation Period ........................................................................ 44 5.8.10  Transmit Retries ............................................................................................ 45 5.8.11  Receive Signal Level ..................................................................................... 45 5.8.12  Receive Frequency Offset ............................................................................. 45 5.8.13  Receive Rate of Change Frequency ............................................................. 45 5.8.14  Receive Symbol Errors .................................................................................. 45 5.8.15  Number of Messages in the Transmit Queue ................................................ 45 5.8.16  Transmit Queue Configuration ...................................................................... 45 5.8.17  Poll Message Control Registers .................................................................... 46 5.8.18  Tone Only Message Response Registers ..................................................... 46 5.8.19  Forward Channel Message Output Mode Register ....................................... 46 

5.9  Scratchpad Module ............................................................................................... 47 5.9.1  Scratchpad Register Special Functions ............................................................ 47 

5.10  Operations Module ................................................................................................ 48 5.10.1  Operation Definitions ..................................................................................... 48 5.10.2  Operation Configuration Register .................................................................. 48 

Page 5: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page iv of viii

Commercial In Confidence

5.10.3  Operation Value Register .............................................................................. 50 5.10.4  Disable Operations ........................................................................................ 50 5.10.5  Enable Operations ......................................................................................... 50 5.10.6  Reset Operations .......................................................................................... 50 5.10.7  Trigger Operations ........................................................................................ 50 

5.11  Constant Generator Module .................................................................................. 51 6  OVER AIR REMOTE CONTROL .................................................................................. 52 

6.1  Trigger Operation Message ................................................................................... 52 6.2  Remote Terminal Poll ............................................................................................ 52 6.3  Remote Digital Output Control .............................................................................. 53 6.4  Set Target Position ................................................................................................ 53 6.5  Read/Write Terminal Register ............................................................................... 54 6.6  Return ‘Read Register’ Message Format .............................................................. 55 

7  SERIAL COMMAND INTERFACE ............................................................................... 56 7.1  Command & Response Formats ........................................................................... 56 

7.1.1  Command format ............................................................................................... 56 7.1.2  Response Format .............................................................................................. 56 

7.2  Command Availability ............................................................................................ 57 7.3  Terminal Configuration Module Commands .......................................................... 58 

7.3.1  CA – Get/Set the Terminal Satellite Selection Mode ......................................... 58 7.3.2  CB – Select Ocean Region ............................................................................... 58 7.3.3  CE – Get/Set the Terminal Power Control State ............................................... 58 7.3.4  CF –Set the Terminal to Factory Defaults ......................................................... 59 7.3.5  CI – Get/Set the Service ID Selection ............................................................... 59 7.3.6  CN – NMEA Message Output Control ............................................................... 60 7.3.7  CP – Get MSP Firmware Version ...................................................................... 60 7.3.8  CR – Reload Terminal Application Script .......................................................... 60 7.3.9  CS – Get/Set Application Script Software Version ............................................ 60 7.3.10  CU – Get/Set Operating Power Mode ........................................................... 61 7.3.11  CV – Get DSP Software Version ................................................................... 61 7.3.12  CW – Wipe Script Software ........................................................................... 62 7.3.13  CZ – Store Script in Non-Volatile Memory ..................................................... 62 

7.4  Interface Module Commands ................................................................................ 63 7.4.1  IA – Get Analogue Input .................................................................................... 63 7.4.2  IC – Configure Inputs/Outputs ........................................................................... 63 7.4.3  ID – Get Digital Inputs ....................................................................................... 64 7.4.4  IE – Get/Set Digital Outputs .............................................................................. 64 7.4.5  II – Get GEM-100 External Power Supply Status .............................................. 64 7.4.6  IP – Get MSP Power Supply Level .................................................................... 65 7.4.7  IO – Configure GEM-100 Battery Power Output ............................................... 65 7.4.8  IQ – Get GEM-100 Battery Temperature .......................................................... 65 7.4.9  IS – Get External Power Supply Level .............................................................. 66 7.4.10  IT – Get Terminal Temperature ..................................................................... 66 7.4.11  IU – Get/SET GEM-100 User LED State ....................................................... 66 7.4.12  IX – Get GEM-100 Battery Power Supply Level ............................................ 67 

7.5  Timer Module Commands ..................................................................................... 68 7.5.1  TC – Configure Timer ........................................................................................ 68 7.5.2  TD – Disable Timers .......................................................................................... 68 7.5.3  TE – Enable Timers ........................................................................................... 68 7.5.4  TM – Get/Set Timer Trigger Value .................................................................... 69 7.5.5  TR – Reset Timers ............................................................................................ 69 7.5.6  TS – Restart Timers .......................................................................................... 69 

Page 6: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page v of viii

Commercial In Confidence

7.5.7  TT – Get Current Time and Date (UTC) ............................................................ 70 7.5.8  TV – Get Current Timer Value ........................................................................... 70 

7.6  Alarm Module Commands ..................................................................................... 71 7.6.1  AC – Configure Alarms ...................................................................................... 71 7.6.2  AD – Disable Alarms ......................................................................................... 71 7.6.3  AE – Enable Alarms .......................................................................................... 71 7.6.4  AF – Trigger Alarms .......................................................................................... 72 7.6.5  AR – Reset Alarms ............................................................................................ 72 7.6.6  AT – Alarm Threshold ....................................................................................... 72 

7.7  Operation Module Commands .............................................................................. 73 7.7.1  OC – Configure Operation ................................................................................. 73 7.7.2  OD – Disable Operations .................................................................................. 73 7.7.3  OE – Enable Operations ................................................................................... 74 7.7.4  OR – Reset Operations ..................................................................................... 74 7.7.5  OT – Trigger Operations ................................................................................... 75 

7.8  GPS Module Commands ....................................................................................... 76 7.8.1  GPS Status and Configuration Commands ....................................................... 76 7.8.2  GPS Position Commands .................................................................................. 77 7.8.3  Geofence Commands ....................................................................................... 79 7.8.4  Reference Position Commands ......................................................................... 81 7.8.5  Target Position Commands ............................................................................... 82 7.8.6  Logging Commands .......................................................................................... 84 

7.9  Messaging Module Commands ............................................................................. 87 7.9.1  Forward Channel Message Handling ................................................................ 87 7.9.2  Return Channel Messaging ............................................................................... 89 

7.10  Scratchpad Module Commands ............................................................................ 94 7.10.1  SR – Read/Set Register ................................................................................ 94 

7.11  Register Direct Access Commands ....................................................................... 95 7.11.1  RR – Read Register ...................................................................................... 95 7.11.2  RW – Write Register ...................................................................................... 95 

7.12  User Return Message Definition Commands ........................................................ 96 7.12.1  BD – Define Message Number ...................................................................... 96 7.12.2  BF – Define Field Contents ........................................................................... 96 7.12.3  BI – Initialise User Message Database.......................................................... 96 7.12.4  BN – Get Number of Message Definitions ..................................................... 97 7.12.5  BQ – Get Message Definition ........................................................................ 97 7.12.6  BW – Close Message Database.................................................................... 97 

7.13  Terminal System Commands ................................................................................ 98 7.13.1  Firmware Upload ........................................................................................... 98 7.13.2  PI – Reset ...................................................................................................... 99 7.13.3  PR – Configure Serial Port Baud Rate .......................................................... 99 7.13.4  PS – Scripting Enable/Disable .................................................................... 100 7.13.5  PT – Run Production Tests ......................................................................... 100 7.13.6  PV – Report Bootloader Version ................................................................. 100 7.13.7  PY – Report MSP Software Information ...................................................... 101 7.13.8  PZ – Report Unit Serial Number .................................................................. 101 

7.14  Inmarsat-D Network Configuration Commands ................................................... 102 7.14.1  DS PY – Report DSP Software Information ................................................ 102 7.14.2  DS PW – Enter Access Password ............................................................... 102 7.14.3  DS TA – Get/Set Service ID (SID) ............................................................... 102 7.14.4  DS TC – Get/Set Pager Subset Number (PSN) .......................................... 103 7.14.5  DS TE – Get/Set Beam ID ........................................................................... 103 

Page 7: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page vi of viii

Commercial In Confidence

7.14.6  DS TG – Get/Set the Group PID’s ............................................................... 104 7.14.7  DS TJ – Get Configured Service IDs ........................................................... 104 7.14.8  DS TK – Get/Set the Number of RC Transmission Retries ......................... 105 7.14.9  DS TM – Get/Set the Terminal Mobility ....................................................... 105 7.14.10  DS TN – Get the Terminal ISN .................................................................... 105 7.14.11  DS TO – Get/Set the Operational Flags ...................................................... 106 7.14.12  DS TR – Report Receiver Status................................................................. 106 7.14.13  DS TS – Report Signal Status ..................................................................... 108 7.14.14  DS TT – Report Transmitter Status ............................................................. 108 7.14.15  DS TW – Return Channel TX Queue Write Function .................................. 110 7.14.16  DS TZ –Write/Restore Configuration to/from Non-Volatile Memory ............ 110 

7.15  NMEA Input/Output Messages ............................................................................ 111 7.16  Script Debugging Messages ............................................................................... 114 

7.16.1  za – Alarm Trigger Message ....................................................................... 114 7.16.2  zo – Operation Chain Message ................................................................... 114 7.16.3  zt – Timer Trigger Message ........................................................................ 114 

7.17  Error Messages ................................................................................................... 115 7.18  Command Summary ........................................................................................... 117 

A  APPENDIX A – EXAMPLE GEOFENCE DEFINITION ............................................... A-1 A.1  Introduction........................................................................................................... A-1 A.2  Definition .............................................................................................................. A-1 A.3  Geofence Constraints ........................................................................................... A-2 A.4  Geofence Definition Sequence ............................................................................. A-2 A.5  Example Geofence Definition ............................................................................... A-3 

B  APPENDIX B – EXAMPLE USER MESSAGE DEFINITION ...................................... B-1 B.1  Message Number Definition ................................................................................. B-1 B.2  Message Field Data Selection .............................................................................. B-1 B.3  Message Definition Rules ..................................................................................... B-1 B.4  Message Definition Commands ........................................................................... B-2 B.5  Programming Command Sequence ..................................................................... B-2 B.6  Example – Time Stamped Analogue Input Report ............................................... B-2 

C  APPENDIX C – NOTES FOR USERS MIGRATING FROM THE SAT-201 SERIES. . C-4 

Page 8: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page vii of viii

Commercial In Confidence

TABLES

Table 1 – Terminal Module ID Codes ..................................................................................... 5 Table 2 – Configuration Module Registers .............................................................................. 7 Table 3 – Timer Module Registers .......................................................................................... 9 Table 4 – Alarms Module Registers ...................................................................................... 11 Table 5 – Interface Module Registers ................................................................................... 12 Table 6 – GPS Module Registers ......................................................................................... 13 Table 7 – Messaging Module Registers ................................................................................ 14 Table 8 – Scratchpad Module Registers ............................................................................... 15 Table 9 – Operations Module Registers ............................................................................... 16 Table 10 – Constant Generators ........................................................................................... 17 Table 11 – Bulletin Board Selection Codes .......................................................................... 18 Table 12 – Terminal Satellite Selection Mode Control Word ................................................ 19 Table 13 – Power Control Register Bit Definitions ................................................................ 20 Table 14 – Register Bits Modified to Switch Terminal Operating Modes .............................. 20 Table 15 – Power Supply Status Bit Definitions .................................................................... 21 Table 16 – NMEA Message Enable Bits ............................................................................... 22 Table 17 – Slotted Receive Mode Register Values .............................................................. 22 Table 18 – ISN Register Bit Allocation .................................................................................. 23 Table 19 – Timer Control Codes ........................................................................................... 25 Table 20 – Timer Configuration Register Field Definitions ................................................... 26 Table 21 – Alarm Control Codes ........................................................................................... 29 Table 22 – Alarm Configuration Register Field Definitions ................................................... 30 Table 23 – Alarm Comparison Mode Codes ......................................................................... 31 Table 24 – Valid I/O Channel Configurations ........................................................................ 33 Table 25 – I/O Pin Mode Configuration Codes ..................................................................... 34 Table 26 – User LED Colour Codes ..................................................................................... 36 Table 27 – Latitude/Longitude Data Format ......................................................................... 37 Table 28 – Geofence Status Register ................................................................................... 40 Table 29 – Return Message Type Numbers ......................................................................... 42 Table 30 – Receiver Status Byte Fields ................................................................................ 43 Table 31 – Transmitter Status Register Fields ...................................................................... 44 Table 32 – Operation Configuration Register Field Definitions ............................................. 48 Table 33 – Operation Function Codes .................................................................................. 49 Table 34 – Trigger Operation Forward Channel Message .................................................... 52 Table 35 – Remote Poll Forward Channel Message ............................................................ 52 Table 36 – Remote Digital Output Control Forward Channel Message ................................ 53 Table 37 – Target Position Definition Message .................................................................... 53 Table 38 – Remote Register Read/Write Message .............................................................. 54 Table 39 – Example of Multiple Register Update Message Data Structure .......................... 55 Table 40 – Return Burst Message Format ............................................................................ 55 Table 41 – Operating Power Modes ..................................................................................... 61 Table 42 – GPS data log record format ................................................................................ 85 Table 43 – Forward Channel Message Header Format ........................................................ 88 Table 44 – DS TO Operational Flags .................................................................................. 106 Table 45 – DS TR Receiver Inhibit Status Codes ............................................................... 106 Table 46 – DS TR Receiver Progress Codes ..................................................................... 107 Table 47 – DS TR Terminal Error Codes ............................................................................ 107 Table 48 – DS TT Transmit Progress ................................................................................. 108 Table 49 – DS TT Transmit inhibit status ............................................................................ 109 Table 50 – NMEA RMC Sentence Format .......................................................................... 111 

Page 9: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page viii of viii

Commercial In Confidence

Table 51 – NMEA GGA Sentence Format .......................................................................... 112 Table 52 – NMEA GSV Sentence Format .......................................................................... 113 Table 53 – Terminal Error Report Codes ............................................................................ 116 Table 54 – Command Summary ......................................................................................... 120 Table 55 – Example Message Definition ............................................................................. B-3 

REFERENCES

[1]. MAN-0048 SAT-200/202 Functional Manual [2]. GDN-0051 Honeywell Global Tracking Application Message Registry [3]. MAN-0012 Programming in TSL

Page 10: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 1 of 120

Commercial In Confidence

1 INTRODUCTION

This document describes the application programming interface to the Honeywell Global Tracking SAT-202 series of Inmarsat-D terminals and other Honeywell Global Tracking products that incorporate the Honeywell Global Tracking, Inmarsat Type Approved, SAT-200 module. This document also applies to the SAT-202 series when used in combination with the GEM-100 interface module.

The SAT-202 terminal comprises a SAT-200 module contained within a SAT-201 type enclosure. The SAT-202 supersedes, and provides a plug in replacement for, the SAT-201/201i series of terminals. Backwards compatibility with regards to functionality has been largely maintained, but there are some differences as detailed in Appendix C – Notes for Users Migrating from the SAT-201 Series..

Two methods of programming or configuring the SAT-202 terminal are available:

• Using the terminals internal scripting engine. This method would be used if autonomous operation is required.

• Using the serial communications interface to control the terminal. This method would be used if the terminal is operated in conjunction with an external controller.

There is some commonality between these two methods but sections 4 and 5 of this document are more relevant to the use of the scripting engine whereas section 7 focuses on external control.

Page 11: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 2 of 120

Commercial In Confidence

2 TERMINAL DETAILS

A full description of the terminal variants and their capabilities is given in the relevant user manual. You are also advised to read the SAT-200 Functional Manual, Ref. [1], before using the commands detailed in this document to program a terminal.

2.1 Processors

The SAT-200 module contains three processors each with certain dedicated functions. These are:

MSP – a low power microprocessor that runs all of the time that power is applied to the terminal. This processor provides the overall control of the terminal enabling the other two processors as required for correct terminal operation. The MSP provides the scripting engine and processes the commands received over the serial port interface.

DSP – a digital signal processor that provides the INMARSAT-D modem functionality, i.e. transmission and reception of messages between the terminal and the satellite.

GPS – a dedicated processor that receives and decodes the GPS satellite signals to provide the position data used by the terminal.

These three processors are referred to as MSP, DSP and GPS throughout this document.

2.2 Physical Interface

The command serial interface to the terminal is configured as an RS-232, bi-directional, asynchronous serial port operating at 9600 or, following an operator command, 4800 baud, 8 bit data, no parity and 1 stop bit. The interface comprises the two data lines and a signal ground. There are no modem control lines (CTS, RTS…). There is no software flow control implemented on the interface.

Note: The serial port baud rate can be increased during a firmware upload (paragraph 7.13.1.1)

Page 12: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 3 of 120

Commercial In Confidence

3 PROGRAMMING MODEL

A script is a simple program that is interpreted by the ‘scripting engine’, implemented within the MSP, to perform autonomous control of the terminal.

To run a script it must first be uploaded to the terminal via the serial interface. The uploaded script file would normally comprise a “configuration” part and an “operating script” part. The configuration part consists of standard terminal commands that perform a one-time configuration of those functions within the terminal that are not accessible through the autonomous operation of the scripting engine. The operating script is that part of the uploaded file that is interpreted by the scripting engine – i.e. it is run within the terminal in a manner similar to a software program.

Figure 1 shows access to the terminal functionality and status information. All functions are accessible via the serial interface whereas some functionality and information is not accessible to an operating script. (Configuration functions not accessible to the operating part of a script can still be included in the configuration part of the uploaded script file as explained above.)

INMARSAT-D Terminal

Script accessible modulesand registers

Serial port Access

Scripting engine

Terminal control andmonitoring

Serial Interface

Functions and statusinformation inaccessible to

scripting engine

This document is structured as follows:

Section 5 – Details the scripting modules and registers and how these are interpreted by the scripting engine.

Section 6 - Provides details of ‘over air’ remote control operation.

Section 7 – Provides details of the serial command interface including command syntax and function. Most of these functional specific commands control/monitor the terminal through indirect access of the scripting registers, however the RR & RW commands (paragraph 7.11) provide direct access, and Honeywell Global Tracking advise, where possible, the use of the RR & RW commands for control and monitoring.

Page 13: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 4 of 120

Commercial In Confidence

4 SCRIPTING OVERVIEW

For autonomous operation the terminal must be configured to perform actions (operations) in response to events (alarms or timers).

Events are detected by monitoring values and status information, including that of user configurable timers, held in the scripting registers. These values are compared with threshold or trigger values set within the script and, if the comparison results in a trigger, then a number of response operations may be performed.

The process of performing operations is controlled by the scripting engine. The terminal can be considered to be running a script if at least one operations register (paragraph 5.10) has been configured to perform an action in response to an event. The terminal scripting functionality is provided by a set of functional modules that may be programmed by a user to produce the required results. Each of the programmable modules has a set of addressable registers that configure the module operation. The registers are addressable directly through the RR & RW commands (paragraph 7.11), or indirectly via many of the other serial interface commands listed in section 7.

Note: Honeywell Global Tracking advise the use of the RR & RW commands where possible. In any future extensions, scripting registers will only be accessible via the RR & RW commands. The other serial commands listed in section 7 are kept to maintain compatibility with legacy products. Not all of the resources and functionality defined by the programming model is available on all terminal variants. Functionality affected in this way is identified in this document. Any attempt to use an unimplemented function will be ignored.

Determining the values to be written to the appropriate registers in order to realise an operational script can be a lengthy and error prone process. Honeywell Global Tracking therefore provide a TSL (Terminal Scripting Language) compiler, ref.[3], that enables users to write their script in a textual format and environment more familiar to software programmers. Once written the script is compiled to produce a file that comprises the serial commands (described in this document) that can then be sent to the terminal to configure all the appropriate registers and functions.

Page 14: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 5 of 120

Commercial In Confidence

5 SCRIPTING MODULES AND REGISTERS

5.1 Functional Modules

The functional modules provided are:

• Terminal Configuration Module • Interface Module • GPS Module • Messaging Module • Timer Module • Alarms Module • Operations Module • Scratchpad Module • Constant Generator Module

The functionality provided by each of the modules is described in sections 5.3 to 5.11.

The functional modules within the terminal each contain a number of registers. These are addressed by concatenating their module and internal register addresses. The address is used to access the registers either through the RR & RW commands (paragraph 7.11) or, if being accessed as part of a script, through the Operations registers (paragraph 5.10.1).

The module addresses used within the terminal are listed in Table 1.

Module Name Module ID Number Configuration 0x00 Timers 0x01 Alarms 0x02 Interfaces 0x03 GPS 0x04 Messaging 0x05 Scratchpad 0x06 Operations 0x07 Constant Generator 0x0F

Table 1 – Terminal Module ID Codes

Page 15: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 6 of 120

Commercial In Confidence

5.2 Registers

Read/write access to the registers is indicated in the ‘Access’ column as follows: R = Read only W = Write only

R/W = Read and Write operation possible using the RR an RW commands respectively.

R/[W] = Register can be read using RR command but write access is achieved indirectly by writing to another register or via a serial command other than RW.

Paragraph references are given for both the register description and, where applicable, the serial command by which it can be accessed. It should be noted that all registers can be accessed by the RR and/or RW commands (paragraph 7.11) and hence this reference is not listed. Some registers can only be accessed via the RW/RR commands and in these cases no serial command reference is provided.

Page 16: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 7 of 120

Commercial In Confidence

5.2.1 Configuration Module Registers

Module 0x00 Register Size

(bits) Access Function TSL Register Name Para ref.

0x00 5 R/W Bulletin Board/Ocean Region OceanRegion 5.3.1, 7.3.2 0x01 3 R/W Service ID Selection SelectedServiceID 5.3.2, 7.3.5 0x02 16 R/W Satellite Selection Mode SatelliteSelectionMode 5.3.3, 7.3.1 0x03 9 R/W Power Control Register PowerControl 5.3.4, 7.3.3 0x04 32 R Notification Flags

[Not yet available] NotificationFlags

0x05 32 R DSP Firmware Version FirmwareVersionDSP 5.3.5, 7.3.11 0x06 32 R MSP Firmware Version FirmwareVersionMSP 5.3.6, 7.3.7 0x07 32 R/W Script Application Version ScriptVersion 5.3.7, 7.3.9 0x08 32 W Store Application Script StoreScript 5.3.8, 7.3.13 0x09 32 W Delete Application Script DeleteScript 5.3.9, 7.3.12 0x0A 2 R Power Supply Status PowerSupplyStatus 5.3.10, 7.4.5 0x10 8 R <Reserved>

: : 0x1F 8 R <Reserved> 0x20 8 R/W NMEA output control OutputNMEA 5.3.11, 7.3.6 0x30 8 R <Reserved>

: : 0x34 8 R <Reserved> 0x40 8 R/W Slotted Receive - Wakeup

Period SlottedWakeupPeriod 5.3.12

0x41 8 R/W Slotted Receive - Max Acquisition Retries

SlottedRetries 5.3.13

0x50 32 R ISN & PSN ISN 5.3.14 0x51 8 R Hardware Version HardwareVersion 5.3.15 0x52 20 R/[W] GPID 0 GPID0 5.3.16 0x53 20 R/[W] GPID 1 GPID1 0x54 20 R/[W] GPID 2 GPID2 0x55 20 R/[W] GPID 3 GPID3 0x56 20 R/[W] GPID 4 GPID4 0x57 8 R/[W] SID/BID for Service 0 SID0 5.3.17

0x58 8 R/[W] SID/BID for Service 1 SID1 0x59 8 R/[W] SID/BID for Service 2 SID2 0x5A 8 R/[W] SID/BID for Service 3 SID3 0x5B 8 R/[W] SID/BID for Service 4 SID4 0x5C 24 R/[W] Operational Flags OperationalFlags 5.3.18,

7.14.11 0x5D 8 R/W Terminal Mobility TerminalMobility 5.3.19 0xF0 32 R/W Firmware Operating Mode 5.3.20 0xFC 1 R/W PACC Enable PACCEnable 5.3.21 0xFD 1 R/W GEM-100 compatibility enable GEMEnable 5.3.22 0xFE 32 W Terminal reset TerminalReset 5.3.23 0xFF 32 R Scripting capabilities ScriptingCapabilities 5.3.24

Table 2 – Configuration Module Registers

Page 17: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 8 of 120

Commercial In Confidence

5.2.2 Timer Module Registers

Module 0x01 Register Size

(bits) Access Function TSL Register Name Para Ref.

0x00 32 R Timer 0 Count TimerCountCtrl0 5.4.2, 7.5.8 W Timer 0 Control

0x01 32 R Timer 1 Count TimerCountCtrl1 W Timer 1 Control : : :

0x0E 32 R Timer 14 Count TimerCountCtrl14 W Timer 14 Control

0x0F 32 R Timer 15 Count TimerCountCtrl15 W Timer 15 Control 0x10 32 R/W Timer 0 Configuration TimerConfig0 5.4.3, 7.5.1 0x11 32 R/W Timer 1 Configuration TimerConfig1

: : : 0x1E 32 R/W Timer 14 Configuration TimerConfig14 0x1F 32 R/W Timer 15 Configuration TimerConfig15 0x20 32 W Stop timers designated by

bitmap StopTimers 5.4.4.1

0x21 32 W Start timers designated by bitmap

StartTimers 5.4.4.2

0x22 32 W Reset timers designated by bitmap

ResetTimers 5.4.4.3, 7.5.5

0x23 32 W Restart timers designated by bitmap

RestartTimers 5.4.4.4, 7.5.6

0x28 32 W Enable/Disable Timers EnableDisableTimers 5.4.4.5, 7.5.2, 7.5.3

0x29 32 W Reset/Restart Timers ResetRestartTimers 5.4.4.6, 7.5.5, 7.5.6

0x2C 32 W Enable Timers & Alarms EnableTimersAlarms 5.4.5.1, 7.5.3, 7.6.3

0x2D 32 W Disable Timers & Alarms DisableTimersAlarms 5.4.5.2, 7.5.2, 7.6.2

0x2E 32 W Restart Timers & Alarms RestartTimersAlarms 5.4.5.3, 7.5.6 0x2F 32 W Reset Timers & Alarms ResetTimersAlarms 5.4.5.4, 7.5.5,

7.6.5 0x30 32 R Current UTC time in seconds

past midnight TimeUTC 5.4.6.1

0x32 12 R Current date: year, full year value

DateYear 5.4.6.2, 7.5.7

0x33 4 R Current date: month (1..12) DateMonth 0x34 5 R Current date: day (1..31) DateDay 0x35 5 R Current time: hour (0..23) TimeHours 0x36 6 R Current time: minute (0..59) TimeMinutes 0x37 6 R Current time: second (0..59) TimeSeconds 0x40 32 R/W Timer 0 Terminal Count TerminalCount0 5.4.3.5, 7.5.4 0x41 32 R/W Timer 1 Terminal Count TerminalCount1

: : : 0x4E 32 R/W Timer 14 Terminal Count TerminalCount14 0x4F 32 R/W Timer 15 Terminal Count TerminalCount15

Continued on following page…

Page 18: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 9 of 120

Commercial In Confidence

Register Size (bits)

Access Function TSL Register Name Para Ref.

0x50 32 R/W UTC Resynchronisation Period [Not available]

UTCResyncPeriod

0x80 32 R Timer 16 Count TimerCountCtrl16 5.4.2, 7.5.8 W Timer 16 Control

0x81 32 R Timer 17 Count TimerCountCtrl17 W Timer 17 Control : : :

0x8E 32 R Timer 30 Count TimerCountCtrl30 W Timer 30 Control

0x8F 32 R Timer 31 Count TimerCountCtrl31 W Timer 31 Control 0x90 32 R/W Timer 16 Configuration TimerConfig16 5.4.3, 7.5.1 0x91 32 R/W Timer 17 Configuration TimerConfig17

: : : 0x9E 32 R/W Timer 30 Configuration TimerConfig30 0x9F 32 R/W Timer 31 Configuration TimerConfig31 0xA0 32 R/W Timer 16 Terminal Count TerminalCount16 5.4.3.5, 7.5.4 0xA1 32 R/W Timer 17 Terminal Count TerminalCount17

: : : 0xAE 32 R/W Timer 30 Terminal Count TerminalCount30 0xAF 32 R/W Timer 31 Terminal Count TerminalCount31

Table 3 – Timer Module Registers

Page 19: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 10 of 120

Commercial In Confidence

5.2.3 Alarm Module Registers

Module 0x02 Register Size

(bits) Access Function TSL Register Name Para Ref.

0x00 32 R Alarm 0 Status AlarmStatusCtrl0 5.5.2 W Alarm 0 Control

0x01 32 R Alarm 1 Status AlarmStatusCtrl1 W Alarm 1 Control : : :

0x0E 32 R Alarm 14 Status AlarmStatusCtrl14 W Alarm 14 Control

0x0F 32 R Alarm 15 Status AlarmStatusCtrl15 W Alarm 15 Control 0x10 32 R/W Alarm 0 Configuration AlarmConfig0 5.5.3, 7.6.1 0x11 32 R/W Alarm 1 Configuration AlarmConfig1

: : : 0x1E 32 R/W Alarm 14 Configuration AlarmConfig14 0x1F 32 R/W Alarm 15 Configuration AlarmConfig15 0x20 32 R/W Alarm 0 Threshold AlarmThreshold0 5.5.4, 7.6.6 0x21 32 R/W Alarm 1 Threshold AlarmThreshold1

: : 0x2E 32 R/W Alarm 14 Threshold AlarmThreshold14 0x2F 32 R/W Alarm 15 Threshold AlarmThreshold15 0x30 32 W Disable Alarms designated by

bitmap DisableAlarms 5.5.5.1, 7.6.2

0x31 32 W Enable Alarms designated by bitmap

EnableAlarms 5.5.5.2, 7.6.3

0x32 32 W Reset Alarm Latches designated by bitmap

ResetAlarms 5.5.5.3, 7.6.5

0x33 32 W Trigger Alarms designated by bitmap

TriggerAlarms 5.5.5.4, 7.6.4

0x34 32 W Toggle Alarm enable state ToggleAlarms 5.5.5.5 0x35 32 W Reset Latch and Enable

Alarms designated by bitmap RestartAlarms 5.5.5.6

0x38 32 W Enable/Disable Alarms designated by bitmap

EnableDisableAlarms 5.5.5.7

Continued on following page…

Page 20: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 11 of 120

Commercial In Confidence

Register Size (bits)

Access Function TSL Register Name Para Ref.

0x40 32 R Alarm 16 Status AlarmStatusCtr16 5.5.2 W Alarm 16 Control

0x41 32 R Alarm 17 Status AlarmStatusCtr17 W Alarm 17 Control : : :

0x4E 32 R Alarm 30 Status AlarmStatusCtrl30 W Alarm 30 Control

0x4F 32 R Alarm 31 Status AlarmStatusCtrl31 W Alarm 31 Control 0x50 32 R/W Alarm 16 Configuration AlarmConfig16 5.5.3, 7.6.1 0x51 32 R/W Alarm 17 Configuration AlarmConfig17

: : : 0x5E 32 R/W Alarm 30 Configuration AlarmConfig30 0x5F 32 R/W Alarm 31 Configuration AlarmConfig31 0x60 32 R/W Alarm 16 Threshold AlarmThreshold16 5.5.4, 7.6.6 0x61 32 R/W Alarm 17 Threshold AlarmThreshold17

: : 0x6E 32 R/W Alarm 30 Threshold AlarmThreshold30 0x6F 32 R/W Alarm 31 Threshold AlarmThreshold31

Table 4 – Alarms Module Registers

Page 21: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 12 of 120

Commercial In Confidence

5.2.4 Interface Module Registers

Module 0x03 Register Size

(bits) Access Function TSL Register Name Para Ref.

0x00 8 R Digital Input States DigitalInputs 5.6.3, 7.4.3 0x01 8 R/W Digital Output States DigitalOutputs 5.6.4, 7.4.4 0x02 32 R/W I/O Configuration

(Input/Output, Digital/Analogue) IOConfiguration 5.6.1, 7.4.2

0x03 1 R/W GEM-100 Battery output enable state

5.6.11, 7.4.7

0x10 12 R Analogue Input Channel 0 Conversion Result

AnalogueInput0 5.6.2, 7.4.1

: : : 0x17 12 R Analogue Input Channel 7

Conversion Result AnalogueInput7

0x18 32 R Processor Supply Voltage ProcessorSupply 5.6.5, 7.4.6 0x19 32 R External Supply Voltage ExternalSupply 5.6.6, 7.4.9 0x1A 16 R Device Temperature ProcessorTemperature 5.6.8,

7.4.10 0x1B 32 R GEM-100 Battery Supply Voltage BatterySupply 5.6.7,

7.4.12 0x1C 16 R GEM-100 Battery Temperature BatteryTemperature 5.6.10,

7.4.8 0x1F 16 R/W Calibrated Temperature CalibratedTemperature 5.6.9 0x20 12 R/W Analogue Output Channel 0 Value

[Not available] AnalogueOutput0

: : : 0x27 12 R/W Analogue Output Channel 7 Value

[Not available] AnalogueOutput7

0x30 2 R/W GEM-100 User LED state GEMLED 5.6.12, 7.4.11

Table 5 – Interface Module Registers

Page 22: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 13 of 120

Commercial In Confidence

5.2.5 GPS Module Registers

Module 0x04 Register Size

(bits) Access Function TSL Register Name Para Ref.

0x00 1 R GPS Status Register GPSStatus 5.7.1.1, 7.8.1.2 0x01 32 R GPS Latitude Latitude 5.7.1.2, 7.8.2.3 0x02 32 R GPS Longitude Longitude 5.7.1.3, 7.8.2.3 0x03 16 R GPS Speed Speed 5.7.1.4, 7.8.2.4 0x04 16 R GPS Heading Heading 5.7.1.5, 7.8.2.2 0x05 16 R GPS Altitude Altitude 5.7.1.6, 7.8.2.1 0x08 16 R Horizontal Dilution of

Precision HDOP 5.7.1.7

0x10 32 W Store Current as Reference StoreReference 5.7.2.1, 7.8.4.3 0x11 32 R/[W] Reference Latitude ReferenceLatitude 5.7.2.2, 7.8.4.2 0x12 32 R/[W] Reference Longitude ReferenceLongitude 5.7.2.3, 7.8.4.2 0x13 1 R/W Odometer function enable OdometerEnable 0x14 32 R Odometer accumulated

distance OdometerDistance

0x15 - W Odometer reset [Clears the Odometer accumulated distance register]

OdometerReset

0x20 32 R Distance to Reference DistanceToReference 5.7.2.4, 7.8.4.1 0x28 8 R Geofence 1 Status GeofenceStatus1 5.7.6.1 0x29 8 R Geofence 2 Status GeofenceStatus2 5.7.6.1 0x30 16 R/W GPS Update Rate

[For SAT-200 products, the update rate is fixed at 1 second. Writing to this register has no effect]

UpdateGPS

0x38 32 R Distance to Closest Target DistanceToClosest 5.7.3.2 0x39 32 R Distance to Farthest Away

Target DistanceToFurthest 5.7.3.3

0x40 32 R Distance to Target 0 DistanceToTarget0 5.7.3.1, 7.8.5.1 : : : : :

0x47 32 R Distance to Target 7 DistanceToTarget7 0x50 32 R/[W] Target 0 Latitude TargetLatitude0 5.7.3.4, 7.8.5.2 0x51 32 R/[W] Target 0 Longitude TargetLongitude0 5.7.3.5, 7.8.5.2

: : : : : 0x5E 32 R/[W] Target 7 Latitude TargetLatitude7 5.7.3.4, 7.8.5.2 0x5F 32 R/[W] Target 7 Longitude TargetLongitude7 5.7.3.5, 7.8.5.2 0x80 1 R NMEA Input Status Register NMEAStatus 7.15 0x81 32 R NMEA Input Latitude NMEALatitude 0x82 32 R NMEA Input Longitude NMEALongitude 0x83 16 R NMEA Input Speed NMEASpeed 0x84 16 R NMEA Input Heading NMEAHeading 0x85 16 R NMEA Input Altitude NMEAAltitude 0xF0 3 R Hours since last GPS fix HoursSinceLastFix 5.7.5 0xF1 17 R Time at last GPS fix TimeAtLastFix 5.7.5

Table 6 – GPS Module Registers

Page 23: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 14 of 120

Commercial In Confidence

5.2.6 Messaging Module Registers

Module 0x05 Register Size

(bits) Access Function TSL Register Name Para Ref.

0x10 8 W Return Burst Message ID Code ReturnBurstMessageID 5.8.1, 7.9.2.2

0x11 8 R/W Return Burst Destination Address

ReturnBurstDestAddr or ReturnBurstCannedMessage

5.8.2, 7.9.2.1

0x12 8 R/W <Reserved> 0x13 20 R/W Concatenated Registers

0x11:0x12 plus Control Flags ReturnBurstRegisters 5.8.3

0x14 2 R/W Return Burst Acknowledge Flags

ReturnBurstAckFlags 5.8.4, 7.9.2.3

0x15 4 R/W Return Burst Control Flags Field

ReturnBurstCtrlFlags 5.8.5, 7.9.2.4

0x18 32 R/W Return message scrambling vector

ScramblingVector 5.8.6

0x20 12 R Receive Channel Number ReceiveChannel 5.8.7.1, 7.9.2.8

0x21 12 R Receive Signal Quality ReceiveSignalLevel 5.8.7.2, 7.9.2.8

0x22 8 R Receive Status ReceiveStatus 5.8.7.3, 7.9.2.8

0x23 32 R Transmit Status TransmitStatus 5.8.8 7.9.2.10

0x24 8 R/W Transmit Randomisation Period TransmitRandomisation 5.8.9, 7.9.2.9

0x28 32 R/W Number of Transmit Retries TransmitRetries 5.8.10 0x29 32 R Receive Signal Level ReceiveSignal 5.8.11 0x2A 32 R Receive Frequency Offset ReceiveFrequencyOffset 5.8.12 0x2B 32 R Receive Doppler Rate of

Change ReceiveDoppler 5.8.13

0x2C 32 R Receive Symbol Errors ReceiveSymbolErrors 5.8.14 0x2D 32 R Number of Messages in

Transmit Queue TransmitQueue 5.8.15

0x2E 32 R Transmit Queue Configuration TransmitQueueConfig 5.8.16 0x30 8 R/W Poll Message ID code PollMessageID 5.8.17.1,

7.9.2.6 0x31 16 R/W Poll Message Repeat Rate PollMessageRate 5.8.17.2,

7.9.2.6 0x38 8 R/W Response Message for Tone

Only type 1 ResponseToTone1 5.8.18,

7.9.2.7 0x39 8 R/W Response Message for Tone

Only type 2 ResponseToTone2

0x3A 8 R/W Response Message for Tone Only type 3

ResponseToTone3

0x3B 8 R/W Response Message for Tone Only type 4

ResponseToTone4

0x40 1 R/W Forward channel message output mode

ForwardChannelOutput 5.8.19, 7.9.1.5

Table 7 – Messaging Module Registers

Page 24: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 15 of 120

Commercial In Confidence

5.2.7 Scratchpad Module Registers

Module 0x06 Register Size

(bits) Access Function TSL Register

Name Para Ref.

0x00 32 R/W Scratchpad Register 0 ScratchPad0 5.9, 5.9.1.1, 7.10.1

0x01 32 R/W Scratchpad Register 1 ScratchPad1 5.9, 5.9.1.2, 7.10.1 0x02 32 R/W Scratchpad Register 2 ScratchPad2

: : : 5.9, 7.10.1 0x0E 32 R/W Scratchpad Register 14 ScratchPad14 0x0F 32 R/W Scratchpad Register 15 ScratchPad15

Table 8 – Scratchpad Module Registers

Page 25: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 16 of 120

Commercial In Confidence

5.2.8 Operation Configuration Registers

Module 0x07 Register Size

(bits) Access Function TSL Register Name Para Ref.

0x00 32 R/W Operation 0 Configuration OperationConfig0 5.10.2, 7.7.1 0x01 32 R/W Operation 1 Configuration OperationConfig1

: : 0x1E 32 R/W Operation 30 Configuration OperationConfig30 0x1F 32 R/W Operation 31 Configuration OperationConfig31 0x20 32 R/W Operation 0 Value OperationValue0 5.10.3, 7.7.1 0x21 32 R/W Operation 1 Value OperationValue1

: : 0x3E 32 R/W Operation 30 Value OperationValue30 0x3F 32 R/W Operation 31 Value OperationValue31 0x40 32 W Disable all operations in bit mask

(Affects operations 0 to 31) DisableOperations 5.10.4, 7.7.2

0x41 32 W Enable all operations in bit mask (Affects operations 0 to 31)

EnableOperations 5.10.5, 7.7.3

0x42 32 W Reset all operations in bit mask (Affects operations 0 to 31)

ResetOperations 5.10.6, 7.7.4

0x43 32 W Trigger all operations in bit mask (Affects operations 0 to 31)

TriggerOperations 5.10.7, 7.7.5

0x44 32 W Disable operations in bit mask (Affects operations 32 to 63)

DisableOperationsExt 5.10.4

0x45 32 W Enable operations in bit mask (Affects operations 32 to 63)

EnableOperationsExt 5.10.5

0x46 32 W Reset operations in bit mask (Affects operations 32 to 63)

ResetOperationsExt 5.10.6

0x47 32 W Trigger operations in bit mask (Affects operations 32 to 63)

TriggerOperationsExt 5.10.7

0x80 32 R/W Operation 32 Configuration OperationConfig32 5.10.2, 7.7.1 0x81 32 R/W Operation 33 Configuration OperationConfig33

: : 0x9E 32 R/W Operation 62 Configuration OperationConfig62 0x9F 32 R/W Operation 63 Configuration OperationConfig63 0xA0 32 R/W Operation 32 Value OperationValue32 5.10.3, 7.7.1 0xA1 32 R/W Operation 33 Value OperationValue33

: : 0xBE 32 R/W Operation 62 Value OperationValue62 0xBF 32 R/W Operation 63 Value OperationValue63

Table 9 – Operations Module Registers Note: Serial port access to the registers 0x44 to 0x47 inclusive, is via the RW/RR

commands only (section 7.11).

Page 26: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 17 of 120

Commercial In Confidence

5.2.9 Constant Generator Registers

Module 0x0F

Register Number Value Returned TSL Register Name Para Ref. 0x00 0x00000000 ConstantRegister0 or

PaddingZeroes 5.11

0x01 0x00000001 ConstantRegister1 : : :

0x0F 0x0000000F ConstantRegister15 0x10 0x00000010

: : 0xFE 0x000000FE 0xFF 0xFFFFFFFF ConstantRegister255

or PaddingOnes

Table 10 – Constant Generators Note: The TSL Register definition file SatConst.tsl does not define names for the Constant

module registers 0x10 to 0xFE.

Page 27: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 18 of 120

Commercial In Confidence

5.3 Configuration Module

Module ID = 0x00 Register addresses = Table 2

The configuration module provides access to the operational parameters of the terminal.

5.3.1 Ocean Region Selection Register

This register contains the ID number for the currently active bulletin board (see Table 11 for Bulletin Board ID to Ocean Region mapping). If a new value is written to this register then the terminal will attempt to acquire and use the new bulletin board.

Bulletin Board ID Ocean Region 0 Invalid value 1 AORW (Atlantic Ocean Region West) 2 AORE (Atlantic Ocean Region East) 3 IOR (Indian Ocean Region) 4 POR (Pacific Ocean Region) 5 PACC (Pacific Ocean Central) 6..16 Spare 17..31 Invalid value

Table 11 – Bulletin Board Selection Codes If the automatic satellite switching is enabled (section 5.3.3) then selecting an ocean region by writing to the Ocean Region register may not result in the terminal using the selected ocean region. For example, consider a terminal that is located in Brazil and configured in follow best mode. In this location two satellites are visible; AORE and AORW, with the latter being higher in the sky. If a value of 02 is written to this register then the terminal will switch to use AORE but, on the next GPS update, the follow best algorithm will switch the terminal back to AORW.

5.3.2 Service ID Selection Register

This register contains the number of the currently active service used by the terminal. The register takes a value between 0x00 and 0x04 to select one of the 5 Service ID (SID) / Beam ID (BID) pairings pre-programmed into the terminal. The SID/BID pairings corresponding to the service selected can be read from the SID/BID registers (see paragraph 5.3.17)

Page 28: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 19 of 120

Commercial In Confidence

5.3.3 Satellite Selection Mode

The satellite selection algorithm is controlled by the states of the control word bits as defined in Table 12. When the terminal performs a satellite switch it can optionally be programmed to transmit a message over the satellite link so that the LES can detect that the terminal has changed ocean regions.

Bit Function (when bit set) 0 Auto select on start up (see 5.3.3.1) 1 Enable Automatic switching during terminal operation. 2 Only valid if Automatic switching enabled:

1 = Follow Best (see 5.3.3.1) 0 = Switch on loss (see 5.3.3.3)

3 Spot beam Roaming enable. (Not implemented) 4 Transmit Message on ocean region switch. Only valid if automatic switching enabled 5 <Reserved> 6 <Reserved> 7 <Reserved> 8..15 Message number to transmit on an ocean region change. Only valid if bit 4 is set.

Table 12 – Terminal Satellite Selection Mode Control Word

5.3.3.1 Auto Select on Start Up

With this option enabled, the terminal uses GPS position to select the ‘best’ satellite (ocean region) on power on or wake from sleep. If this option is disabled then the last configured satellite is used.

Note: This option should not be enabled if slotted receive (5.3.12) is used.

5.3.3.2 Follow Best Satellite Operation

The terminal will attempt to follow the best satellite based on the GPS position. The best satellite is defined as the one with the highest elevation in the sky. Each time that the GPS provides a new valid position fix this is compared with the satellite positions to determine the satellite that is highest in the sky. If this is the currently selected satellite then the terminal will continue to use this satellite. If the highest satellite is not currently selected then the terminal will switch over to the new best satellite.

If the terminal loses the signal from the best satellite due to antenna masking then it will suspend the follow best algorithm and will try to acquire the satellites either side of the best. If it acquires the signal from the second best satellite then it will use that satellite until its signal is lost and the follow best satellite based on GPS position will resume.

When the terminal switches between satellites it can be configured to send a message. This notifies the server application that the terminal has switched regions and allows any forward channel traffic for the terminal to be routed correctly.

5.3.3.3 Switch On Satellite Loss

The terminal will attempt to switch satellites when the one currently in use is lost. A satellite is considered lost when the terminal misses six successive traffic channel frames (three minutes maximum) followed by two bulletin board frames (8 minutes maximum) or if, when

Page 29: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 20 of 120

Commercial In Confidence

the terminal attempts to switch to the bulletin board frequency, it cannot detect the satellite signal.

5.3.4 Power Control Register

The power control register provides access to the power saving modes of operation for the terminal. The functions controlled by this register are described in Table 13. Bit Function 0 1 = Enable RS-232 serial port drivers 1 1 = Enable Terminal Power 2 1 = Enable terminal indicator LED 3 1 = Enable ADC (analogue to digital converter) module.

If disabled the processor power rails, temperature and unit analogue inputs are not measured.

4 1 = Disable GPS receiver 5 1 = Disable Inmarsat-D transceiver 6 <reserved> write as 0 7 <reserved> write as 0 8 1 = Enable IsatM2M slotted receive mode

NOTE It is NOT possible to change the state of this bit of the power control register using the CE or CU commands. It can be changed using the RW command, read with the RR command and used within terminal scripts.

9..31 <reserved> write as 0

Table 13 – Power Control Register Bit Definitions In order to reduce overall power consumption the terminal uses an intelligent switch on method for controlling power. Once the terminal has set its internal clock to UTC, it will power up the Inmarsat-D transceiver at the optimal time to allow acquisition of the next Traffic Channel frame header. As a consequence, a command to switch the power on to the terminal might not take effect for up to 30 seconds.

Power to the Inmarsat-D transceiver and GPS module can be controlled independently.

The terminal operating mode can be switched by setting and clearing the register bits as shown in Table 14 below:

Operating Mode

Register Bits Set

Register Bits Cleared

Bits 0 to 8 (bits 9..31 set to 0) x = don’t care y = Function as Table 13

Sleep none 1 yyyxxyy0y Standby 1,4,5 none yyy11yy1y GPS Tracking 1,5 4 yyy10yy1y Static 1,4 5 yyy01yy1y Mobile 1 4,5 yyy00yy1y

Table 14 – Register Bits Modified to Switch Terminal Operating Modes

Page 30: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 21 of 120

Commercial In Confidence

5.3.5 DSP Firmware Version Number

This read only register holds the terminal DSP firmware version number in the form of 4 ASCII characters. The version number is of the form AB.XY where AB and XY represent the major and minor version numbers. This is stored in the 32-bit register as YXBA.

5.3.6 MSP Firmware Version Number

This read only register holds the terminal MSP firmware version number in the form of 4 ASCII characters. The version number is of the form AB.XY where AB and XY represent the major and minor version numbers. This is stored in the 32-bit register as YXBA.

5.3.7 Application Script Version Number

This register contains a user supplied application script version number. It allows the script application revision to be identified. The four character version number is stored in the 32 bit register in byte reversed order.

5.3.8 Store Application Script

Performing a write access with the data value 0xA5F00F5A to this register causes the terminal to copy the current contents of the configuration registers in each of the functional modules into non-volatile memory. Any existing script data is erased from the non-volatile memory store before the current state is saved. If power is removed from the terminal and then re-applied the stored application script will automatically be reloaded. It is important to note that this command stores the values of the registers at the time that the command is issued. If the terminal has a running script then the values stored will almost certainly not be those required at the start of script operation.

Four of the timers and alarms have non volatile updates such that if their trigger values are changed the updated value is also written back to non-volatile memory, modifying the stored script. (See paragraphs 5.4.1.1 and 5.5.1.1.)

5.3.9 Delete Application Script

Performing a write access with the script version number value to this register resets the script timers, alarms and operation registers.

5.3.10 Power Supply Status

If no GEM-100 unit is connected, this register will always be read as 1; i.e. external supply present and no solar panel supply. If a GEM-100 is utilised, this register reports the status of the power supplies connected to the GEM-100.

Bit Function 0 External dc power supply present 1 Solar panel supply present 2..31 Reserved for future use. Write as 0

Table 15 – Power Supply Status Bit Definitions

Page 31: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 22 of 120

Commercial In Confidence

5.3.11 NMEA Message Output

The terminal can output NMEA-0183 type sentences over the serial port. The NMEA sentences supported are RMC, GGA and GSV. The sentences to be output are enabled by setting individual bits in the NMEA output control register as detailed in Table 16. Bit Function Primary Information 0 Enable output of RMC sentence Time, 2D location, heading, speed 1 Enable output of GGA sentence Time, 3D location 2 Enable output of GSV sentence Satellites in view: azimuth, elevation, signal

strength 3..31 Reserved for future use.

Write as 0

Table 16 – NMEA Message Enable Bits One set of enabled NMEA sentences is output on each GPS position update (i.e. once per second). If GPS is not enabled then the output of NMEA sentences is inhibited.

The GSV sentence only holds information for up to four satellites, therefore if more satellites are in view multiple GSV sentences might be output at each update. See paragraph 7.15 for details on the RMC, GGA and GSV sentences.

5.3.12 Slotted Receive Mode Register

The terminal can be programmed to wake at intervals so that it can listen to the forward channel traffic channel frame header and receive any messages that are being sent to it. The slotted receive mode register sets the interval between terminal wakeup events. The values that can be written to the register are shown in Table 17 below.

Value Interval in Frames Interval in Minutes 0,1 0 (Continuous Operation) 0 (Continuous Operation) 2 4 2 3 8 4 4 16 8 5 32 16 6 64 32

Table 17 – Slotted Receive Mode Register Values If a forward message is received that is a poll and/or requires an acknowledgement, then the terminal will remain awake to transmit the response.

5.3.13 Slotted Receive Mode Maximum Acquisition Retries

When the terminal is operating in slotted receive mode it may fail to acquire the satellite signal due to either the terminal having an obstructed view of the sky or the terminal having moved out of the satellite coverage area. If the terminal wakes up but cannot acquire either GPS or the Traffic Channel it will assume that it has a totally blocked sky-view and will go back to sleep until the next wake up slot. If the Traffic Channel cannot be acquired but GPS can then, if this condition persists for n wake up slots, the terminal will stay awake and perform a satellite search. The value n is held in this ‘Maximum Acquisition Retries’ register.

Page 32: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 23 of 120

Commercial In Confidence

5.3.14 ISN, & PSN

This is a read only register containing the terminal ISN and PSN.

Bits Contents 0..23 Terminal ISN (not including the DSTxxx part)

24..27 Spare (zeros) 28..31 Terminal PSN

Table 18 – ISN Register Bit Allocation

5.3.15 Hardware Version

This is a read only register containing the terminal hardware build configuration value. Bits 0..3 hold the build number and Bits 4..7 hold the Printed Circuit Board (PCB) issue number..

5.3.16 Group PID

These read only registers contain the terminals Group PIDs. A zero indicates that a Group PID has not been configured.

The Inmarsat-D Service provides for messages to be sent to a group of terminals. This service is achieved by programming terminals with a further PID (i.e. Group PID), which is identical for all terminals in one group. The terminal can be programmed with up to 5 Group PIDs.

Contact Honeywell Global Tracking for more information or to obtain a Group PID.

Programming of GPIDs is done via the password protected DS TG command (paragraph 7.14.6).

5.3.17 Service ID / Beam ID

These read only registers contain the pre-programmed Service ID / Beam ID pairings. A specific pairing is selected via the Service ID Selection register (see paragraph 5.3.2).

5.3.18 Operational Flags

This read only register reflects the value of the Operational flags as configured via the DS TO command (paragraph 7.14.11).

5.3.19 Terminal Mobility

This read only register reflects the value of the Terminal Mobility flag as configured via the DS TM command (paragraph 7.14.9).

5.3.20 Firmware Operating Mode

This register is only present in SAT-200 firmware versions 1.10 and later.

The value written to this register configures the operating mode of the terminal firmware. Normal operation is configured by writing the value 0x00. Other values configure the firmware to operate in special modes required for specific products.

Page 33: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 24 of 120

Commercial In Confidence

5.3.21 PACC Enable

Writing a 1 to this register enables the PACC satellite to be used as a candidate for selection by the satellite roaming algorithm. If disabled, then a terminal that is within the coverage area for PACC will choose either POR or AOR-W when it is selecting the best satellite using the GPS position information. The state of this register is stored in non volatile memory and is not erased when the processor firmware is updated. The default setting is PACC enabled.

5.3.22 GEM Compatibility Enable

This bit must be set to 1 if the terminal is connected to a GEM-100, otherwise the bit should be cleared to 0 (default). The GEM-100 provides additional interfaces and battery back up capability.

When the GEM-100 interface is enabled, interface channels 4 and 5 on the terminal are disabled (see paragraph 5.6).

5.3.23 Terminal Reset

Write only register. Writing to this register will cause the terminal to perform a reset. If a value of 0 is written, the terminal reset is delayed until the transmit queue is empty so that a reset request sent over the forward channel may be acknowledged. If any other value is written then the terminal reset will be performed immediately with no acknowledgement (even if requested) being transmitted.

5.3.24 Scripting Capabilities

This read only register provides details on the total number of scripting operations, timers and alarms that are available within this particular terminal product.

Bits Information 0..7 Number of alarms 8..15 Number of timers 16..23 Number of operations

Page 34: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 25 of 120

Commercial In Confidence

5.4 Timer Module

Module ID = 0x01 Register addresses = Table 3

5.4.1 Timer Functionality

The timer module provides 32 independent timer channels that may be used to trigger operations. The timers operate with a resolution of 1 second derived from the terminal internal frequency reference.

5.4.1.1 Updating Timer Trigger Values

The timer channels in the terminal are divided into two groups that differ in the effect that an update to the trigger value has upon the stored script. If the trigger value on any of the timer channels 0 to 11 or 16 to 31 is updated as the result of a script operation then, if the terminal is restarted following a power down, the timer trigger value will reset to the initial value defined in the original script. The operation of timer channels 12 to 15 is slightly different. In the case of these four channels the timer will restart with the updated trigger value that was set by the script operation. This allows, for example, permanent changes to a terminal’s reporting rate to be made by triggering an operation remotely with a forward channel message.

5.4.2 Timer Count Register

There is one timer count register for each of the timer channels provided by the terminal. These registers have different functions on read and write. When read, the register contains the current value of the timer count for the timer channel. When written the register uses the two LSB of the value to control the timer channel, as shown in Table 19 below.

Timer Control Value Action 00 Stop Timer and hold current count value 01 Start Timer count from current value 10 Stop Timer and clear count value 11 Restart Timer count from zero

Table 19 – Timer Control Codes

5.4.3 Timer Configuration Register

There is one timer configuration register for each of the timer channels provided by the terminal. The register is a 32-bit value divided up into fields as shown in the table below.

Page 35: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 26 of 120

Commercial In Confidence

Bits Field Width Function 0 1 Timer Enable 1 1 Timer Repeat Mode 2 1 Timer Mode 7..3 5 Operation Number

31..8 24 Timer Trigger Value

Table 20 – Timer Configuration Register Field Definitions

5.4.3.1 Enable

When this bit is set the timer channel is enabled, when cleared the timer channel is disabled.

5.4.3.2 Repeat

When this bit is clear the timer channel operates in single shot mode, when the timer reaches its terminal count the operation is triggered and the timer is automatically disabled. When the bit is set the timer operates in repeat mode; when it reaches its terminal count the operation is triggered, the count register is reset to zero and the count restarts.

5.4.3.3 Mode

The mode bit sets the timer to operate in either interval (bit clear) or time of day (bit set) modes. In interval mode the terminal count value represents the number of seconds that the timer is to count before the event trigger. In the time of day mode the terminal count value indicates the time, in seconds past midnight UTC, at which the event is to be triggered.

5.4.3.4 Operation Number

The operation number field is a 5 bit number (0..31) indicating the operation that is to be triggered when the timer reaches its terminal count. This field size limits the operations that the timer channels can trigger, i.e. a timer channel cannot trigger operations in the range 32 to 63.

5.4.3.5 Terminal Count Value

The terminal count value is a 24-bit number representing the trigger value for the timer. The maximum value that can be stored is 16777215 seconds or just over 194 days. The terminal count value may also be set by writing to the terminal count value register for the channel. This provides an easy way to modify a timer trigger value from within a script without having to preserve the least significant bits of the configuration register.

5.4.4 Timer Control

There is a set of 6 registers that allow the timers to be controlled in groups. These write only registers allow a defined group of timers to be stopped, started, reset or restarted together.

5.4.4.1 Stop Timers

The stop timers register is a 32-bit write only register. The value written to this register is a bit mask of the channels to be stopped. Timer 0 is indicated by the LSB of the value and

Page 36: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 27 of 120

Commercial In Confidence

timer 31 by the MSB. Writing a 1 to the channel control bit causes the timer to stop counting. The value reached in the timer count register is held.

5.4.4.2 Start Timers

The start timers register is a 32-bit write only register. The value written to this register is a bit mask of the channels to be started. Timer 0 is indicated by the LSB of the value and timer 31 by the MSB. Writing a 1 to the channel control bit causes the timer to start counting from the current value in the count register.

5.4.4.3 Reset Timers

The reset timers register is a 32-bit write only register. The value written to this register is a bit mask of the channels to be reset. Timer 0 is indicated by the LSB of the value and timer 31 by the MSB. Writing a 1 to the channel control bit causes the timer to stop counting and the count register to be set back to zero.

5.4.4.4 Restart Timers

The restart timers register is a 32-bit write only register. The value written to this register is a bit mask of the channels to be restarted. Timer 0 is indicated by the LSB of the value and timer 31 by the MSB. Writing a 1 to the channel control bit causes the timer to restart its count from zero without triggering an operation.

5.4.4.5 Combined Operation to Enable and Disable Timer Channels

This function is only available for timer channels 0 to 15.

The timer channels to be enabled are defined by the bits set within the 16 most significant bits of the 32-bit operation parameter value. The timer channels to be disabled are defined by the bits set in the bottom 16 bits of the 32-bit operation parameter value.

5.4.4.6 Combined Operation to Restart and Reset Timer Channels

This function is only available for timer channels 0 to 15.

The timer channels to be restarted are defined by the bits set within 16 most significant bits of the 32-bit operation parameter value. The timer channels to be reset are defined by the bits set in the bottom 16 bits of the 32-bit operation parameter value.

5.4.5 Mixed Timer/Alarm Operations

5.4.5.1 Mixed Operation to Enable Timer and Alarm Channels

This function is only available for timer and alarm channels 0 to 15.

The timer channels to be enabled are defined by the bits set within 16 most significant bits of the 32-bit operation parameter value. The alarm channels to be enabled are defined by the bits set in the bottom 16 bits of the 32-bit operation parameter value.

5.4.5.2 Mixed Operation to Disable Timer and Alarm Channels

This function is only available for timer and alarm channels 0 to 15.

Page 37: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 28 of 120

Commercial In Confidence

The timer channels to be disabled are defined by the bits set within 16 most significant bits of the 32-bit operation parameter value. The alarm channels to be disabled are defined by the bits set in the bottom 16 bits of the 32-bit operation parameter value.

5.4.5.3 Mixed Operation to Restart Timer and Alarm Channels

This function is only available for timer and alarm channels 0 to 15.

The timer channels to be restarted are defined by the bits set within 16 most significant bits of the 32-bit operation parameter value. The alarm channels to be restarted are defined by the bits set in the bottom 16 bits of the 32-bit operation parameter value.

5.4.5.4 Mixed Operation to Reset Timer and Alarm Channels

This function is only available for timer and alarm channels 0 to 15.

The timer channels to be reset are defined by the bits set within 16 most significant bits of the 32-bit operation parameter value. The alarm channels to be reset are defined by the bits set in the bottom 16 bits of the 32-bit operation parameter value.

5.4.6 Real Time Functionality

There are a number of read only registers within the timer module that contain the current UTC. These values are maintained by the terminal’s internal real time clock and synchronised with UTC obtained from either GPS or the Inmarsat-D Bulletin Board whenever these are available.

The internal real time clock continues to operate during sleep mode.

5.4.6.1 Seconds Past Midnight

The seconds past midnight register is a read only register containing the current time represented as a count of seconds past midnight UTC.

5.4.6.2 Time and Date

Time and date information is stored in a set of 6 read only registers. The values read from these registers is a binary representation of the current UTC time maintained by the terminal. The year value is stored as the full 4 digit value i.e. year 2003 is returned as 2003 not 3.

Page 38: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 29 of 120

Commercial In Confidence

5.5 Alarm Module

Module ID = 0x02 Register addresses = Table 4

5.5.1 Alarm Functionality

The alarm module provides a means of triggering the terminal to perform operations based upon the values held in registers in any of the available modules. There are 32 alarm channels each of which can be programmed to trigger an operation if the result of a comparison between the value held in one of the terminal registers and a programmable threshold value is true. If an alarm is triggered then the value in the terminal register that caused the trigger is stored in Scratchpad register 0. The available comparison operations are shown in paragraph 5.5.3.5 below.

5.5.1.1 Updating Alarm Threshold Values

The alarm channels in the terminal are divided into two groups that respond to an update of the threshold value in slightly different ways. If the threshold value on any of the alarm channels 0 to 11 or 16 to 31 is updated as the result of a script operation then, if the terminal is restarted following a power down, the alarm threshold value will reset to the value defined in the original script. Channels 12 to 15 operate slightly differently following a system reset. These four channels will restart with the updated threshold value that was set by the script operation.

5.5.2 Alarm Control/Status

There is one alarm control/status register for each of the alarm channels provided by the terminal. These registers have different functions on read and write. When read, the register contains the current alarm channel status. When written the register uses the two LSB of the value to control the alarm channel, as shown in Table 21 below.

Alarm Control Value Action 00 Disable the alarm 01 Enable the alarm 10 Reset the alarm 11 Manually trigger the alarm

Table 21 – Alarm Control Codes

Page 39: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 30 of 120

Commercial In Confidence

5.5.3 Alarm Configuration

There is one alarm configuration register for each of the alarms provided by the terminal. The register is a 32-bit value divided up into fields as shown in the table below.

Bits Field Width Function 0 1 Alarm Enable 1 1 Latch Alarm 2 1 Auto Latch Release 7..3 5 Operation Number (Low Part)

11..8 4 Threshold Comparison Mode 14..12 4 Reserved - Leave as Zero 18..15 3 Operation Number (High Part) 19 1 Reserved - Leave as Zero 27..20 8 Target Register Number 31..28 4 Target Module Number

Table 22 – Alarm Configuration Register Field Definitions

5.5.3.1 Enable

When this bit is set the alarm channel is enabled, when cleared the alarm channel is disabled.

5.5.3.2 Latch Mode

In latch mode an alarm will trigger once when the alarm condition is first detected. The alarm will not be raised again until it has been reset using the reset alarm command in the control register or by setting the channel bit in the reset register.

5.5.3.3 Auto Latch Release

If the alarm is in latch mode then when the auto latch release bit is set, the latch will be removed automatically when the alarm condition is removed. As an example, if an alarm is set to trigger when an I/O line goes high then the alarm will trigger on the first detection of the bit going high. The latch will be set so that the alarm does not trigger on the next alarm polling cycle. On a later polling cycle the I/O line is low again and, if the auto release bit is set, the latch will be removed allowing the alarm to re-trigger the next time that the I/O line goes high. This removes the need to issue a reset alarm command to clear the latch manually.

5.5.3.4 Operation Number

The operation number field is an 8 bit number indicating the operation number that is to be triggered when the comparison function raises the alarm. The value is split into two parts in the register; the original 5 bits (Low Part), used in legacy terminals where only 32 operations were available, has been extended by 3 bits (High Part) to cater for the 64 operations currently available, and to allow for possible future expansion to 256 operations.

Page 40: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 31 of 120

Commercial In Confidence

5.5.3.5 Comparison Mode

Function Code

Comparison Operation Alarm Raised if… TSL Syntax

0x0 Equal Value == Threshold myValue == myThreshold 0x1 Not Equal Value != Threshold myValue != myThreshold 0x2 Less Than Value < Threshold myValue < myThreshold 0x3 Less Than or Equal Value <= Threshold myValue <= myThreshold 0x4 Greater Than Value > Threshold myValue > myThreshold 0x5 Greater Than or Equal Value >= Threshold myValue >= myThreshold 0x6 Bit Set ( Value & Threshold ) == Threshold myValue %1 myThreshold 0x7 Bit Clear ( ~Value & Threshold ) == Threshold myValue %0 myThreshold 0x8 <reserved> <alarm never raised> 0x9 <reserved> <alarm never raised> 0xA <reserved> <alarm never raised> 0xB <reserved> <alarm never raised> 0xC <reserved> <alarm never raised> 0xD <reserved> <alarm never raised> 0xE <reserved> <alarm never raised> 0xF <reserved> <alarm never raised>

Table 23 – Alarm Comparison Mode Codes

5.5.3.6 Target Register ID

The target register for the alarm is defined by a 12-bit address, made up from a 4 bit module ID and an 8 bit register address. These register addresses are defined in the separate module description sections within this document.

5.5.4 Alarm Threshold

There is one alarm threshold register for each of the alarm channels in the terminal. These hold the value used by the alarm channel when it is performing the comparison test on the value held in the target register. Each register holds a 32-bit value.

5.5.5 Alarm Control

There is a set of 5 registers that allow the alarms to be controlled in groups. These write only registers allow a defined group of alarms to be disabled, enabled, reset or triggered together.

5.5.5.1 Disable Alarms

The disable alarms register is a 32-bit write only register. The value written to this register is a bit mask of the channels to be disabled. Alarm 0 is indicated by the LSB of the value and alarm 31 by the MSB. Writing a 1 to the channel control bit causes the alarm to be disabled.

5.5.5.2 Enable Alarms

The enable alarms register is a 32-bit write only register. The value written to this register is a bit mask of the channels to be enabled. Alarm 0 is indicated by the LSB of the value and alarm 31 by the MSB. Writing a 1 to the channel control bit causes the alarm to be enabled.

Page 41: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 32 of 120

Commercial In Confidence

5.5.5.3 Reset Alarms

The reset alarms register is a 32-bit write only register. The value written is a bit mask of the channels to have their latches reset. Alarm 0 is indicated by the LSB of the value and alarm 31 by the MSB. Writing a 1 to the channel control bit causes the alarm latch to be reset.

5.5.5.4 Trigger Alarms

The trigger alarms register is a 32-bit write only register. The value written to this register is a bit mask of the channels to be triggered. Alarm 0 is indicated by the LSB of the value and alarm 31 by the MSB. Writing a 1 to the channel control bit causes the alarm to be triggered.

5.5.5.5 Toggle Alarms

The toggle alarms register is a 32-bit write only register. The value written to this register is a bit mask of the channels for which the enable state is to be toggled. Alarm 0 is indicated by the LSB of the value and alarm 31 by the MSB. Writing a 1 to the channel control bit causes a disabled alarm to be enabled and an enabled alarm to be disabled.

5.5.5.6 Restart Alarms

The restart alarms register is a 32-bit write only register. Writing to this register allows a simultaneous clearing of the alarm latch and enabling the alarm if it was previously disabled. The value written to this register is a bit mask of the channels to be unlatched and enabled. Alarm 0 is indicated by the LSB of the value and alarm 31 by the MSB. Writing a 1 to the channel control bit causes that channel to be affected.

5.5.5.7 Combined Operation to Enable and Disable Alarm Channels

This function is only available for alarm channels 0 to 15.

The alarm channels to be enabled are defined by the bits set within 16 most significant bits of the 32-bit operation parameter value. The alarm channels to be disabled are defined by the bits set in the bottom 16 bits of the 32 bit operation parameter value.

Page 42: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 33 of 120

Commercial In Confidence

5.6 Interface Module

Module ID = 0x03 Register addresses = Table 5 IMPORTANT NOTE - The register descriptions in this module contain details of the maximum number of input and output lines supported by the software. Not all of these lines are available in the terminal hardware at any one time.

5.6.1 I/O Configuration Register

The I/O configuration register controls the input/output configuration of the eight terminal interface ‘channels’. The interfaces available depend on the hardware configuration as detailed in Table 24 below. Refer to the SAT-200/202 user manual for electrical specifications.

I/O Line Valid Configuration Options Comments OUT (Internal channel 0)

Open Drain Out The user must ensure that the configuration is set to ‘Open Drain’ for correct operation. The Open Drain output remains active during sleep mode.

IO1, IO2, IO3 (Internal channels 1,2 & 3 respectively)

Analogue Input High Volt Digital Input (Polled or Interrupt) Digital Input (Polled or Interrupt) Alert Digital Input (Polled or Interrupt) Digital Output

IO2 corresponds to SAT-201 interface pin IN1 IO3 corresponds to SAT-201 interface pin IN2 IO1 corresponds to SAT-201 interface pin OUT2 (was open drain output on SAT-201)

IO4, IO5 (Internal channels 4 & 5)

Analogue Input Digital Input (Polled) Digital Output

Unprotected. Available on SAT-200 when Module 1, Register 0xFD = 0 (see 5.3.22)

GEM-100 IO4 to IO7 (Internal channels 4 to 7)

Analogue Input Digital Input (Polled or Interrupt) Alert Digital Input (Polled or Interrupt) Digital Output

Available with SAT-202/GEM-100 combination only, i.e. when Module 1, Register 0xFD = 1 and a GEM-100 connection is detected. (see 5.3.22)

Table 24 – Valid I/O Channel Configurations

The register contains eight 4-bit fields, one for each channel. The pin mode is defined by the code written in the field associated with that pin. The codes are described in Table 25 below.

23 22 21 20 19 18 17 16 24 2526272831 30 29Bit Bit Bit Bit Bit Bit Bit Bit BitBitBitBitBitBit BitBit

Channel 7 Mode Channel 6 Mode Channel 5 Mode Channel 4 Mode

7 6 5 4 3 2 1 08910111215 14 13Bit Bit Bit Bit Bit Bit Bit Bit BitBitBitBitBitBit BitBit

Channel 3 Mode Channel 2 Mode Channel 1 Mode Channel 0 Mode

Figure 1 – Configuration Register Bit Functions

Page 43: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 34 of 120

Commercial In Confidence

Pin Mode Number I/O Pin Configuration 0 Analogue Input 1 High Volt Digital Input 2 Digital Input 3 Alert Digital Input 5 High Volt Digital Input Interrupt 6 Digital Input Interrupt 7 Alert Digital Input Interrupt 8 Digital Output 9 Open Drain Out

10 4-20mA Current Loop 11 Analogue Output

Table 25 – I/O Pin Mode Configuration Codes

5.6.2 Analogue Inputs

Channels configured to be analogue inputs have an input voltage range of between 0 and 2.5 volts and provide a 12-bit conversion result according to the following formula:

5.24096

×=VoltageValue

Channels not configured as analogue inputs will always return a conversion result of 0.

Important: There is a short delay between setting an I/O to an analogue input, and the associated register being updated with the first valid conversion result. Scripts that compare analogue input values with a threshold should therefore allow 10 seconds, following I/O configuration (i.e. normally only after initial power on), for the first conversion to complete.

5.6.3 Digital Inputs

The input state register provides the input state of channels configured as digital inputs. A state value of 0 will be returned for those channels not configured as digital inputs.

7 6 5 4 3 2 1 0ChanChanChanChanChanChanChan Chan

7 6 5 4 3 2 1 0BitBitBitBitBitBit BitBit

Input Channel State (1 = Logic High, 0 = Logic Low)

Figure 2 - Digital Input State Register Bit Functions

Page 44: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 35 of 120

Commercial In Confidence

5.6.4 Digital Outputs

The logic state for channels configured as digital outputs is set by the value written to the digital output register.

7 6 5 4 3 2 1 0ChanChanChanChanChanChanChan Chan

7 6 5 4 3 2 1 0BitBitBitBitBitBit BitBit

Output Channel State (1 = Logic High, 0 = Logic Low)

Figure 3 - Digital Output State Register Bit Functions

5.6.5 Processor Supply Voltage

The processor supply voltage is continuously measured using the on-chip ADC. The result from this conversion is stored in a 16-bit wide, unsigned integer format. The value stored is the measured voltage in mV. This rail is regulated on the terminal board to a nominal 3.3V.

5.6.6 External Supply Voltage

The external supply voltage (9.6V to 32V) is measured using the on-chip ADC, when ADC conversions are enabled. The result from this conversion is stored in a 16-bit wide, unsigned integer format. The value stored is the measured external supply voltage in mV.

5.6.7 GEM-100 Battery Supply Voltage

When a GEM-100 is utilised, its battery supply voltage is stored in a 16-bit wide, unsigned integer format. The value stored is the measured battery supply voltage in mV.

If a GEM-100 is not used the battery supply voltage register will always return a value of zero.

There are a number GEM-100 battery voltages that trigger events in the battery charging cycle and terminal operation:

• The terminal will shut down if the GEM-100 reports that its battery voltage is less than 10.2V and there is no external power supply (not solar panel input.)

• If the terminal has shut down due to a low battery voltage then it will not restart until the GEM-100 reports that its battery voltage has recovered to 13.1V. If the battery has not recovered to this level then there will be insufficient energy available to perform any transmissions.

• Once the battery has been fast charged from an external supply then the battery will be held in trickle charge until its voltage falls to 12.5V when the fast charge will re-enable.

• When the terminal is operating with a solar panel providing the battery charger source the battery will charge fully and then the solar charger will be turned off. The solar charger will be turned back on when the battery voltage falls to 13.4V.

A fully charged battery pack generally has a voltage of around 14.2V

Page 45: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 36 of 120

Commercial In Confidence

5.6.8 Device Temperature

The terminal contains a temperature sensor. When the ADC is enabled it is monitored by the software and the result stored in the device temperature register. The value stored is a signed 16 bit value representing the temperature in degrees Celsius.

5.6.9 Calibrated Temperature

The internal temperature sensor is for indication only. To obtain a more accurate reading a single point calibration can be entered.

Writing the current ambient temperature into the calibrated temperature register causes the terminal to calculate the offset from the internally derived value. The terminal will then use this offset to adjust all subsequent temperature readings. The value stored is a signed 16 bit value representing the temperature in degrees Celsius. The state of this register is stored in non volatile memory and is not erased when the processor firmware is updated

5.6.10 GEM-100 Battery Temperature

When a GEM-100 is utilised, its battery pack temperature is stored in a 16-bit wide, signed integer format. The value is the temperature x 10. (i.e. steps of 0.1 degree Celsius) except; a value of 2550 indicates battery pack not fitted, and a value of 0 is always returned if a non-rechargeable battery is fitted.

If a GEM-100 is not used, this register will always return the value 2550 (decimal) indicating battery pack not fitted.

5.6.11 GEM-100 Battery Power Output

The GEM-100 can output its battery supply voltage on I/O pin 7. This is controlled by a 1-bit value in the battery output enable state register. Writing a 1 to this register enables the battery output, zero returns the I/O line to its normal use as defined by the I/O configuration register.

5.6.12 GEM-100 User LED State

The GEM-100 unit has a second, user programmable LED indicator. The state of this LED is controlled by a two bit value written to this register. The LED colours displayed are shown in Table 26 below.

Value Colour 0 Off 1 Red 2 Green 3 Orange

Table 26 – User LED Colour Codes

Page 46: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 37 of 120

Commercial In Confidence

5.7 GPS Module

Module ID = 0x04 Register addresses = Table 6

5.7.1 Current Position

5.7.1.1 Status

The GPS status register is a read only register. The value returned from this register can be either 0 or 1. If it is 0 then the last GPS position fix was invalid, if it is a 1 then the position data is valid. An invalid GPS fix will be indicated if:

1. The GPS engine determines that it does not have a valid fix. (Note that even if the GPS reports a valid fix, the accuracy might be severely degraded in poor sky view conditions, in particular where direct line of sight to GPS satellites is blocked but the reflected signals are strong enough to be accepted for location determination.)

2. The terminal operating mode is changed so that the GPS is turned off 3. The MSP does not receive a message from the GPS for 4 seconds.

5.7.1.2 Latitude

The GPS latitude register contains the last value for the terminal position as read from the GPS receiver. The format of the value is shown in Table 27

Bits Function 31 Sign (0 = +ve, 1 = -ve) 23..30 Degrees 17..22 Minutes 11..16 Seconds

4..10 Hundredths of a second 0..3 Unused

Table 27 – Latitude/Longitude Data Format

5.7.1.3 Longitude

The GPS longitude register contains the last value for the terminal position as read from the GPS receiver. The format of the value is shown in Table 27.

5.7.1.4 Speed

The GPS speed register contains the last value for terminal unit speed as read from the GPS receiver. The speed is stored as a value in the range 0..32767 with a resolution of 0.1 m/s.

5.7.1.5 Heading

The GPS heading register contains the last value for the terminal heading as read from the GPS receiver. The heading is stored as a value in the range 0..3599 and with a resolution of 0.1 degrees.

Page 47: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 38 of 120

Commercial In Confidence

5.7.1.6 Altitude

The GPS Altitude register contains the last value for the terminal altitude as read from the GPS receiver. The altitude is stored as a value in metres.

5.7.1.7 Horizontal Dilution of Precision (HDOP)

The HDOP provides an indication of positional accuracy; the lower the HDOP the better. The HDOP register provides an integer value which is the HDOP * 100. The 16 bit register is set to 0xFFFF if the GPS reading is invalid. For example a register value of 0x00FA would indicate a HDOP of 2.5.

5.7.2 Reference Position

The reference position is a single location defined by its lat/long held in the ‘Reference Latitude’ and ‘Reference Longitude’ registers. The reference position may be updated to the current position by writing to the ‘Store Current as Reference’ register. Updating to any other value is only possible via the GR serial command (paragraph 7.8.4.2).

5.7.2.1 Store Current Position as Reference

This is a write only register that stores the current GPS location as the reference.

5.7.2.2 Reference Latitude

This register contains the latitude value of the reference position. The format is defined in Table 27.

5.7.2.3 Reference Longitude

This register contains the longitude value of the reference position. The format is defined in Table 27.

5.7.2.4 Distance from Reference

The distance from reference contains the calculated distance between the reference position and the current GPS position. The distance is calculated in metres and assumes a spherical earth with a radius of 6371km.

5.7.3 Target Positions

Trigger events can be generated dependent upon the relative position of the terminal and one or more target positions. Up to 8 target positions can be defined and stored in the terminal non-volatile memory. These target positions may be updated either by operator command over the serial link, or using a forward channel message (see paragraph 6.4) over the satellite to the terminal. It is not possible to update the target positions using the script functions.

Page 48: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 39 of 120

Commercial In Confidence

5.7.3.1 Distance from Target

There are 8 independent read only ‘distance from target’ registers. These contain the calculated distance, in metres, between the relevant target position and the current GPS position. These registers may be used by the alarms module to generate an event based on the terminals position relative to the target. If the target definition has not been initialised then the register cannot generate an alarm.

5.7.3.2 Distance to Closest Target

This register contains the distance, in metres, from the current position to the closest valid target position. If there are no valid targets defined then the value returned will be 0xFFFFFFFF.

5.7.3.3 Distance to the Farthest Away Target

This register contains the distance, in metres, from the current position to the farthest away valid target position. If there are no valid targets defined in the terminal then the value returned will be 0.

5.7.3.4 Target Latitude

There are 8 independent read only registers each of which contain the latitude value of one of the target positions. The value is stored in the format defined in Table 27.

5.7.3.5 Target Longitude

There are 8 independent read only registers each of which contain the longitude value of one of the target positions. The value is stored in the format defined in Table 27.

5.7.4 NMEA registers

Refer to paragraph 7.15.

5.7.5 Last GPS fix

Two registers provide information on when the last valid GPS position was obtained. The ‘number of hours since last fix’ register provides a 3 bit number indicating the number of hours since the last fix. A value of 7 indicates that it has been greater than or equal to 7 hours since the last fix.

The ‘time at last fix’ register gives the number of seconds past midnight that the last valid fix was obtained.

5.7.6 Geofence

The terminal allows for the definition of two geofence areas. These areas are each defined by a sequence of up to 40 points. These areas are used to determine whether or not the terminal location is within the selected global regions. Geofence definition and configuration uses the operator commands defined in section 7.8.3. An example of Geofence definition is described in APPENDIX A – Example Geofence Definition.

Page 49: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 40 of 120

Commercial In Confidence

5.7.6.1 Geofence Status

The geofence status registers 1 and 2 contain the result of comparing the current GPS position with geofences 1 and 2 respectively. The values read from these registers are defined in Table 28.

Register Value Meaning 0x00 Point Outside the defined area 0x01 Point inside defined area 0xFF Area not defined

Table 28 – Geofence Status Register

Page 50: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 41 of 120

Commercial In Confidence

5.8 Messaging Module

Module ID = 0x05 Register addresses = Table 7 The messaging module provides the interface to the Inmarsat-D messages received and transmitted by the terminal.

5.8.1 Return Burst Message ID Register

The return burst ID register is a write only register into which is written the ID code of the return burst message to be sent. Writing to this register causes the message to be queued for transmission.

The ID codes for pre-defined messages are listed in Table 29. The formats of the return messages are defined in reference [2]. The message ID code may also refer to one of the user-defined formats programmed into the terminal.

No transmission will occur if an undefined or reserved message code is used.

Message ID Code Message Data 0x01 GPS Position Report 0x02 Digital I/O Status 0x03 All Analogue Inputs – 8 bit result 0x04 <reserved> 0x05 Processor Environment 0x06 Analogue Input channel 0 – 12 bit result 0x07 Analogue Input channel 1 – 12 bit result 0x08 Analogue Input channel 2 – 12 bit result 0x09 Analogue Input channel 3 – 12 bit result 0x0A Analogue Input channel 4 – 12 bit result 0x0B Analogue Input channel 5 – 12 bit result 0x0C Analogue Input channel 6 – 12 bit result [GEM-100 Only] 0x0D Analogue Input channel 7 – 12 bit result [GEM-100 Only] 0x0E <reserved> 0x0F <reserved> 0x10 <reserved> 0x11 <reserved> 0x12 <reserved> 0x13 <reserved> 0x14 <reserved> 0x15 <reserved> 0x16 Report Scratchpad 1 Register 0x17 Report contents of Scratchpad 1 and 2 Registers 0x18 Aeronautical Position Report 0x19 Terrestrial Position Report 0x20 Target Point 0 Report 0x21 Target Point 1 Report 0x22 Target Point 2 Report 0x23 Target Point 3 Report 0x24 Target Point 4 Report 0x25 Target Point 5 Report 0x26 Target Point 6 Report 0x27 Target Point 7 Report

Page 51: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 42 of 120

Commercial In Confidence

Message ID Code Message Data 0x28 Terminal Software Version Report 0x29 Terminal Script Version Report 0x2A Stored Terminal Script Checksum Report 0x40 Double Burst: GPS Position and terminal status 0x7F Alternative Maritime Position Report

Table 29 – Return Message Type Numbers

5.8.1.1 Creating User Defined Messages

In addition to the standard messages that may be transmitted by the terminal it is possible to define custom message formats that are built up from data values extracted from the terminals internal registers. User message definition uses the operator commands defined in section 7.12.

Details of how to construct a user-defined message is provided in Appendix B – Example User Message Definition.

5.8.2 Return Burst Destination Address Register

This register contains the destination address field to be used in the return messages.

5.8.3 Combined Control Word and Destination Address

A special register has been included in the messaging register set that allows both the destination address and control word fields to be set in one operation. This has been provided to allow a single operation to be used to set a code value into the header of a return message. The Control word is a 4 bit value that is sent at the start of a long data message. It is set to contain bits 19..16 of the value written to this register. The destination address field is set with the 8 LSB of this combined register value (bits 7..0). Bits 15..8 are ignored.

5.8.4 Return Burst Acknowledge Flags

The return burst acknowledge flags set the type of acknowledgement that is to be provided to the return burst from the terminal. There are two types of acknowledgement: application acknowledge and LES acknowledge. These two acknowledgement methods are requested by bit 0 (application) and bit 1 (LES acknowledge). If an LES acknowledge is requested for a return burst then the terminal will wait for the forward channel acknowledgement message from the LES. If after 10 minutes the terminal has not received an acknowledgement the terminal will re-send the burst.

5.8.5 Return Burst Control Flags

This register contains the control flags field to be used in the return bursts.

5.8.6 Return Channel Message Scrambling Vector

Data transmitted by the terminal in long data bursts can be scrambled using a combination of the unique terminal ISN value and the user provided value stored in this register. Writing

Page 52: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 43 of 120

Commercial In Confidence

a value of zero to this data register turns off the message scrambling feature. Contact Honeywell Global Tracking for more details on message scrambling.

5.8.7 Terminal Receiver Status Registers

5.8.7.1 Receiver Channel Number

This register contains the Inmarsat satellite channel number on which the terminal is expecting to receive its signal, either the bulletin board or the traffic channel.

5.8.7.2 Receiver Signal Quality

This register contains the received signal C/N0. The value in this register is given by: ( )

104096×

=dBinSignalValue

5.8.7.3 Receiver Status

This register contains the receiver status byte as returned by the terminal. The fields within the byte are shown in Table 30 below.

Bits Meaning 0 Condition (0 = Normal, 1 = Abnormal) 1 BB Alarm (0 = Normal, 1 = Alarm) 2 BB/Traffic Indicator (0 = BB, 1 = TC) 3 Reserved 4..6 Receiver Status Code:

0 = DSP Reset 1 = Configuring 2 = Wideband Acquisition 3 = Narrowband BB 4 = BB Tracking and Demodulation 5 = Narrowband Traffic 6 = Traffic Tracking and Demodulation 7 = Reserved

7 Reserved

Table 30 – Receiver Status Byte Fields An abnormal condition on the bulletin board can be one of the following:

• Bulletin board does not contain an entry for the configured terminal service ID. • Bulletin board does not contain an entry for the configured terminal Beam Number. • Bulletin board does not contain an entry for the configured terminal pager subset

number.

5.8.8 Terminal Transmitter Status Register

The terminal transmitter status register contains the 32-bit status information returned by the terminal.

Page 53: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 44 of 120

Commercial In Confidence

The format of the fields in this register is as shown in Table 31 below. Bits Meaning 0..2 Transmission state

0 = Reserved 1 = Tx Acceptance 2 = Waiting to Transmit 3 = Transmitting 4 = Transmission complete

3 PLL Unlocked 4 Transmission Waiting 5..7 Transmit Inhibit Reason

0 = Transmission enabled 1 = TX Inhibit by PLL unlock 2 = TX Inhibit by RX condition 3 = TX Inhibit by System Message 4 = TX Inhibit by Waiting for ACK

8..9 Traffic Control 10..11 Burst Type

0 = ACK burst 2 = Long Burst (or part of Double Burst)

12..15 Reserved 16..19 Minutes(1) 20..23 Minutes(10) 24..27 Hours(1) 28..31 Hours(10)

Table 31 – Transmitter Status Register Fields The time value reported is the time of last message transmission or 00:00 if the terminal has not sent a message. The time is reset each time that the terminal is powered down or enters sleep mode.

5.8.9 Transmit Randomisation Period

This register contains the period over which the return burst transmission may be randomised. The value written to this register contains the number of transmission frames from which the transmission slot is chosen. If the value is zero then the message is transmitted in the next available return channel slot. This mode of operation should only be used for transmissions where the timing of the trigger event is inherently random, e.g. manual panic alarms. Messages generated as a result of events triggering at a given time of day require larger randomisation values so that there will not be a large population of terminals trying to transmit in the same time slots.

5.8.9.1.1 Reasons for Randomising Message Transmission

Messages sent by a terminal are normally generated in response to an event. This may be a periodic report, an external exception condition or an event that happens at a specific time of day. The timing of some of these may be random, for example the time at which a monitored device generates an exception report will normally be random, but many events happen at a specific time of day. If there is a population of terminals that all generate and transmit their messages at the same time then there is a higher probability of collisions

Page 54: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 45 of 120

Commercial In Confidence

between terminal transmissions and hence data loss. Collisions can be minimised by ensuring an even spread (in time) of transmissions from the terminal population. This can be achieved by specifying a larger number for the slot randomisation.

If an application has a large number of terminals configured to transmit at a single time of day then that application might suffer a high message loss, but because the transmissions generated by this application occur over a small period of time the effect upon other applications, that spread their transmissions more evenly, is negligible.

5.8.10 Transmit Retries

For messages transmitted with a request for an LES acknowledgement, the terminal can be configured to re-send the message if an LES acknowledgement is not received. The Transmit Retries register sets the number of retries (0 to 15) to be attempted. There will be at least 90 seconds (three frames) between each retransmission to allow time for an LES acknowledgement to be received.

5.8.11 Receive Signal Level

Inmarsat-D received signal level multiplied by -100. E.g. a value of 0x109E (=decimal 4254) would equate to a signal level of -42.54dBm.

5.8.12 Receive Frequency Offset

Inmarsat-D received signal frequency offset, in Hz, from the nominal channel frequency.

5.8.13 Receive Rate of Change Frequency

Rate of change of frequency, in Hz/s, on received Inmarsat-D signal.

5.8.14 Receive Symbol Errors

Provides the number of corrected errors in the data portion of the most recently received Inmarsat-D frame. As the data portion of the frame is variable in size, depending on the amount of data traffic, this parameter should be used for indication purposes only if used to gauge quality of service.

5.8.15 Number of Messages in the Transmit Queue

This is a read only register that contains the number of return channel messages that are awaiting transmission that was reported by the DSP at the last update. The value reported is that received from the DSP as the transmit messages pending parameter in the TT message report.

5.8.16 Transmit Queue Configuration

This is a read only register that contains, in the bottom 4 bits, the length of the return channel transmit message queue and, in the next bit the queue message insertion mode as these were reported by the DSP at the last update. The values reported are those received from the DSP in the TW message report.

Page 55: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 46 of 120

Commercial In Confidence

5.8.17 Poll Message Control Registers

These two registers are used to control the regular reporting capability of the terminal. The terminal can produce regularly timed return message bursts containing any of the standard format messages defined in paragraph 5.8.1.

5.8.17.1 Poll Message ID

The poll message ID register contains the message number to be transmitted in the regular return burst from the terminal. This may be one of the standard message ID numbers as defined in Table 29 or the number of one of the user defined message formats programmed into the terminal.

5.8.17.2 Poll Message Repeat Rate

The poll message repeat rate defines the interval between message transmissions in seconds. The message transmission interval will not take place at the exact second spacing defined by this message due to space network limitations and the protocol for transmissions used by the terminal. The interval specified is the time between the requests to the terminal transmitter to send the message.

There are a number of limitations to the values that can be written to this register.

• 0 Disables Poll messages • 1 .. 60 Transmits a single poll report • 61..599 Transmits messages at 600 second (10 minute) intervals, the value

written to the register is automatically rounded up to 600. • 600 up Transmits messages at the requested intervals

5.8.18 Tone Only Message Response Registers

These four registers contain the return burst numbers to be transmitted by the terminal in response to a tone only forward channel message. This message number may be one of the standard messages or a valid user defined message number. If the value stored is zero then the terminal will not respond to the tone only message but will output the message data over the serial port in the normal way using the unsolicited ‘mf’ message or the user polled ‘mc’ and ‘mn’ messages.

5.8.19 Forward Channel Message Output Mode Register

The forward channel message output control register controls whether or not messages received over the satellite by the terminal are output as unsolicited ‘mf’ messages. If the LSB of the register is clear (default) then the terminal will pass any user forward channel messages received out of the serial port as an ‘mf’ message paragraph 7.9.1.3). If the bit is set then the message output is disabled and the messages must be read out by polling the terminal using the MC and MN commands (paragraphs 7.9.1.2 and 7.9.1.4 respectively).

Page 56: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 47 of 120

Commercial In Confidence

5.9 Scratchpad Module

Module ID = 0x06 Register addresses = Table 8 The scratchpad module provides 16 general-purpose 32 bit wide registers that may be used by the operations.

5.9.1 Scratchpad Register Special Functions

The first three scratchpad registers have special functions assigned to them.

5.9.1.1 Scratchpad Register 0

Scratchpad register 0 contains the result value from the last operation performed or the value that caused the alarm to trigger. Any value written to this register will be overwritten by the next active alarm or operation performed.

5.9.1.2 Scratchpad Registers 1 and 2

These two registers are used as a data source for the return message types 0x16 and 0x17. The data values held in these registers can be sent in a return burst message from the terminal.

Page 57: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 48 of 120

Commercial In Confidence

5.10 Operations Module

Module ID = 0x07 Register addresses = Table 9

5.10.1 Operation Definitions

An operation within the terminal takes a pre-programmed value and applies it to one of the registers available in the functional module. An operation is triggered by an alarm, a timer or another operation (a ‘chained’ operation).

Each operation is defined by two registers; the configuration register and the value register. The first of these defines the target of the operation and the operation to be performed on that target register. It also defines whether or not another operation is to be performed after this one, whether the operation is part of a chain. The second, or value register, contains the value that is to be used in calculating the value to be written to the target register. This may be a value to be written directly to the target, an up or down increment to be applied to the current value or it may be a binary bit mask to be applied to the target register value.

5.10.2 Operation Configuration Register

There is one operation configuration register for each of the 64 operations provided by the terminal. The register is a 32-bit value divided up into fields as shown in the table below.

Bits Field Width Function 0 1 Operation Enable 1 1 Operation Chaining Enable 7..3 5 Chained Operation (Low Part)

11..8 4 Operation Function 12 1 Update Stored Script 13 1 Do Not Update Running Script 15..12 4 Reserved – leave as zero 18..16 3 Chained Operation (High Part) 19 1 Reserved – Leave as zero 27..20 8 Target Register Number 31..28 4 Target Module Number

Table 32 – Operation Configuration Register Field Definitions

5.10.2.1 Operation Enable

Operations are enabled by setting the Operation Enable bit of the relevant operation configuration register. (Also see paragraph 5.10.5)

5.10.2.2 Operation Chaining

Operations may be configured so that they operate in a sequence. This is called a chain and is enabled by setting the Operation Chaining Enable bit of the relevant operation configuration register. If chaining is enabled then once an operation is complete the next operation in the chain will be performed. The next operation in the chain is defined in the Chained Operation field (split into a Low part and High part).

Page 58: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 49 of 120

Commercial In Confidence

5.10.2.3 Operation Function Codes

The 4 bit operation function code defines the operation to be performed on the target register. The codes used to define the operations are listed in Table 33. Function

Code Operation Result of Operation TSL Syntax

0x0 No Operation Target not written myTarget NOP 0x1 Store Value Target = Value myTarget = myValue 0x2 Bitwise And Target = Target & Value myTarget AND myValue 0x3 Bitwise Invert And Target = Target & ~Value myTarget AND NOT myValue 0x4 Bitwise Or Target = Target | Value myTarget OR myValue 0x5 Bitwise Invert Or Target = Target | ~Value myTarget OR NOT myValue 0x6 Bitwise Exclusive-Or Target = Target ^ Value myTarget XOR myValue 0x7 Unsigned Add Target = Target + Value myTarget += myValue 0x8 <reserved> <undefined> 0x9 Unsigned Subtract Target = Target - Value myTarget -= myValue 0xA <reserved> <undefined> 0xB Last Operation Target = Trigger Value (1st operation in chain)

or Result of last operation

myTarget LASTOP

0xC Shift N bits Left Target = Target << Value myTarget << n 0xD Shift N bits Right Target = Target >> Value myTarget >> n 0xE <reserved> <undefined> 0xF <reserved> <undefined>

Table 33 – Operation Function Codes If an operation is performed on a write only register then the value of the target register before the operation is performed will always be zero. This means that operations 2, 3 and 9 will always write 0 to the target register, 1, 4 and 7 will write value to the target, 5 and 6 will write the complement of value to the target. The result value for each operation performed is written to Scratchpad register 0 as well as the target specified in the operation. Performing a NOP on a register reads its value into scratchpad register 0 so that its value can be used by the LASTOP function.

5.10.2.4 Update Stored Script

Scripts are stored in non-volatile memory within the terminal and copied into and run from RAM following power on. Operations can be configured such that any modifications to scripting registers (e.g. timer value changes) either:

1. Survive a power cycle or; 2. Be lost on a power cycle or reset, with the script reverting to its originally uploaded

state.

If the Update Stored Script bit in the operation control word is set then the value written to the Target register will also be stored to non volatile memory so that the changes to the script will survive a power cycle or reset. This is primarily intended to allow the updating of timer and alarm trigger values but may be used to set other terminal configuration values.

5.10.2.5 Do Not Update Running Script

(See also 5.10.2.4.) When this bit is set the value written by the operation is not written to the active Target register. But, if the Update Stored Script bit is set then the copy of the

Page 59: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 50 of 120

Commercial In Confidence

Target register stored in non volatile memory will be updated, causing the operation of the script to be modified from the next terminal power cycle or reset.

5.10.2.6 Target Register ID

The target register for the operation is defined by a 12 bit address, made up from a 4 bit module ID and an 8 bit register address. These addresses are defined in the separate module description sections within this document.

5.10.3 Operation Value Register

The operation value register contains a 32 bit unsigned integer value that is used by the function defined in the operation configuration register to modify the value stored in the operation’s target register.

5.10.4 Disable Operations

Two 32-bit write only registers provide the ability to disable multiple operations. One register affects operations 0 (LSB) to 31 (MSB), the other affects operations 32 (LSB) to 63 (MSB). Writing a 1 to the relevant bit causes the operation to be disabled.

On being disabled, the values stored in the operation registers are held at their current state until the operation is re-enabled.

5.10.5 Enable Operations

Two 32-bit write only registers provide the ability to enable multiple operations. One register affects operations 0 (LSB) to 31 (MSB), the other affects operations 32 (LSB) to 63 (MSB). Writing a 1 to the relevant bit causes the operation to be enabled.

5.10.6 Reset Operations

Two 32-bit write only registers provide the ability to reset multiple operations. One register affects operations 0 (LSB) to 31 (MSB), the other affects operations 32 (LSB) to 63 (MSB). Writing a 1 to the relevant bit causes the operation to be reset.

A reset causes the operation configuration and value registers to be cleared and these must be reconfigured before they can be re-enabled.

5.10.7 Trigger Operations

Two 32-bit write only registers provide the ability to trigger multiple operations. One register affects operations 0 (LSB) to 31 (MSB), the other affects operations 32 (LSB) to 63 (MSB). Writing a 1 to the relevant bit causes the operation to be triggered.

When an operation is triggered any other operations that are chained after the triggered operation will also be triggered. If more than one operation is triggered then the lowest numbered operation (or operation chain) will be triggered first.

Page 60: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 51 of 120

Commercial In Confidence

5.11 Constant Generator Module

Module ID = 0x0F Register addresses = Table 10 The constant generator module is provided primarily to allow the insertion of constant data into the user defined return burst formats, see Appendix B – Example User Message Definition. The module provides 256 read only registers each of which returns a different 32 bit constant value. The values returned by each of the registers are shown in Table 10.

Page 61: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 52 of 120

Commercial In Confidence

6 OVER AIR REMOTE CONTROL

The terminal uses transparent data messages with information type E to provide remote control of its operation. These message formats are defined in the Honeywell Global Tracking message registry document, ref. [2]. Unrecognised type E messages will be ignored.

6.1 Trigger Operation Message

The trigger operation message causes the terminal to activate a script operation using the information in the message to indicate the operation to be performed and providing a parameter value that may be used by the operation. The data packet transmitted to the terminal has a length of either 8 or 40 bits as defined below.

Bits Function Value 1..3 Command ID 3 bits (value 0x8) 4..8 Operation Number 5 bits 9..40 Parameter (Optional) 32 bits

Table 34 – Trigger Operation Forward Channel Message The 32-bit parameter value is written into scratchpad register 0 from where it may be used by the first operation in the programmed chain. If the parameter value is omitted then a value of zero is assumed by the terminal.

NOTE – Operations that have to be triggered over the air must be defined within the first 32 of the 64 available. It is not possible to trigger operations 32 to 63 directly using a trigger operation forward channel message.

6.2 Remote Terminal Poll

The remote terminal poll function allows the terminal to be interrogated remotely. The terminal will respond to this message by sending return burst messages as requested by the two parameter fields in the message.

The first parameter is a 16-bit value containing the message repeat interval. If this value is zero then the terminal will stop generating messages. If the value is 1 then a single return burst will be transmitted. For all other values the message will continue to be sent at the interval requested except that the minimum gap between messages is 10 minutes, so values from 2 to 9 are increased internally to 10.

The second parameter is the return burst message type. This is the code number for the message type as listed in Table 29 or the message number for a user defined message (see section 5.8)

Bits Function Value 1..8 Command ID 8 bits (value 0xC0) 9..24 Message repeat interval 16 bits 25..32 Return Message type 8 bits

Table 35 – Remote Poll Forward Channel Message

Page 62: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 53 of 120

Commercial In Confidence

6.3 Remote Digital Output Control

This message sets the values seen on the digital output lines directly. The value sent in this message will overwrite any calculated value written to the outputs using a script or local external controller.

Bits Function Value 1..8 Command ID 8 bits (value 0xC1) 9..16 Digital output value 8 bits

Table 36 – Remote Digital Output Control Forward Channel Message

6.4 Set Target Position

This message sets the latitude and longitude value to be used for one of the GPS target points.

Bits Function Value 1..8 Command ID 8 bits (value 0xC3) 9..16 Target ID 8 bits 17 Response Request 1 18..20 Unused 3 21 Hemisphere (0 = N, 1 = S) 1 22..40 Latitude in seconds 19 41..43 Unused 3 44 Hemisphere (0 = E, 1 = W) 1 45..64 Longitude in seconds 20 bits

Table 37 – Target Position Definition Message

Page 63: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 54 of 120

Commercial In Confidence

6.5 Read/Write Terminal Register

This message allows the value of any of the terminal scripting/configuration registers listed in section 5 to be polled and/or modified remotely using a forward channel message. The changes may be made to the running script, to the stored initialisation script or to both. It is possible to modify multiple registers with a single forward channel message and to receive a return message from the terminal containing the data written to the modified register. Bits Function Value 1..8 Command ID 8 bits

value 0xC4 – No return message confirmation value 0xC5 – Return message confirmation required

9..12 Module ID 4 bits 13..20 Register Address 8 bits 21 Do Not Update Running

Script 1 – Do not update running script 0 – Update running script register

22 Update Stored Script 1 – Write value to stored script 0 – Do not update the stored script value

23..24 Number of Data Bytes 0 – No data, use zero 1 – 8 bits of data, higher bits assumed zero 2 – 16 bits of data, higher bits assumed zero 3 – 32 bits of data in the message

Variable Data Value written to the scripting register

Table 38 – Remote Register Read/Write Message To reduce the amount of data that is transmitted to the terminal the message contains a ‘number of data bytes’ field that allows the data to be sent as zero, one, two or four bytes depending upon the size of the target register or the data value to be written. Any bits not included in the data value sent are assumed by the terminal to be zero. If the ‘number of data bytes’ is set to zero then no data field is required and, if a write function has been selected, a value of zero will be written to the target scripting register.

If the message command ID is 0xC5 then the terminal will transmit a return channel message for each target register. If the ‘Do Not Update Running Script’ bit is set then the value returned will be the unmodified contents of the running script register. If the ‘Do Not Update Running Script’ bit is clear the value returned will be the updated running script copy of the register, providing confirmation that the change has occurred.

Multiple register updates are performed by repeating the ‘Module ID’ to ‘Data’ fields for each of the registers to be updated. This is demonstrated by the example below which writes to three registers using a single forward channel message:

Page 64: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 55 of 120

Commercial In Confidence

Field Data Value Description Command ID 0xC4 0xC4 Write Register Module 0x1 Timer module number Register 0x43 Register address being accessed within the module RAM 0 Update value in RAM EEPROM 0 Not update EEPROM store Payload Size 1 8 bit payload data Payload Data 0x64 Data value written to the script register Module 0x2 Alarm module number Register 0x24 Register address being accessed within the module RAM 1 Not update value in RAM EEPROM 1 Update EEPROM store Payload Size 2 16 bit payload data Payload Data 0x2317 Data value written to the script register Module 0x7 Operation module number Register 0x26 Register address being accessed within the module RAM 0 Update value in RAM EEPROM 1 Update EEPROM store Payload Size 0 0 bit payload data

Table 39 – Example of Multiple Register Update Message Data Structure The data structure shown in Table 39 is then built into the message payload:

c4 1 43 1 64 2 24 E 2317 7 26 4

6.6 Return ‘Read Register’ Message Format

The return message sent by the terminal in response to a read register command is identified by a message descriptor field value of 0x2B. The control flags, destination address and acknowledge flags are all set to the values held by the terminal at the time that the message is sent.

Field Size Description Control Flags 4 bits From Script Destination Address 8 bits From Script Message Descriptor 8 bits 0x2B Module ID 4 bits Module address Register Number 8 bits Register address being reported Register Contents 32 bits Value read from the script register Zero data 20 bits Zero data Ack Flags 2 bits From Script

Table 40 – Return Burst Message Format

Page 65: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 56 of 120

Commercial In Confidence

7 SERIAL COMMAND INTERFACE

7.1 Command & Response Formats

7.1.1 Command format

The commands on this interface have a format as shown below.

<char><char><optional_space><parameter_list><carriage_return>

where: <char> is a single upper case ASCII character.

<optional_space> is one or more ASCII space characters that may be inserted between the command header and the parameter list.

<parameter_list> is a command specific sequence of ASCII characters defining the parameters to the command.

<carriage_return> is the ASCII code for carriage return (0x0D).

The <carriage_return> character on a command may be followed by a <line-feed> character.

In the following Command description sections the following conventions apply <SP> is the ASCII code for a space character (0x20) <CR> is the ASCII code for a carriage return (0x0D) <LF> is the ASCII code for a line feed character (0x0A)

Note: The maximum number of characters in any command, from the first <char> to the <carriage_return> is 39. If this length is exceeded, for example by adding extra <optional_space> characters then an error message will be generated and the command will be ignored.

7.1.2 Response Format

The response to each command mirrors the command format with the two command characters returned in lower case. The exact response returned for each command is detailed in its command description in sections 7.3 to 7.14.

Page 66: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 57 of 120

Commercial In Confidence

7.2 Command Availability

The terminal may be configured to operate in one of 5 power modes (see paragraph 5.3.4) one of which is ‘Sleep’ mode. In sleep mode as much of the terminal hardware as possible is turned off to reduce power consumption. In this mode the serial port output drivers are disabled and the majority of the commands available to the terminal are not recognised. The commands that are recognised are:

• CE - Get/Set Terminal Power Control State • CU - Get/Set Terminal User Power Mode • PI - Terminal Reset • PS - Enable/Disable Scripting

These commands allow the user to put the terminal into another mode where the required command is active, to reset the terminal operation to a default state and to turn off the script operation within the terminal to allow recovery from a scripting fault when the terminal is continuously being switched back into sleep mode.

Page 67: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 58 of 120

Commercial In Confidence

7.3 Terminal Configuration Module Commands

7.3.1 CA – Get/Set the Terminal Satellite Selection Mode

Get/set the auto satellite selection mode for the Terminal. Command Format CA<mode><CR> CA?<CR> Response Format ca<SP><mode><CR><LF>

<mode> 4 character ASCII hex representation of a 16 bit number. The value is stored in the Satellite Selection Mode register (module 0x0, register 0x02) - see paragraph 5.3.3

7.3.2 CB – Select Ocean Region

Get/set the ocean region in use by the terminal. Command Format CB<ocean_region><CR> CB?<CR> Response Format cb<SP><ocean_region><CR><LF>

<ocean_region> 2 character ASCII hex representation of a byte. The value is stored in the Ocean Region Selection register (module 0x0, register 0x01) - see paragraph 5.3.1.

7.3.3 CE – Get/Set the Terminal Power Control State

Get/set the power control state for the Terminal. Command Format CE<power_ctrl> CE?<CR> Response Format ce<SP><power_ctrl><CR><LF>

<power_ctrl> 2 digit ASCII hex representation of a byte value. The value is stored in the Power Control register (module 0x0, register 0x03) – see paragraph 5.3.4.

Page 68: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 59 of 120

Commercial In Confidence

7.3.4 CF –Set the Terminal to Factory Defaults

The CF command sets the terminal configuration to a known default state (see Ref.[1]). The script timer, alarm, operation and target point definitions are cleared; the terminal is then configured such that on power-up it will acquire GPS, tune to the best ocean region for the terminal location and transmit a single position report. The transmission function can be reset by issuing a valid MP command (paragraph 7.9.2.6) or by changing the terminal remote polling configuration using a forward satellite channel message. Command Format CF 1600CDA<CR> Response Format cf<SP>01600CDA<CR><LF> The CF? command is used to determine whether the terminal has been configured to transmit its position report message on power up: Command Format CF?<CR> Response Format cf<SP><state><CR><LF>

<state> single ASCII digit; 1 if the terminal is configured to transmit on power up and 0 if it is not.

7.3.5 CI – Get/Set the Service ID Selection

Get/set the Service ID Selection number. The 5 pre-programmed service IDs held within the terminal can be read using the ‘DS TJ?’ command (section 7.14.7). This command selects one of these service ID configurations to be active. Command Format CI<service><CR> CI?<CR> Response Format ci<SP><service><CR><LF>

<service> single ASCII digit representation of a 4 bit number (valid values 0 to 4). The value is stored in the Service ID Selection register (module 0x0, register 0x01) – see paragraph 5.3.2

Page 69: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 60 of 120

Commercial In Confidence

7.3.6 CN – NMEA Message Output Control

Enable the output of one or more NMEA format messages. Command Format CN<control_flags><CR> CN?<CR> Response Format cn<SP><control_flags><CR><LF>

<control_flags> 2 digit ASCII hex representation of a byte value. The value is stored in the NMEA output control register (module 0x0, register 0x20) – see paragraph 5.3.11.

7.3.7 CP – Get MSP Firmware Version

Get the version number of the MSP processor firmware. Command Format CP?<CR>

Response Format cp<SP><MSP_version ><CR><LF>

<MSP_version> 4 ASCII characters comprising the MSP version string. The value is read from the MSP firmware version register (module 0x0, register 0x06) – see paragraph 5.3.6.

7.3.8 CR – Reload Terminal Application Script

Reload the application script from non-volatile memory store. This resets the timers, alarms, operations and terminal configuration to the state that is set following a power on of the terminal. Command Format CR<CR> Response Format cr<CR><LF>

7.3.9 CS – Get/Set Application Script Software Version

Get or set the version number of the application script in use within the terminal. Command Format CS<script_version><CR> CS?<CR> Response Format cs<SP><script_version><CR><LF>

<script_version> 4 ASCII characters comprising the script version string. The meaning of the 4 characters is defined by the user. The version string is stored in the Script application version register (module 0x0, register 0x07) – see paragraph 5.3.7.

Page 70: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 61 of 120

Commercial In Confidence

7.3.10 CU – Get/Set Operating Power Mode

The CU command provides a shorthand method of setting the operating power mode. Bits within the Power Control register (module 0x0, register 0x03) are set/cleared according to the power mode selected (see paragraph 5.3.4). This will therefore affect the value returned by the CE? command. Similarly, using the CE command to set/clear bits in the Power Control register can change the operating power mode and therefore the value returned by the CU? command. Command Format CU<power_mode><CR> CU?<CR> Response Format cu<SP><power_mode><CR><LF>

<power_mode> single ASCII digit string containing the operating power mode. Valid values are shown in Table 41 below.

Value Mode

0 Sleep – Minimum power consumption mode

1 Standby – GPS off, Inmarsat-D off 2 GPS Tracking – GPS on, Inmarsat-D off 3 Static – GPS off, Inmarsat-D on 4 Mobile – GPS on, Inmarsat-D on

Table 41 – Operating Power Modes

7.3.11 CV – Get DSP Software Version

The CV command is used to get the DSP software version number. Command Format CV?<CR> Response Format cv<SP><DSP_version><CR><LF>

<DSP_version> 4 ASCII characters comprising the DSP version string. The value is read from the DSP firmware version register (module 0x0, register 0x05) – see paragraph 5.3.5.

Page 71: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 62 of 120

Commercial In Confidence

7.3.12 CW – Wipe Script Software

The CW command is used to wipe the terminal script. The script is cleared from the RAM and all timers, alarms and operations are reset. If a script has been stored in the non-volatile memory then this is NOT cleared and will be reloaded if the processor is reset or a CR command is issued. The version string set for the script via the CS command is used as a password to prevent inadvertent program erasure. If the password is entered incorrectly then the stored script is not overwritten and the version string returned will be set to ‘****’. Command Format CW<script_version><CR> Response Format cw<SP><script_version><CR><LF> <script_version> 4 ASCII characters comprising the script version string.

7.3.13 CZ – Store Script in Non-Volatile Memory

This command writes the current script application to non-volatile memory and has the equivalent effect as writing to the ‘Store Application Script’ scripting register – see paragraph 5.3.8. The script version string is used as a password to prevent inadvertent overwriting of the stored script. If the password is entered incorrectly then the stored script is not overwritten and the version string returned will be set to ‘****’. Command Format CZ<script_version><CR> Response Format cz<SP><script_version><CR><LF>

<script_version> 4 ASCII characters comprising the script version string. The first two characters are the major version and the second two characters the minor version number.

Page 72: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 63 of 120

Commercial In Confidence

7.4 Interface Module Commands

7.4.1 IA – Get Analogue Input

The IA command is used to read the value measured by one of the A/D converter channels. These values are held in the Interface Module registers (module 0x03, registers 0x10 to 0x17) – see paragraph 5.6.2. Command Format IA<channel>?<CR> Response Format ia<SP><channel><SP><value><CR><LF>

<channel> 2 digit ASCII hex value indicating the channel number being read. There are eight interface ‘channels’ but the interfaces available depend on the hardware configuration as detailed in Table 24.

<value> 3 digit ASCII hex number containing the result of the A/D

conversion. If the channel being read is not configured as an analogue input then the result returned will be 0.

7.4.2 IC – Configure Inputs/Outputs

The IC command is used to configure the eight I/O channels.

Command Format IC<configuration><CR> IC?<CR> Response Format ic<SP><configuration><CR><LF>

<configuration> 8 ASCII hex characters representing a 32-bit word value. The value is stored in the I/O Configuration register (module 0x03, register 0x02) – see paragraph 5.6.1 for valid i/o configurations. If an invalid configuration is entered for any of the channels, no change in any of the channel configurations will occur, and an error will be reported,

Page 73: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 64 of 120

Commercial In Confidence

7.4.3 ID – Get Digital Inputs

The ID command is used to read the states of those interface channels configured as digital inputs. Command Format ID?<CR> Response Format id<SP><value><CR><LF>

<value> 2 character ASCII hex value containing the digital input states of the eight interface channels. The input state will be returned as 0 for interface channels not configured as digital inputs. The value is read from the Digital Input States register (module 0x03, register 0x00) – see paragraph 5.6.3.

7.4.4 IE – Get/Set Digital Outputs

The IE command is used to set or read back the states of those interface channels configured as digital outputs. Command Format IE<value><CR> IE?<CR> Response Format ie<SP><value><CR><LF>

<value> 2 character ASCII hex value containing the digital output states of the eight interface channels. The output state will be returned as 0 for interface channels not configured as digital outputs. The value is stored in the Digital Output States register (module 0x03, register 0x01) – see paragraph 5.6.4.

7.4.5 II – Get GEM-100 External Power Supply Status

This command is used to get the status of the power supplies connected to the GEM-100. The status is stored in the Power Supply Status register (module 0x00 register 0x0A) – see paragraph 5.3.10. Command Format II?<CR> Response Format ii<SP><status><CR><LF>

<status> single character number representing the two status bits. The GEM-100 external power supply is present when the LSB is set, the GEM-100 solar supply is present when the MSB (of 2) is set.

Page 74: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 65 of 120

Commercial In Confidence

If no GEM-100 unit is connected, this command will always reply with the response ‘ii 1’ indicating that the external supply is present and that there is no solar panel supply.

7.4.6 IP – Get MSP Power Supply Level

The IP command is used to read the measured supply voltage rail used by the MSP processor. The associated scripting register is module 0x03, register 0x18 – see paragraph 5.6.5. Command Format IP?<CR> Response Format ip<SP><value><CR><LF>

<value> 4 character decimal number representing the MSP supply voltage in mV. Typically this value will be around 325.

7.4.7 IO – Configure GEM-100 Battery Power Output

The IO command is used to set/get the state of the GEM-100 battery power output line. (This command is not available if the GEM-100 is not utilised.) The associated scripting register is module 0x03, register 0x03 – see paragraph 5.6.11. Command Format IO<value><CR> IO?<CR> Response Format io<SP><value><CR><LF>

<value> single ASCII character indicating the state of the battery power output line.

0 = I/O line 7 is configured as a normal I/O line 1 = I/O line 7 is connected through a 50mA fuse to the

GEM-100 battery pack (Nominal output voltage 12V).

7.4.8 IQ – Get GEM-100 Battery Temperature

The IQ command is used read the measured temperature value from GEM-100 battery pack sensor. The value returned is the battery temperature in Celsius. A value of 255 is returned if a battery pack is not fitted, and a value of 0 is always returned if a non rechargeable battery pack is fitted. The associated scripting register is module 0x03, register 0x1C – see paragraph 5.6.10. The scripting register holds the temperature to a 0.1 degree resolution and the value held in the register is therefore 10 times the value returned by the IQ command. Command Format IQ?<CR> Response Format iq<SP><value><CR><LF>

<value> 3 character decimal number representing the GEM-100 battery temperature in degrees Celsius.

Page 75: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 66 of 120

Commercial In Confidence

If no GEM-100 is connected, this command will always reply with the response ‘iq 255’ indicating that no battery is fitted.

7.4.9 IS – Get External Power Supply Level

The IS command is used to read the measured value of the external power supply. The associated scripting register is module 0x03, register 0x19 – see paragraph 5.6.6. Command Format IS?<CR> Response Format is<SP><value><CR><LF>

<value> 5 character decimal number representing the external supply voltage in mV.

If a GEM-100 is used the value returned is the external supply voltage applied to the GEM-100.

7.4.10 IT – Get Terminal Temperature

The IT command is used to read the temperature sensor in the terminal. The value returned is for indication only. The associated scripting registers are module 0x03, registers 0x1A and 0x1F – see paragraphs 5.6.8 and 5.6.9. Command Format IT?<CR> Response Format it<SP><temp_value><CR><LF>

<temp_value> signed ASCII string containing the measured temperature value in Celsius. The format of the temperature value is +dd

7.4.11 IU – Get/SET GEM-100 User LED State

The IU command is only available if a GEM-100 is utilised and is used to set or read the state of the user LED on the GEM front panel. Command Format IU<SP><colour><CR> IU?<CR> Response Format IU<SP><colour><CR>

<colour> single decimal number (0 to 3) representing the colour of the user LED. The value is stored in the User LED state register (module 0x03, register 0x30) - see paragraph 5.6.12.

Page 76: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 67 of 120

Commercial In Confidence

7.4.12 IX – Get GEM-100 Battery Power Supply Level

The IX command is used to read the measured battery supply voltage of the GEM-100. The associated scripting register is module 0x03, register 0x1B – see paragraph 5.6.7 Command Format IX?<CR> Response Format ix<SP><value><CR><LF>

<value> 5 character decimal number representing the battery supply voltage in mV.

If a GEM-100 is not utilised this command will always respond with ‘ix 00000’.

Page 77: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 68 of 120

Commercial In Confidence

7.5 Timer Module Commands

All of the commands in this section, with the exception of TT (section 7.5.7) are used to configure and monitor the timers for use in scripting. Each command is associated with a Timer module (module 0x01) register – see section 5.4 for details.

7.5.1 TC – Configure Timer

The TC command is used to configure timer channels. Timers can be programmed to trigger script operation(s) after a delay or at a time of day. Command Format TC<timer_number><SP><config_value><CR> TC<timer_number>?<CR> Response Format tc<SP><timer_number><SP><config_value><CR><LF>

<timer_number> 2 character ASCII hex representation of the timer channel number (00..1F)

<config_value> 8 character ASCII hex representation of the 32 bit

configuration value.

7.5.2 TD – Disable Timers

The TD command is used to disable the selected timer channels. The values stored in the timer registers are held at their current state and operation may be resumed with a TE command. Command Format TD<timer_mask><CR> Response Format td<SP><timer_mask><CR><LF>

<timer_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent timer channels 0 to 31 respectively. If a bit is set, the corresponding timer channel is disabled.

7.5.3 TE – Enable Timers

The TE command is used to enable all of the selected timer channels. Command Format TE<timer_mask><CR> Response Format te<SP><timer_mask><CR><LF>

<timer_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent timer channels 0 to 31 respectively. If a bit is set, the corresponding timer channel is enabled.

Page 78: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 69 of 120

Commercial In Confidence

7.5.4 TM – Get/Set Timer Trigger Value

The TM command is used to read or set the trigger value for a timer channel. This command allows the terminal count value to be modified without modifying the timer operating mode. If the trigger value is modified for a timer configured as an interval (delay) timer then the count value will be set back to zero, restarting the delay. Command Format TM<timer_number><SP><trig_value><CR> TM<timer_number>?<CR> Response Format tm<SP><timer_number><SP><trig_value><CR><LF>

<timer_number> 2 character ASCII hex representation of the timer channel number (00..1F)

<trig_value> 6 character ASCII hex representation of the 24 bit timer trigger

value.

7.5.5 TR – Reset Timers

The TR command is used to reset the selected timer channels. The timer configuration and count registers are cleared. The timers must be reconfigured before they can be re-enabled. Command Format TR<timer_mask><CR> Response Format tr<SP><timer_mask><CR><LF>

<timer_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent timer channels 0 to 31 respectively. If a bit is set, the corresponding timer channel is reset.

7.5.6 TS – Restart Timers

The TS command is used to restart the selected timer channels. The count register is cleared and the timer is enabled. Command Format TS<timer_mask><CR> Response Format ts<SP><timer_mask><CR><LF>

<timer_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent timer channels 0 to 31 respectively. If a bit is set, the corresponding timer channel is restarted.

Page 79: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 70 of 120

Commercial In Confidence

7.5.7 TT – Get Current Time and Date (UTC)

The TT command is used to get the current time and date from the terminal. Command Format TT?<CR> Response Format tt<SP><time_string><CR><LF>

<time_string> ASCII string containing the current time and date. The format of this string is hh:mm:ss dd/mm/yyyy.

7.5.8 TV – Get Current Timer Value

The TV command is used to get the current count value of one of the 32 timer channels. Command Format TV<timer_number>?<CR> Response Format tv<SP><timer_number><SP><timer_value><CR><LF>

<timer_number> 2 character ASCII hex representation of the timer channel number (00..1F).

<timer_value> 8 character ASCII hex representation of the 32 bit value held in

the timer channel count register.

Page 80: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 71 of 120

Commercial In Confidence

7.6 Alarm Module Commands

All of the commands in this section are used to configure and monitor the alarms for use in scripting. Each command is associated with an Alarm module (module 0x02) register – see section 5.5 for details.

7.6.1 AC – Configure Alarms

The AC command is used to configure the alarm channel. Command Format AC<alarm_number><SP><config_value><CR> AC<alarm_number>?<CR> Response Format ac<SP><alarm_number><SP><config_value><CR><LF>

<alarm_number> 2 character ASCII hex representation of the alarm channel number (00..1F).

<config_value> 8 character ASCII hex representation of a 32 bit value. The

value is written to the appropriate Alarm Configuration Register

7.6.2 AD – Disable Alarms

The AD command is used to disable the alarm channels. The values stored in the alarm registers are held at their current state and operation may be resumed with an AE command. Command Format AD<alarm_mask><CR> Response Format ad<SP><alarm_mask><CR><LF>

<alarm_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent alarm channels 0 to 31 respectively. If a bit is set, the corresponding alarm channel is disabled.

7.6.3 AE – Enable Alarms

The AE command is used to enable the alarm channels indicated by the mask value. Command Format AE<alarm_mask><CR> Response Format ae<SP><alarm_mask><CR><LF>

<alarm_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent alarm channels 0 to 31 respectively. If a bit is set, the corresponding alarm channel is enabled.

Page 81: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 72 of 120

Commercial In Confidence

7.6.4 AF – Trigger Alarms

The AF command is used to trigger (fire) the alarm channels. Command Format AF<alarm_mask><CR> Response Format af<SP><alarm_mask><CR><LF>

<alarm_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent alarm channels 0 to 31 respectively. If a bit is set, the corresponding alarm channel is triggered.

7.6.5 AR – Reset Alarms

The AR command is used to reset the latch on one or more of the alarm channels. This re-enables an alarm that has been configured as a latching alarm and has been triggered once already. Resetting an alarm that has either not triggered or is not configured as a latching alarm will have no effect. Command Format AR<alarm_mask><CR> Response Format ar<SP><alarm_mask><CR><LF>

<alarm_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 31 (MSB) represent alarm channels 0 to 31 respectively. If a bit is set, the corresponding alarm channel is reset.

7.6.6 AT – Alarm Threshold

The AT command is used to set the threshold value used by the alarm channel. Command Format AT<alarm_number><SP><threshold><CR> AT<alarm_number>?<CR> Response Format at<SP><alarm_number><SP><threshold><CR><LF>

<alarm_number> 2 character ASCII hex representation of the alarm channel number (00..1F).

<threshold> 8 character ASCII hex representation of the 32 bit value to be

stored in the alarm channel threshold register.

Page 82: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 73 of 120

Commercial In Confidence

7.7 Operation Module Commands

All of the commands in this section are used to configure and monitor the operations for use in scripting. Each command is associated with an Operations module (module 0x07) register – see section 5.10 for details.

7.7.1 OC – Configure Operation

The OC command is used to configure an operation to be taken in response to a timer event or alarm condition. It may also be used to read back the current configuration of an operation. Command Format OC<operation><SP><config><SP><value><CR> OC<operation>?<CR> Response Format oc<SP><operation><SP><config><SP><value><CR><LF>

<operation> 2 digit hex number in the range 0x00..0x3F

<config> 8 digit ASCII hex number representing a 32 bit configuration value for the operation number.

<value> 8 character ASCII hex number value that is used in performing

the operation.

7.7.2 OD – Disable Operations

The OD command is used to disable the operation channels. On being disabled, the values stored in the operation registers are held at their current state and operation may be resumed with an OE command. This command operates on the first 32 operation channels only. The second 32 channels can be disabled by using the RW command to write a mask value to module 7 register 0x44. Command Format OD<operation_mask><CR> Response Format od<SP><operation_mask><CR><LF>

<operation_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 32 (MSB) represent operation channels 0 to 32 respectively. If a bit is set, the corresponding operation channel is disabled.

Page 83: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 74 of 120

Commercial In Confidence

7.7.3 OE – Enable Operations

The OE command is used to enable the operation channels. The operations indicated by the bits set in the mask value will be enabled. This command operates on the first 32 operation channels only. The second 32 channels can be enabled by using the RW command to write a mask value to module 7 register 0x45. Command Format OE<operation_mask><CR> Response Format oe<SP><operation_mask><CR><LF>

<operation_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 32 (MSB) represent operation channels 0 to 32 respectively. If a bit is set, the corresponding operation channel is enabled.

7.7.4 OR – Reset Operations

The OT command is used to reset operation channels. A reset causes the operation configuration and value registers to be cleared and these must be reconfigured before they can be re-enabled. This command operates on the first 32 operation channels only. The second 32 channels can be reset by using the RW command to write a mask value to module 7 register 0x46. Command Format OR<operation_mask><CR> Response Format or<SP><operation_mask><CR><LF>

<operation_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 32 (MSB) represent operation channels 0 to 32 respectively. If a bit is set, the corresponding operation channel is reset.

Page 84: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 75 of 120

Commercial In Confidence

7.7.5 OT – Trigger Operations

The OT command is used to trigger the operation channels. When an operation is triggered using this command any other operations that are chained after the triggered operation will also be triggered. If more than one operation is triggered in the single command then the lowest numbered operation (or operation chain) will be triggered first. This command operates on the first 32 operation channels only. The second 32 channels can be triggered by using the RW command to write a mask value to module 7 register 0x47. Command Format OT<operation_mask><CR> Response Format ot<SP><operation_mask><CR><LF>

<operation_mask> 8 character ASCII hex representation of a 32 bit mask value. Bits 0 (LSB) to 32 (MSB) represent operation channels 0 to 32 respectively. If a bit is set, the corresponding operation channel is triggered.

Page 85: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 76 of 120

Commercial In Confidence

7.8 GPS Module Commands

7.8.1 GPS Status and Configuration Commands

7.8.1.1 GM – Get GPS Satellite Signal Strengths

The GM command requests the satellite C/N0 (level of signal strength) for the satellites in view by the GPS. The command returns values for each channel processed by the GPS. Unused channels have a satellite ID of zero. Command Format GM?<CR> Response Format gm<SP><satellite_data><CR><LF>

<satellite_data> set of 16 groups of the form ss-nn each separated by a space.

ss – Satellite ID number in hexadecimal. xx – Signal C/N0 (dBHz) in hexadecimal.

For an initial position fix the GPS needs to acquire and track 5 satellites. Once the position fix has been obtained the GPS can maintain a latitude/longitude position with just 3 satellites visible. The satellites will normally track with a C/N0 value of 1E (30 decimal) or higher. Strong satellites have C/N0 values above 28 (40 decimal).

7.8.1.2 GS – Get GPS Status

The GS command is used to get the validity of the GPS position report data. Command Format GS?<CR> Response Format gs<SP><valid_flag><CR><LF>

<valid_flag> 2 character ASCII hex representation of a byte. 0x00 – GPS data invalid 0x01 – GPS data valid. The value is obtained from the GPS Status register (module

0x04, register 0x00) – see paragraph 5.7.1.1.

Page 86: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 77 of 120

Commercial In Confidence

7.8.1.3 GE – Get GPS Software Version Number

The ‘GE’ Command requests the firmware version report message from the GPS unit. Command Format GE?<CR> Response Format ge<SP><version_string><CR><LF>

<version_string> ASCII character string containing the GPS chip set version identifier. The following is an example:

4.00 (25682)

7.8.2 GPS Position Commands

GPS position values are read from the appropriate GPS module registers (module 0x04) – see section 5.7.1

7.8.2.1 GA – Get Current GPS Altitude

The GA command is used to read the current altitude as reported by the GPS. Command Format GA?<CR> Response Format ga<SP><value ><CR><LF>

<value> 5 character ASCII decimal number giving the altitude in metres. The value reported is based on the WGS-84 datum.

7.8.2.2 GH – Get Current GPS Heading

The GH command is used to read the current course over the ground as reported by the GPS. Command Format GH?<CR> Response Format gh<SP><heading_value><CR><LF>

<heading_value> 4 character ASCII decimal number giving the heading in 0.1 degree steps.

The heading value reported is calculated by the GPS based on the motion seen during the fix calculation and from the last position fix. The specification for the heading accuracy is:

< 0.5 degree of error (User velocity=30m/s [60 mph], 50% probability, open sky)

Note that with speed over ground <0.75m/s or where the terminal is stationary, the heading value returned will be random due to the very small difference between position samples.

Page 87: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 78 of 120

Commercial In Confidence

7.8.2.3 GP – Get Current GPS Position

The GP command is used to read the current position reported by the terminal GPS unit. Command Format GP?<CR> Response Format gp<SP><latitude><SP><longitude><CR><LF>

<latitude> 13 character ASCII string reporting the latitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

<longitude> 13 character ASCII string reporting the longitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

7.8.2.4 GV – Get Current GPS Speed

The GV command is used to read the current speed reported by the terminal GPS unit. Command Format GV?<CR> Response Format gv<SP>< speed_value ><CR><LF>

<speed_value> 4 character ASCII decimal number giving speed in units of 0.1m/s.

The speed value reported is calculated by the GPS chipset based on the motion seen during the fix calculation and from the last position fix.

Page 88: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 79 of 120

Commercial In Confidence

7.8.3 Geofence Commands

An example of Geofence definition is provided in APPENDIX A – Example Geofence Definition.

7.8.3.1 GD – Define Geofence

The GD command initialises the Geofence definition procedure. It sets the number of points and zones that are used in the definition of the specified the fence number.

If the number of points is set to zero for a fence then the geofence data in the terminal is deleted for the selected fence. Command Format GD<fence><SP><points><SP><zones><CR> GD<fence>?<CR> Response Format gd<SP><fence><SP><points><SP><zones><CR><LF>

<fence> single ASCII digit, either 1 or 2 indicating the fence number to be defined.

<points> 2 character ASCII decimal number indicating the number of

points in the geofence being defined. <zones> 2 character ASCII decimal number indicating the number of

zones in the geofence being defined.

7.8.3.2 GF – Define Geofence Point

The GF command is used to define a single point that forms a corner of the geofence being defined. Command Format GF<fence><SP><point><SP><lat><SP><long><CR> GF<fence><SP><point>?<CR> Response Format gf<SP><fence><SP><point><SP><lat><SP><long><CR><LF>

<fence> single ASCII digit, either 1 or 2 indicating the fence number to be defined.

<point> 2 character ASCII decimal number indicating the number of the

point in the geofence being defined. <lat> 13 character ASCII string reporting the latitude value to 0.01

seconds. The format of the string is: +DDD MM SS.SS

<long> 13 character ASCII string reporting the longitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

Page 89: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 80 of 120

Commercial In Confidence

7.8.3.3 GW – Store Geofence Data

The GW command validates the geofence data that has been defined using the GF, GD and GZ commands and if it is complete, enables the fence for use. Command Format GW<fence><SP><points><SP><zones><CR> Response Format gw<SP><fence><SP><points><SP><zones><CR><LF>

<fence> single ASCII digit (1 or 2) indicating the fence number to be defined.

<points> 2 character ASCII decimal number indicating the number of

points in the geofence being defined. <zones> 2 character ASCII decimal number indicating the number of

zones in the geofence being defined.

7.8.3.4 GZ – Define Geofence Zone

The GZ command defines the zones available within the overall fenced area. Each zone definition has at least 3 point numbers indicating the co-ordinate sets that are used as the corners of the zone. The points used to define the zone must run in an anti-clockwise direction around the zone with the internal angle at each corner being less than 180°. It is the responsibility of the programmer to check that the zone definition is valid. The terminal does not validate the zone definition against these rules. Command Format GZ<fence><SP><zone><SP><num_points><SP> <point_1><SP><point_2>…<SP><point_n><CR> GZ<fence><SP><zone>?<CR>

Response Format gz<SP><fence><SP><zone><SP><num_points><SP> <point_1><SP><point_2>…<SP><point_n><CR><LF>

<fence> single ASCII digit (1 or 2) indicating the fence number to be defined.

<zone> 2 character ASCII decimal number indicating the zone number

in the geofence being defined. <num_points> 2 character ASCII decimal number indicating the number of

points in the zone being defined <point_1> <point_2> <point_n> n x 2 character ASCII decimal numbers indicating the number

of the point to be included in the geofence zone being defined.

Page 90: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 81 of 120

Commercial In Confidence

7.8.4 Reference Position Commands

7.8.4.1 GL – Distance to Reference

The GL command returns the distance between the stored reference point and the current position as reported to the terminal by the GPS receiver in the terminal. The distance is calculated assuming that the Earth is a sphere with a radius of 6371km. Command Format GL?<CR> Response Format gl <SP><distance><CR><LF>

<distance> 8 character ASCII decimal representation of the calculated

distance in metres. The returned value is derived from the Distance to Reference register (module 0xx04, register 0x20) – paragraph 5.7.2.4

7.8.4.2 GR – Define Reference Point

The GR command is used to set or interrogate the reference point stored in the terminal. Associated scripting registers are module 0x04, registers 0x11 and 0x12 – see paragraphs 5.7.2.2 and 5.7.2.3. Command Format GR<latitude><SP><longitude><CR> GR?<CR> Response Format gr<SP><latitude><SP><longitude><CR><LF>

<latitude> 13 character ASCII string reporting the latitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

<longitude> 13 character ASCII string reporting the longitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

Page 91: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 82 of 120

Commercial In Confidence

7.8.4.3 GX – Store Current Position as Reference

The GX command takes the current position as read from the terminal GPS receiver and stores it as the terminal reference position. Command Format GX<CR> Response Format gx<SP><latitude><SP><longitude><CR><LF>

<latitude> 13 character ASCII string reporting the latitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

<longitude> 13 character ASCII string reporting the longitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

7.8.5 Target Position Commands

Associated scripting registers are module 0x04, registers 0x40 to 0x5F – see section 5.7.3.

7.8.5.1 GK – Distance to Target Position

The GK command returns the distance between one of the stored target points and the current position as reported to the terminal by the GPS receiver in the terminal. The distance is calculated assuming that the Earth is a sphere with a radius of 6371km. Command Format GK<point_id>?<CR> Response Format gl<SP><point_id><SP><distance><CR><LF> er<SP><undefined><CR><LF>

<point_id> single ASCII decimal number in the range 0..7 identifying the target point required.

<distance> 8 character ASCII decimal representation of the calculated

distance in metres. <undefined> 2 digit ASCII hex error code for a target point not defined.

Page 92: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 83 of 120

Commercial In Confidence

7.8.5.2 GT – Define Target Position

The GT command is used to set or interrogate one of the target points stored in the terminal. Command Format GT<point_id><SP><lat><SP><long><CR> GT<point_id>?<CR> Response Format gt<SP><point_id><SP><lat><SP><long><CR><LF> er<SP><undefined><CR><LF>

<point_id> single ASCII decimal number in the range 0..7 identifying the target point required.

<lat> 13 character ASCII string reporting the latitude value to 0.01

seconds. The format of the string is: +DDD MM SS.SS

<long> 13 character ASCII string reporting the longitude value to 0.01 seconds. The format of the string is:

+DDD MM SS.SS

<undefined> 2 digit ASCII hex error code for a target point not defined.

Page 93: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 84 of 120

Commercial In Confidence

7.8.6 Logging Commands

The terminal performs logging of GPS positions, Transmissions and Data. The log allows storage for over 6500 entries. Entries hold the following information: Type 4 bits

Date 16 bits

Time 16 bits

Transmit time 16 bits

Data 88 bits

CRC 16 bits

These fields are defined as follows: Type: Defines the type of entry:

1 = Acknowledgement burst (Transmitted and logged) 2 = Long burst (Transmitted and logged) 3 = Double Burst part 1 (Transmitted and logged) 4 = Double Burst part 2 (Transmitted and logged) 5 = Long Burst (Log only record) 6 = Double Burst part 1 (Log only record) 7 = Double Burst part 2 (Log only record) 8 = GPS record. (Log only record)

Date: Defines the day/year that the data record was created.

The day of the year is stored in the lower 9 bits (1 – 356/366) and the Year since 2000 is stored in the top 7 bits (0 to 127). For example a value of 0x102b would be 12th Feb 2008.

Time: Defines the time of day that the data record was created.

The time after 00:00 is stored with 2s resolution. For example, a value of 0x176E (decimal 5,998) represents a time of 5,998 x 2 seconds after 00:00, i.e. 3:19:56.

Transmit time: Defines the frame and slot in which the transmission occurred.

The bottom 4 bits (1 to 12) define the ‘slot’ number and the top 12bits (1 to 2880) the ‘frame’ number. Frames are 30s long and numbered from midnight. Frame number 1 indicates the frame starting at 00:00:00 hrs; frame number 2880 indicates the frame starting at 23:59:30 hrs. Frames are divided into 2.5s slots. The slot number is the slot in which the transmission began.

The transmit ‘frame’ and ‘slot’ can be converted to seconds past midnight as follows.

Seconds past Midnight = ((frame-1)*30) + ((Slot-1)*2.5)

The value is only valid for transmit log records where the message is transmitted. If a message is not transmitted this field will contain 0xffff.

Data (type = 1, Acknowledgement burst): For acknowledgement burst records, the data field will be zero. Data (types = 2 to 7, Message data): For message data records, only the most significant 86 bits of the data field are used.

The data (whether transmitted or just logged) corresponds to the transmit data

Page 94: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 85 of 120

Commercial In Confidence

message format. The format for pre-defined messages (listed in Table 29, paragraph 5.8.1) is defined in the Message Registry Document, ref.[2]. The creation of user defined messages is described in paragraph 5.8.1.1.

Data (type = 8, GPS): For GPS data records, only the most significant 84 bits of the data field are used. The

format is shown in Table 42. No logging of GPS data will occur if the GPS is turned off.

Bits (Size) Name Details 0..19 (20) Latitude 0: Hemisphere N|S (0 = North; 1 = South)

1..19: Latitude in seconds 20..40 (21) Longitude 20: Hemisphere E|W (0 = East; 1 = West)

21..40: Longitude in seconds 41..49 (9) Heading Degrees 50..59 (10) Speed 0.1 m/s 60..75 (16) Altitude Signed 2’s Complement value in metres 76 (1) GPS Status 0 = Invalid; 1 = Valid 77..83 (7) HDOP Geometric Dilution of Precision

Table 42 – GPS data log record format CRC: A Checksum used internally by the terminal to validate the logged records

7.8.6.1 GI – Set GPS Logging Interval

The GI command sets the interval between logged GPS positions stored in non-volatile memory. If the interval is set to 0 then GPS positions will not be logged. If the logging interval is set to a value between 1 and 10080 minutes (the maximum allowed) then GPS information (position, course, speed, altitude and status) will be logged in non-volatile memory after the defined number of minutes. Command Format GI<interval><CR> GI?<CR> Response Format gi<SP><interval><CR><LF>

<interval> 4 character ASCII hex value containing the time between logged positions in minutes. A value of zero turns logging off.

Page 95: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 86 of 120

Commercial In Confidence

7.8.6.2 LN – Get Number of Logged Positions

The LN command requests the number of logged entries or ‘records’ in the terminal.

Command Format LN?<CR> Response Format ln<SP><records><CR><LF>

<records> 4 character ASCII hex value containing the number of logged records stored in the terminal.

7.8.6.3 LR – Get Logged Record

The LR command is used to interrogate the logged records stored in the terminal and can be used with or without the index parameter. Multiple LR? commands without an index will return consecutive records starting with the most recent. To restart interrogating from the most recent record, an LN? command should be issued. Sending a LR <index>? command will return the log entry for the specified index.

Command Format LR?<CR> LR<index>?<CR> Response Format lr<SP><index><SP><type><SP><date><SP><time> <SP><transmit_time><SP><data> <CR><LF>

<index> 4 character ASCII hex value. The index of the record stored. A value of 1 represents the oldest record in the log. The index of the newest record in the log is found using the LN? command.

Note that the index is NOT unique to each record. It is simply an indication of the relative position of each record in the log file. As records are added to the log and older records removed the index of the records will change periodically. It is advised that GPS logging and Script operation is halted when reading large numbers of records. See sections 7.8.6.1 and 7.13.4 for use of the ‘GI 0’ and the ‘PS 0’ commands.

The time stamp stored with the logged data (described below) should be used to uniquely identify records.

For more details on the following fields see paragraph 7.8.6:

<type> single ASCII hex character defining the record type stored:

<date> 4 character ASCII hex value of the date that the entry was recorded in the log.

<time> 4 character ASCII hex value of the time past midnight, with 2s resolution, that the entry was recorded in the log.

<transmit_time> 4 character ASCII hex value. The value contains the slot and frame number in which the transmission occurred. If a message is not transmitted this field will contain 0xffff.

<data> 22 character ASCII hex value representing the logged data.

Page 96: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 87 of 120

Commercial In Confidence

7.9 Messaging Module Commands

7.9.1 Forward Channel Message Handling

7.9.1.1 Forward Channel Message Buffering

When the terminal receives a forward channel message the data is stored in a 10 message buffer. Messages within the buffer will be lost if power to the terminal is removed or the terminal is placed into sleep mode (paragraph 5.3.4).

Some message formats are reserved to allow control and status report enquiries to be sent to the terminal. These messages are not made available to the user. They are processed within the terminal and then deleted.

All other messages received by the terminal are available to the user over the serial port. The message output method can be configured by the user so that the message data can be output in an unsolicited message as soon as it has been received, or these unsolicited messages can be disabled. This is controlled by the ‘MO’ command (section 7.9.1.5). The message data is also stored in a 10 message buffer and may be read out using the ‘MN’ command (Section 7.9.1.4). The terminal can be interrogated for the number of buffered messages using the ‘MC’ command (section 7.9.1.1). If the message buffer becomes full, i.e. the incoming messages are not read and deleted with the ‘MN’ command, then the terminal will output an error message each time that a message is received indicating that the buffer has overflowed and the oldest message in the buffer has been deleted.

7.9.1.2 MC–Get Number of Forward Messages Buffered

The MC command returns the number of buffered forward channel messages held within the terminal.

Command Format MC?<CR> Response Format mc<SP><number><CR><LF>

<number> single ASCII decimal number representing the number of forward channel messages buffered in the terminal.

7.9.1.3 mf – Forward Channel Message Data

The mf data message is the only message that is not generated in response to a message received over the serial port. The mf message is generated in response to an incoming forward channel, user message being received over the satellite. The format of the message depends upon the type of forward channel message received by the terminal.

Message Format mf<SP><header><data_block><CR><LF>

<header> 22 character ASCII string containing the burst header information reported by the terminal.

<data_block> The format and length of the data_block field will vary

depending upon the message type.

Page 97: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 88 of 120

Commercial In Confidence

Character Field Format 1..2 Flags 2 hex digits 3..4 Year 2 decimal digits 5..6 Month 2 decimal digits 7..8 Day 2 decimal digits 9..10 Hour 2 decimal digits

11..12 Minute 2 decimal digits 13..15 Transmitting Earth Station ID 3 decimal digits 16..17 Message Number 2 decimal digits 18 Category T, N, A or D 19 Tone Number 1, 2, 3 or 4 20..21 Service ID 2 decimal digits 22 Information type Hex digit

Table 43 – Forward Channel Message Header Format The format of the data_block field will vary depending upon the message category field in the header record. If the category is T (tone only) then the data_block field is empty. If the category is N (numeric data) or A (alphanumeric data) then the data_block field contains the message data as an ASCII character string. If the category is D (transparent binary data) then the data_block field contains the message data as a sequence of ASCII hex byte values.

7.9.1.4 MN – Get Next Forward Message from the Buffer

The MN command returns the earliest forward channel message held within the terminal. Once the data has been output it is deleted from the database in the terminal. If the forward channel message buffer is empty no parameters are returned

Command Format MN?<CR> Response Format mn<SP><header><data_block><CR><LF>

<header> same format as header field in the mf response (paragraph 7.9.1.3)

<data_block> same format as data_block field in mf response (paragraph

7.9.1.3)

Page 98: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 89 of 120

Commercial In Confidence

7.9.1.5 MO – Configure Forward Channel Message Output

The MO command enables or disables the output of unsolicited mf report messages in response to the reception of forward channel messages by the terminal. When mf messages are disabled the forward channel messages can be read by interrogating the terminal for the number of received messages using the ‘MC?’ command and reading them using the ‘MN?’

Command Format MO<mode><CR> MO?<CR> Response Format mo<SP><mode><CR><LF>

<mode> single ASCII character either 0 or 1. A ‘0’ enables the output of the mf messages and a 1 disables their output. The mode is stored in the Forward Channel Message Output Mode register (module 0x05, register 0x40) – paragraph 5.8.19.

7.9.2 Return Channel Messaging

7.9.2.1 MA – Get/Set Return Message Destination Address

The MA command sets the value to be used in the destination address field of any subsequent bursts to be transmitted in response to MB commands.

Command Format MA<dest_addr><CR> MA?<CR> Response Format ma<SP><dest_addr><CR><LF>

<dest_addr> 2 character ASCII hex representation of the 8 bit contents of the message destination address field (module 0x05, register 0x11) – see paragraph 5.8.2.

7.9.2.2 MB – Transmit a Return Message

The MB command instructs the terminal to transmit a pre-defined or user defined return burst. The pre-defined message codes are listed in Table 29, paragraph 5.8.1, and details of their format is described in the Message Registry Document, ref.[2]. User defined messages use codes 0x80 to 0xBF for 64 bit messages, and codes 0xC0 to 0xFE for 80 bit messages. The creation of user defined messages is described in paragraph 5.8.1.1.

Command Format MB<msg_code><CR> Response Format mb<SP><msg_code><CR><LF>

<msg_code> 2 character ASCII hex representation of message identifier number.

If the message code is not defined then no message will be transmitted. This command is equivalent to writing the message code to the Return Burst Message ID code register (module 0x05, register 0x10) – see paragraph 5.8.1.

Page 99: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 90 of 120

Commercial In Confidence

7.9.2.3 MK – Get/Set Return Message Acknowledge Flags

The MK command sets the value to be used in the message acknowledgement flags field of any subsequent bursts to be transmitted in response to MB commands. The flags field is a 2 bit value. Bit 0 (LSB) requests an application acknowledge and Bit 1 requests an automatic LES acknowledge.

Command Format MK<ack_flags><CR> MK?<CR> Response Format mk<SP><ack_flags><CR><LF>

<ack_flags> single character ASCII hex representation of the 2 bit acknowledge flags value (module 0x05, register 0x14) – see paragraph 5.8.4.

7.9.2.4 ML – Get/Set Return Message Control Flags Field

The ML command sets the value to be used in the message control flags field of any subsequent bursts to be transmitted in response to MB commands. The flags field is a 4 bit value.

Command Format ML<message_flags><CR> ML?<CR> Response Format ml<SP><control_flags><CR><LF>

<control_flags> single character ASCII hex representation of the 4 bit control flags value (module 0x05, register 0x15) – see paragraph 5.8.5.

Page 100: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 91 of 120

Commercial In Confidence

7.9.2.5 MM – Transmit Return Message

The MM command causes the terminal to transmit a return burst message using the message data contained in the command.

Command Format MM<SP><length><SP><data_block><CR> Response Format mm<SP><length><SP><data_block><CR><LF>

<length> single ASCII character defining the message length being defined: L for a long or D for double (IsatM2M)

<data_block> ASCII hex representation of payload data to be transmitted. Long message: 22 character field. Bits 0 (LSB) and 1 of the

last character are the application and LES acknowledgement request bits respectively.

Double message (IsatM2M only): 43 character field. Bits 0 (LSB) and 1 of the last character are the application acknowledge bits for the first part and second part of the message respectively. Bit 2 of the last character is the LES acknowledge request bit. Note that confirmation of receipt of an LES acknowledgement by the terminal is confirmation that both parts of the Double message were received at the LES.

7.9.2.6 MP – Configure Automatic Poll

The MP command configures the automatic return message generation by the terminal. The message takes two parameters. The first is a message repeat rate in minutes. If set to zero then the terminal will stop sending messages. If set to 1 then a single message is transmitted. All other values are treated as repeat rates and the messages will be sent out at the intervals requested except that values from 2 to 9 are rounded up to 10.

Command Format MP<SP><period><SP><msg_code><CR> MP?<CR> Response Format mp<SP><period><SP><msg_code><CR><LF>

<period> 4 character ASCII hex number containing the time between message transmission in minutes.

<msg_code> 2 character ASCII hex number containing the message type to

be sent in the poll transmission. The msg_code is stored in the Poll Message ID code register (module 0x05, register 0x30) – paragraph 5.8.17.1.

The message code used may be one of the values for a standard return message format listed in Table 29 or it may be a user defined 64 or 80 bit message. If the message code is not defined in the terminal then no message will be transmitted.

Page 101: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 92 of 120

Commercial In Confidence

7.9.2.7 MQ – Get/Set Response to a Tone only Message

The MQ command is used to set the response of a terminal to a tone only type forward channel message. There are four tone only messages that may be sent to a terminal and, using this command, it is possible to configure the terminal to use these messages as remote poll requests. Command Format MQ<tone><SP><msg_code><CR> MQ <tone>?<CR> Response Format mq<SP><tone><SP><msg_code><CR><LF>

<tone> single character ASCII hex representation of the tone number (0..3).

<msg_code> 2 character ASCII hex representation of the message number

to be returned by the terminal. If the value is zero, subsequent tone only forward messages will be treated as normal, i.e. the terminal will not respond with a return channel message.

The message code used may be one of the values for a standard return message format listed in Table 29 or it may be a user defined message. The message code is stored in the appropriate messaging module register – module 0x05, registers 0x38 to 0x3B – see paragraph 5.8.18.

7.9.2.8 MR – Report Receiver Status

The MR command reports the latest receiver status values as reported by the terminal. Command Format MR?<CR> Response Format mr<SP><chan><SP><quality><SP><status><CR><LF>

<chan> 4 character ASCII hex representation of the receiver channel

number. <quality> 4 character ASCII hex representation of the receive signal

quality. The value returned is the Receive Signal Quality register (module 0x05, register 0x21) - see paragraph 5.8.7.2

<status> 2 character ASCII hex representation of the receiver status

code returned by the terminal. The value returned is the Receive Status register (module 0x05, register 0x22) - see paragraph 5.8.7.3.

Page 102: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 93 of 120

Commercial In Confidence

7.9.2.9 MS – Get/Set Return Message Transmission Slot Randomisation

The value set by the MS command sets the number of traffic channel frames over which slot randomisation occurs, e.g. if a value of 3 is used then the transmission will occur in a return channel slot some time in the next 3 traffic frames. If a value of zero is used then the message will be transmitted in the next available slot. Command Format MS<randomisation><CR> MS?<CR> Response Format ms<SP><randomisation><CR><LF>

<randomisation> 2 character ASCII hex representation of the number of traffic frames to be used in the range 0 to 0x1F. The value is stored in the Transmit Randomisation Period register (module 0x05, register 0x24) – see paragraph 5.8.9.

7.9.2.10 MT – Report Transmitter Status

The MT command reports the latest terminal transmitter status as reported to the terminal. Command Format MT?<CR> Response Format mt<SP><status><CR><LF>

<status> 8 character ASCII hex representation of the transmitter status. The value returned is the Transmit Status register (module 0x05, register 0x23) - see paragraph 5.8.8.

Page 103: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 94 of 120

Commercial In Confidence

7.10 Scratchpad Module Commands

The scratchpad registers are available for the script to use for storing values during operation. Three of the registers have special functions; registers 1 and 2 can be used as the source data for some of the return channel message formats and register 0 is used to hold the result of the last operation or alarm trigger value.

7.10.1 SR – Read/Set Register

The SR command is used to set or read one of the scratchpad registers (module 0x06) – see section 5.9. Command Format SR<register><SP><value><CR> SR<register>?<CR> Response Format sr<SP><register><SP><value><CR><LF>

<register> single character ASCII hex representation of the scratchpad register number (0..F).

<value> 8 character ASCII hex representation of the 32 bit value to be

stored in the register.

Page 104: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 95 of 120

Commercial In Confidence

7.11 Register Direct Access Commands

The RR and RW commands allow direct access to the scripting module registers (see section 5). They can be used as an alternative to those more concise serial interface commands that also access one of the scripting module registers. For example, the following commands are equivalent: CA 6 RW 0 2 6

7.11.1 RR – Read Register

The RR command allows the value of one of the scripting module registers (see section 5) to be read directly. Command Format RR<module><SP><reg>?<CR> Response Format rr<SP><module><SP><reg><SP><value><CR><LF>

<module> single character ASCII hex representation of the module number.

<reg> 2 character ASCII hex representation of the register number. <value> 8 character ASCII hex representation of the 32 bit value to be

stored in the register.

7.11.2 RW – Write Register

The RW command allows the value of one of the scripting module registers (see section 5) to be written to directly.

Command Format RW<module><SP><reg><SP><value><CR> Response Format rw<SP><module><SP><reg><SP><value><CR><LF>

<module> single character ASCII hex representation of the module number.

<reg> 2 character ASCII hex representation of the register number.

<value> 8 character ASCII hex representation of the 32 bit value to be

stored in the register.

Page 105: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 96 of 120

Commercial In Confidence

7.12 User Return Message Definition Commands

7.12.1 BD – Define Message Number

Add a message number definition to the user message database. Command Format BD<message_ID><SP><field_count><CR> Response Format bd<SP><message_ID><SP><field_count><CR>LF>

<message_ID> 2 character ASCII hex representation of the message number being defined. This must have a value in the range 0x80 to 0xFE. Message ID of 0xFF is not allowed

<field_count> 2 character ASCII hex representation of the number of field

definitions used to produce the message.

7.12.2 BF – Define Field Contents

Add a message data field definition to the user message database. Command Format BF<register><SP><mask><CR> Response Format bf<SP><register><SP><mask><CR><LF>

<register> 3 character ASCII hex representation of the register address including its module number.

<mask> 8 character ASCII hex representation of the 32 bit mask value

to be used to extract the data bits from the register.

7.12.3 BI – Initialise User Message Database

Erases any existing message definitions from the user message database and prepares the terminal to receive new message definitions in the form of BD and BF commands. Command Format BI<CR> Response Format bi<CR><LF>

Page 106: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 97 of 120

Commercial In Confidence

7.12.4 BN – Get Number of Message Definitions

Reports the number of user message definitions that have been programmed into the terminal. Command Format BN?<CR> Response Format bn<SP><message_count><CR><LF>

<message_count> 2 character ASCII hex representation of the number of message definitions programmed into the terminal.

7.12.5 BQ – Get Message Definition

Returns one of the user message definitions that have been programmed into the terminal. Command Format BQ<message_number>?<CR> Response Format bq<SP><message_number><SP><message_ID><SP> <field_def>[..<SP><field_def>]<CR><LF>

<message_number> 2 character ASCII hex representation of the message definition number in the user message database.

<message_ID> 2 character ASCII hex representation of the message number

to be used to identify this message format, as programmed by the BD command.

<field_def> 3 character ASCII hex representation of the register address

including its module number followed by a space and an 8 character ASCII hex representation of the 32 bit mask value to be used to extract the data bits from the register. These values are as used in the BF command sequence to define the message. The response contains one field_definition pair for each BF command used in the message generation.

7.12.6 BW – Close Message Database

The BW command closes the message database so that no further message definitions can be written. Command Format BW<CR> Response Format bw<CR><LF>

Page 107: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 98 of 120

Commercial In Confidence

7.13 Terminal System Commands

7.13.1 Firmware Upload

The firmware to be loaded into the terminal is delivered as an XML format file. This is read by the Honeywell Global Tracking supplied uploader software and the required images extracted for transfer to the terminal. To prevent upload of incompatible firmware, the terminal rejects any attempt to upload firmware that it does not recognise as being compatible.

The file upload into the MSP is initiated by a PD command. The program image is then transferred in Motorola S-record format, one record at a time, over the serial link. Each record is acknowledged with either a ‘pa’ (success) or ‘pn’ (failure) response. Once the last record has been sent to the terminal the MSP calculates and stores a checksum value for its internal image.

7.13.1.1 PD – Program Upload

The PD command is used to upload a new version of the terminal application firmware into the processor memory over the serial port. The PD command is followed by the program data file in Motorola S-Record format. Each record of the program file is acknowledged by a pa<LF><CR> response. The first record of the program file must not be sent until the pd acknowledge has been returned. Subsequent records must wait until the previous record has been acknowledged with a pa. Command Format PD[<rate_select>]<CR> Response Format pd<LF><CR>

<rate_select> Optional parameter, selecting the upload speed: 1 = 9600 baud 2 = 19200 baud 3 = 38400 baud 4 = 57600 baud 5 = 115200 baud If the parameter is omitted then the upload will continue at the

normal serial port rate of 9600 baud.

The baud rate change occurs once the ‘pd’ response has been sent out of the terminal. All further communications following receipt of the ‘pd’ command must be performed at the new baud rate. Following an upload to the MSP the terminal will automatically return to the default baud rate of 9600. Following an upload to the DSP the terminal can be set back to the default baud rate by sending command ‘PR9600’ to the unit.

7.13.1.2 pa – Program Record Acknowledge

The pa response is sent from the terminal in response to a valid S-record during the upload process. The response is sent by the terminal when it has received the record, decoded it and stored the contents in the program FLASH memory. It indicates that it is ready to receive another record.

Page 108: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 99 of 120

Commercial In Confidence

7.13.1.3 pn – Program Record NAK

The terminal responds with a pn message when it detects an error in the received S-record. Errors may include an invalid character in the record or an invalid checksum. If the error is detected in the file header (S0) record then the unit returns a ‘pn 0’ response, otherwise it returns ‘pn 1’.

7.13.2 PI – Reset

The PI command is used to reset the terminal application firmware or to get the results of the terminal self tests. The command sends its response before performing the processor reset. Command Format PI<CR> (Reset command) PI?<CR> (Test result request) Response Format pi<CR><LF> (Reset command) pi<SP><test_result><CR><LF> (Test result request)

<test_result> 4 digit ASCII hex representation of a 16 bit value containing the self test result code.

This command causes the reset of the GPS processor and Inmarsat-D modem, and the terminal configuration and script are reloaded with their restart state from the non volatile data store. The GPS and Inmarsat-D functions will be restarted as required by the terminal configuration, and the script operation (timers and alarms) subsequently started. (Note that if the GEM-100 is utilised there will be a 32 second delay before the script operation starts.)

7.13.3 PR – Configure Serial Port Baud Rate

The PR command selects the baud rate to be used by the terminal for serial communications. There are two options; 9600 or 4800 baud. The 4800 baud option is provided so that the NMEA format output data can be passed to external devices at a standard NMEA data rate. Command Format PR<rate><CR> Response Format pr<SP><rate><CR><LF>

<rate> 4 digit ASCII decimal value. If the value supplied is 4800 then the serial port will be configured to operate at 4800 baud. Any other value will set the port to 9600 baud.

Note: Following a firmware upload (paragraph 7.13.1.1) the terminal will return to the default baud rate of 9600.

Page 109: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 100 of 120

Commercial In Confidence

7.13.4 PS – Scripting Enable/Disable

The PS command is used to enable or disable scripting functions. This command is required when programming the script functions so that the initial values for any of the function registers do not become corrupted during the load as a result of part of the script operating during the load. The command also switches on and off the script debugging output messages. Command Format PS<enable><CR> PS?<CR> Response Format ps<SP><enable><CR><LF>

<enable> single ASCII character: 0 or 2 = disable 1 = enable 3 = enable with debug messages

7.13.5 PT – Run Production Tests

THIS COMMAND IS FOR FACTORY USE ONLY AND MUST NOT BE ISSUED WHEN THE I/O LINES ARE CONNECTED TO ANY EXTERNAL DEVICE.

7.13.6 PV – Report Bootloader Version

The PV command is used to read the version ID for the Bootloader code held in the terminal. The Bootloader code is a separate piece of software that is loaded into the terminal at manufacture and is used to update the main software contained in the MSP. Command Format PV?<CR> Response Format pv<SP><version_string><CR><LF>

<version_string> 4 character ASCII string containing the software version. The first two characters are the major version and the second two characters the minor version number.

Page 110: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 101 of 120

Commercial In Confidence

7.13.7 PY – Report MSP Software Information

The PY command returns MSP software information such as software number, version, date and time of build etc.. Command Format PY?<CR> Response Format py<SP><date_string><SP><hardware><SP><variant><CR><LF>

<date_string> ASCII string containing the date and time of compilation of the code. The format of the string is hh:mm:ss Mmm dd yyyy

<hardware> ASCII string containing the hardware revision that the MSP

software was built to support. <variant> ASCII string containing the variant description for the software

build.

Extended information is returned through use of the following PY command format: Command Format PY <report_type>?<CR> Response Format py<SP><report_type><SP><version_info><CR><LF>

<report_type> single ASCII character specifying the report type as follows: 1 = full MSP code version information 2 = Bootloader version information 3 = MSP code, version and build numbers only <version_info> ASCII string containing version information.

Examples of responses from the PY?, PY1?, PY2? and PY3? Commands are:

py 13:28:51 Feb 2 2009 P042_G01 Rev A GEM-100 Build. Build 647

py 1 SWN-0091-20 SAT-200 MSP Application Software - Version 01.00

py 2 SWN-0091-21 SAT-200 MSP Bootloader Software - Version 01.95

py 3 01.00 00647

7.13.8 PZ – Report Unit Serial Number

The PZ command is used to read the production serial number of the unit. Command Format PZ?<CR> Response Format pz<SP><serial_no><CR><LF>

<serial_no> 5 character serial number. (The serial number is also labelled the unit.)

Page 111: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 102 of 120

Commercial In Confidence

7.14 Inmarsat-D Network Configuration Commands

7.14.1 DS PY – Report DSP Software Information

This command is the DSP equivalent of the PY command – see paragraph 7.13.7 for command and response formats.

7.14.2 DS PW – Enter Access Password

The DS PW command is used to enter the access control password. This password allows write access to specific configuration parameters not available to the end user. Password protected parameters can normally still be read back without the need for a password. Command Format DS<SP>PW<SP><access_level><SP><password><CR> Response Format ds<SP>pw<access_level><SP><response><CR><LF> <access_level> single ASCII character defining the access level required. <password> ASCII string containing the password for the access level.

<response> ASCII sting returning the result of the password access request. This is either ‘GRANTED’ or DENIED’.

7.14.3 DS TA – Get/Set Service ID (SID)

Set/Get one of the 5 stored Service IDs (SIDs). The terminal has 5 pre-programmed SIDs each with a corresponding Beam ID (BID). The SID and BID are the primary parameters that the terminal uses to connect to the Inmarsat-D network. Use the DS TE command to set the corresponding BID and the DS TJ command to read back the SID/BID pairs. If this value is changed the service provider must be informed to ensure that forward channel messages are delivered to the correct channel. Command Format DS<SP>TA<SP><service><SP><service_ID><CR> DSTA<service>?<CR> Response Format ds<SP>ta<service><SP><service_ID><CR><LF>

<service> single ASCII digit in the range 0..4 representing the pre-programmed service number.

<service_ID> 2 digit ASCII hex number of the stored Service ID

corresponding to the specified service.

Page 112: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 103 of 120

Commercial In Confidence

7.14.4 DS TC – Get/Set Pager Subset Number (PSN)

The DS TC command is used to get or set the terminal ‘Pager Subset Number’ (PSN). A particular service may utilise a number of Traffic channels and the PSN provides a method of distributing the terminal population associated with this service over these Traffic channels. By default the PSN of every terminal is set to the last character of the terminal ISN (see command TN in section 7.14.10) giving the terminal population an even distribution of PSN’s between 0 and F.

If this value is changed from the default setting the service provider must be informed to ensure that forward channel messages are delivered to the correct channel.

Command Format DS<SP>TC<SP><PSN><CR> DSTC?<CR> Response Format ds<SP>tc<PSN><CR><LF> <PSN> single ASCII hex character 0 to F

7.14.5 DS TE – Get/Set Beam ID

Set/Get one of the 5 stored Beam ID’s (BIDs). Also refer to the DS TA command, paragraph 7.14.3.

If the BID is changed the service provider must be informed to ensure that forward channel messages are delivered to the correct channel

Command Format DS<SP>TE<SP><service><SP><beam_ID><CR> DSTE<service>?<CR> Response Format ds<SP>te<service><beam_ID><CR><LF>

<service> single ASCII digit in the range 0..4 representing the pre-programmed service number.

<beam_ID> 2 digit ASCII hex number of the stored Beam ID corresponding

to the specified service.

Page 113: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 104 of 120

Commercial In Confidence

7.14.6 DS TG – Get/Set the Group PID’s

The DS TG command is used to get or set up to 5 group PIDs for the terminal. GPIDs provide the ability for service providers to broadcast forward channel messages to multiple terminals. Contact your service provider for more information. Command Format DS<SP>TG<SP><gpid_no><SP><gpid><CR> DSTG?<CR> Response Format ds<SP>tg<SP><gpid0><SP><gpid1><SP><gpid2><SP> <gpid3><SP><gpid4><CR><LF>

<gpid_no> single character ASCII hex value in the range 0..4 representing the 5 stored GPID’s

<gpid> 5 character ASCII hex value of the 20bit GPID

7.14.7 DS TJ – Get Configured Service IDs

The DS TJ command is a read only command used to get the 5 stored “Services” with a “Service ID” and “Beam ID” held in the terminal. The terminal has 5 pre-programmed Service IDs each with a corresponding Beam ID. The service ID and Beam ID are the primary parameters that the terminal uses to connect to the Inmarsat-D network.

Command Format DSTJ?<CR> Response Format ds<SP>tj<SP><service_ID0><SP><beam_ID0><SP>, <service_ID1><SP><beam_ID1><SP>, <service_ID2><SP><beam_ID2><SP>, <service_ID3><SP><beam_ID3><SP>, <service_ID4><SP><beam_ID4><CR><LF>

<service_ID> 2 digit hexadecimal number representing the stored Service ID to be used with the specified service.

<beam_ID> 2 digit decimal number reporting the stored beam ID to be

used with the specified service.

Page 114: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 105 of 120

Commercial In Confidence

7.14.8 DS TK – Get/Set the Number of RC Transmission Retries

The DS TK command is used to set the number of transmission retries for messages that have been configured to request an LES acknowledge but where no acknowledgement has been received. Each retry occurs if the expected acknowledgement has not been received within 3 frames of the transmission. The message remains at the top of the transmit queue until either an acknowledgment is received or the re-try count has expired. By default the number of re-tries is set to 1.

Command Format DS<SP>TK<SP><retries><CR> DSTK?<CR> Response Format ds<SP>tk<SP><retries><CR><LF>

<retries> single ASCII hex character (0 to F) representing the number of retries

7.14.9 DS TM – Get/Set the Terminal Mobility

Get/set the mobility of the terminal. If the terminal is expected to be used in aircraft this value should be set to 1. If it is to be used in a static or vehicular installation then it should be set to zero.

Command Format DS<SP>TM<SP><mobility><CR> DSTM?<CR> Response Format ds<SP>tm<SP><mobility><CR><LF> <mobility> single ASCII digit, either 0 or1.

7.14.10 DS TN – Get the Terminal ISN

Get the terminals unique Inmarsat Serial Number (ISN) identifier. Command Format DSTN?<CR> Response Format ds<SP>tn<SP><ISN><CR><LF> <ISN> 12 ASCII character representation of the ISN

Page 115: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 106 of 120

Commercial In Confidence

7.14.11 DS TO – Get/Set the Operational Flags

Get/set the state of 24 SET ONLY flags. These flags are set to enable or disable additional functionality within the terminal.

WARNING: These flags should only be set following consultation with Honeywell Global Tracking. Once these flags are set they cannot be cleared. The unit must be returned to Honeywell Global Tracking to clear the flags.

Bit Number Function

0 Enable terminal for use in (USA) FCC controlled areas. All units deployed in (USA) FCC controlled areas should have this flag set

1 Set to 1 indicating IsatM2M operation 2-23 Reserved

Table 44 – DS TO Operational Flags Command Format DS<SP>TO<SP><flags><CR> DSTO?<CR> Response Format ds<SP>to<SP><flags><CR><LF>

<flags> 6 ASCII hex character representing the 24bit flags thus command “DS TO 01” would set bit zero

7.14.12 DS TR – Report Receiver Status

The DS TR command reports the latest receiver status values from the terminal. Command Format DSTR?<CR>

Response Format ds<SP>tr<SP><channel><SP><rx_Inhibit><SP> <rx_progress><SP><errors><CR><LF>

<channel> 4 character ASCII hex representation of the receiver channel

number.

<rx_Inhibit> 4 character ASCII hex representation of any receiver inhibiting factors as described in Table 45. If the inhibiting factor is cleared then the status will return to “Receive OK”

Value Usage 0 Receive OK

1 Forward channel has a low signal quality. Check the positioning of the antenna

2 BB Allocation Table not matched. The SID, BID, PSN in the terminal are not setup correctly. Contact your service provider

3 HW failure. Contact your service provider

Table 45 – DS TR Receiver Inhibit Status Codes

Page 116: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 107 of 120

Commercial In Confidence

<rx_progress> 2 character ASCII hex representation of the receiver progress

returned by the terminal as described in Table 46

Valid Values Status 00 Config 01 BB Wide band 02 BB Narrow Band 03 BB Track and Demod 04 BB Track and Demod – No Match Found 0A TC Narrow Band 0B TC Track and Demod 0C TC RF Off

0D TC Rx Errors (TC could not be decoded correctly due to poor signal quality)

Table 46 – DS TR Receiver Progress Codes <errors> 4 character ASCII hex representation of 16 error flags (see

Table 47). These error bits are only cleared on a power cycle.

Bit Usage 0 HW Error 1 Internal non-volatile memory CRC failure 2 Forward Channel Ack not received 3 Rx message buffer overflow 5 Rx message buffer error 6 Tx message buffer overflow 7 Tx message buffer error

Table 47 – DS TR Terminal Error Codes

Page 117: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 108 of 120

Commercial In Confidence

7.14.13 DS TS – Report Signal Status

The DS TS command reports the latest receiver status from the DSP. Command Format DSTS?<CR> Response Format ds<SP>ts<SP><SNR><SP><level><SP><freq><SP><doppler> <SP><symbol_errors><SP><rx_progress><CR><LF>

<SNR> 4 character ASCII hex representation of received Signal to Noise Ratio multiplied by 10dBHz.

<level> 4 character ASCII hex representation of received signal level at the ADC input multiplied by –100dBm.

<freq> 6 character ASCII hex representation of received signal frequency.

<doppler> 4 character ASCII hex representation of received signal rate of change of frequency

<symbol_errors> 4 character ASCII hex representation of the number of corrected symbol errors this frame.

<rx_progress> 2 character ASCII hex representation of the receiver progress returned by the terminal as described in Table 46

7.14.14 DS TT – Report Transmitter Status

The DS TT command requests the latest transmitter status from the DSP. Command Format DSTT?<CR> Response Format ds<SP>tt<SP><msg_buf><SP><tx_progress><SP> <tx_inhibit><SP><last_tx_type><SP> <last_tx_time><SP>0<CR><LF>

<msg_buf> 2 character ASCII hex representation of the number of return

channel messages waiting to be transmitted.

<tx_progress> 2 character ASCII hex representation of the progress of the current message being transmitted. The progress is described in Table 48.

Value Usage

0 Message buffer empty

1 Waiting for a FC acknowledgement (Tx inhibited)

2 Waiting for FC frame header 3 Waiting for Transmit slot

4,5 or 6 Transmitting

Table 48 – DS TT Transmit Progress

Page 118: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 109 of 120

Commercial In Confidence

<tx_inhibit> 4 character ASCII hex representation of the status of any inhibiting factors to the current burst being transmitted. The status is described in Table 49. If the inhibiting factor is cleared then the status will return to “Transmit OK”

Value Usage

0 Transmit OK 1 Hardware Error. Contact your service provider

2 System Message. The unit has been stopped from transmitting by a system message. Contact your service provider

3 Waiting for a Forward Channel (FC) Acknowledgment. While waiting for a FC Ack no further transmissions will be made to ensure that the FC Ack is received

4

Poor signal quality on FC. Before every transmission the terminal determines whether a transmission is likely to be successful by monitoring the FC signal quality. While signal quality is poor transmissions will be inhibited.

5 Receiving a FC message. A transmission was due to go out in a frame that contained a forward channel message for the terminal. The transmission has been re-scheduled

Table 49 – DS TT Transmit inhibit status

<last_tx_type> single character ASCII representation of the last message type transmitted ‘L’ – Long, ‘D’ – Double, ‘A’ – Acknowledgement.

<last_tx_time> 4 character ASCII decimal representation of the UTC time of the last transmission. The first two characters are the hours the second two characters are the minutes. A value of ‘9999’ indicates that no transmission has taken place since the terminal was last turned on or came out of sleep mode

Page 119: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 110 of 120

Commercial In Confidence

7.14.15 DS TW – Return Channel TX Queue Write Function

The DS TW command is used to setup the way that return messages are written to the return channel transmission queue. By default these values are set to size=9 and write=0. Further information on the return channel queue can be found in reference [1]. Command Format DS<SP>TW<SP><size><SP><write><CR> DSTW?<CR> Response Format ds<SP>tw<SP><size><SP><write><CR><LF>

<size> single digit ASCII hex character in the range 2 to 9 that represents the maximum number of messages that can be stored in the return channel transmit queue at any time.

<write> single digit ASCII hex flag that describes the way messages are handled when the transmit queue is full. If the flag is set to zero no messages can be added to the transmit queue when it is full. If the flag is set to 1 a new messages will overwrite the oldest message in the transmit queue when it is added.

7.14.16 DS TZ –Write/Restore Configuration to/from Non-Volatile Memory

The DS TZ command is used write specific configuration values to non-volatile memory or to restore their default settings from non-volatile memory. The configuration values to which this command applies are indicated in Table 54. In order to restore the default settings of these configuration values, the command “DS TZ D” (Defaults loaded into RAM) must be followed by the command “DS TZ S” (Save the RAM values to non-volatile memory).

Note: Power management within the terminal may cause the RAM settings of the configuration values, to which this command applies, to be lost. The settings must therefore be saved to non-volatile memory to avoid unexpected results.

Command Format DS<SP>TZ<SP><action><CR> DSTZ? Response Format ds<SP>tz<SP><success><CR><LF>

<action> S - Save the current configuration in RAM to non-volatile memory

D - Load the Default configuration to RAM (This would normally be followed by a command to write to non-volatile memory)

<success> single ASCII digit, 0(failure) or 1(successful).

Page 120: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 111 of 120

Commercial In Confidence

7.15 NMEA Input/Output Messages

The terminal can receive and decode NMEA format RMC and GGA sentences from an external position data source. The position data from these sentences is stored in the NMEA input registers in the terminal GPS scripting module (module 0x04 registers 0x80 to 0x85). It is available for use by scripting functions and as the source data for the user defined return messages, but it is not used by any of the internal geographic processing (geofences or target point distances).

The terminal will accept sentences that begin either $G or $A and with any letter in the next position so that the data may be provided by systems based on any navigational data source (for example GPS, GLONASS or terrestrial radio).

The terminal can also be configured to output NMEA RMC, GGA and GSV sentences.

RMC sentences are of the form:

$GPRMC,141050,A,5159.23,N,00209.87,W,0.1,174.5,030904,,*0B

Where the message fields, separated by commas, have the following functions.

Field Number Contents Meaning 1 GPRMC Message header/identifier 2 141050 Time hhmmss 3 A Data Validity. A = Valid, V = Invalid 4 5159.23 Latitude value DDMM.MM 5 N Hemisphere N = North, S = South 6 00209.87 Longitude Value DDDMM.MM 7 W Hemisphere E = East, W = West 8 0.1 Speed in knots 9 174.5 Heading in degrees

10 030904 Date ddmmyy 11 (On output this field is always empty, on input it is

ignored) 12 *0B Message Checksum. 2 hex digits after the * character.

Table 50 – NMEA RMC Sentence Format

Page 121: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 112 of 120

Commercial In Confidence

GGA sentences are of the form: $GPGGA,110039,5200.28,N,00207.48,W,1,,,64.00,M,,,,,*0D Where the message fields, separated by commas, have the following functions.

Field Number Contents Meaning 1 GPGGA Message header/identifier 2 123519 Time hhmmss 3 5200.28 Latitude value DDMM.MM 4 N Hemisphere N = North, S = South 5 00207.48 Longitude Value DDDMM.MM 6 W Hemisphere E = East, W = West 7 1 Fix quality 8 Number of satellites being trackedNote 1 9 Horizontal Dilution of Precision Note 1

10 64.00 Altitude (WGS-84 ellipsoid) 11 M Altitude units - Metres 12 Geoid separation Note 1 13 Separation units - Metres Note 1 14 Time since last DGPS update Note 1 15 DGPS station ID number Note 1 16 *0B Message Checksum. 2 hex digits after the * character.

Note 1: The terminal does not use these fields. On output they are always empty, on input they are ignored

Table 51 – NMEA GGA Sentence Format GSV sentences (output only) are of the form: $GPGSV,4,1,14,03,84,155,23,06,72,118,16,07,17,280,25,08,16,320,19*70 Where the message fields, separated by commas, have the following functions.

Page 122: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 113 of 120

Commercial In Confidence

Field Number Contents Meaning 1 GPGSV Message header/identifier 2 4 Number of sentences for full data 3 1 Sentence 1 of 4 (in this example) 4 14 Number of satellites in view Then, the following information is provided for up to 4 satellites per

sentence: 5 03 Satellite PRN number 6 84 Elevation, degrees 7 155 Azimuth, degrees 8 23 SNR . . .

21 (max) *0B Message Checksum. 2 hex digits after the * character.

Table 52 – NMEA GSV Sentence Format

Page 123: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 114 of 120

Commercial In Confidence

7.16 Script Debugging Messages

The terminal can be configured to output messages to aid in the debugging of scripts. These messages take the form of one unsolicited output message each time that an operation chain is called and a message for each timer or alarm that is triggered. The message output starts with a message containing a list of each of the operations that are performed in the process chain, followed by either a timer or alarm message showing the trigger event for the operation chain. Script debugging messages can be switched on with a ‘PS 3’ and off with a ‘PS 1’ command, section 7.13.4. Script debugging messages must not be enabled when a GEM-100 is used.

7.16.1 za – Alarm Trigger Message

The za message is output each time that an alarm triggers. The message identifies the alarm channel that has been triggered. The message follows the operation chain message that was triggered by the alarm. Message Format za<SP><alarm><CR><LF>

<alarm> single ASCII hex character identifying the alarm channel that was triggered.

7.16.2 zo – Operation Chain Message

A zo message is output each time that an operation chain is triggered. The message contains a list of all of the operations that have been triggered in the chain. Message Format zo<SP><Op_1><SP><Op_2>…<SP><Op_N><CR><LF>

<Op_X> 2 digit ASCII hex number identifying the operation step that has been performed.

7.16.3 zt – Timer Trigger Message

The zt message is output each time that a timer triggers. The message identifies the timer channel that has been triggered. The message follows the operation chain message that was triggered by the timer. Message Format zt<SP><timer><CR><LF>

<timer> single ASCII hex character identifying the timer channel that was triggered.

Page 124: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 115 of 120

Commercial In Confidence

7.17 Error Messages

When the processor detects an error in the command it responds with an error report. Error codes above 0x80 indicate that the DSP has detected an error in a command sent to it by the MSP.

The error report message is of the form

Response Format er<SP><error_code><CR><LF> <error_code> 2 digit ASCII hex number indicating the error detected.

Error Code Meaning 10 Invalid Command, Command not recognised 11 Response from the DSP not recognised

20 Bad Parameter entered for command, unable to decode the parameter

value or the parameter outside the legal range 21 An invalid ocean region selected 22 An invalid Service ID selected 28 Bad Serial Number (corrupted memory) 29 Stored script error (corrupted EEROM)

30 Error defining a Geofence 31 Invalid Geofence point entered 32 The requested target position has not been defined 38 The message database is not open for new message definitions 39 Bad message number definition supplied (BD Command) 3A Bad message field definition supplied (BF Command)

40 Unable to communicate with the GPS module 41 MSP clock failure 42 Timeout on heartbeat message from the DSP. The terminal will go into

sleep mode before trying to restart the terminal operation. 48 GPS Communications error

90 DSP Invalid Command, Command not recognised 91 DSP Bad Arguments, The number of arguments given with the

command was not as expected 98 Out of range update to the DSP Real Time Clock 99 The DSP has not received a heartbeat message from the MSP in the

last 3 seconds. The DSP peripherals will be held low and this error message sent out every second. MSP will attempt a terminal reboot.

A0 DSP Bad Parameter entered for command. The value of one or more

of the arguments was out of range A1 DSP invalid ocean region selected A2 DSP invalid Service ID selected A3 Invalid command used

Page 125: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 116 of 120

Commercial In Confidence

Error Code Meaning A4 DSP invalid satellite selection mode selected A5 Invalid Tx Frequency A6 Invalid Rx Frequency

C0 Access to command denied. Password required. C1 FLASH read error C2 FLASH write error C3 PID corrupted – Contact Honeywell Global Tracking

D0 Transmit Queue error D1 Transmit queue full D2 Transmit Acknowledgement error D3 Unexpected forward channel acknowledgement received D4 Transmit inhibit message received from the LES – Contact Honeywell

Global Tracking D5 Data Log is empty D6 Data Log Error D7 Cannot transmit as no valid UTC time has been set

E0 Forward channel message buffer overflow E1 Forward channel message buffer empty E2 Forward channel message buffer no more data

F0 Hardware RF failure F1 Hardware RF OK F2 Hardware RF failure switching Inmarsat-D off F3 DSP Task scheduler overflow – contact Honeywell Global Tracking F4 DSP Task scheduler error – contact Honeywell Global Tracking

Table 53 – Terminal Error Report Codes

Page 126: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 117 of 120

Commercial In Confidence

7.18 Command Summary

The serial interface commands are summarised in this section, for details on ‘over the air’ remote control of the terminal Sse section 6 or contact your service provider.

Table 54 provides a summary of the terminal commands. Commands are available on all SAT-200 based terminals apart from those whose description refers to [GEM-100] or [MODBUS]:

[GEM-100] = Only available or applicable if terminal used with GEM-100 [MODBUS] = Only available on MODBUS enabled terminals

Some explanation of the columns in Table 54 is provided below:

Command: The serial command without parameters

Associated Scripting Register Address(es): The scripting registers that are associated with or modified by the serial command.

The registers are indicated by their hexadecimal module and register numbers. Where possible direct access of the scripting registers using the RR/RW command should be used in preference to the indirect serial command access. Where no scripting register is provided, the function cannot be accessed via a script.

Description: A brief description of the command function

R/W: Indicates whether the command is Read only, Write only or Read/Write. (Also see

note 1 at the end of the table.)

Non-volatile: - = Not applicable or not stored in non-volatile memory 1 = Parameters stored to non-volatile memory, or their default values restored

from non-volatile memory, through the DS TZ command. See paragraph 7.14.16.

2 = Parameters stored to non-volatile memory by the CZ command (paragraph 7.3.13)

3 = Parameters stored to non-volatile memory by the GW command (paragraph 0)

4 = Parameters stored to non-volatile memory by the BW command (paragraph 7.12.6)

Auto = Automatically stored to non-volatile memory

Default Value: Factory/Operational default values as applicable.

Password (See paragraph 7.14.2): - = No password required 1 = Application Service Provider (ASP) level. 2 = Service ID Level ** = Local (serial port) access to these commands (includes all DS prefixed

commands) can be disabled by an ‘Over the air’ password command.

Page 127: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 118 of 120

Commercial In Confidence

Command Associated Scripting Register Address(es)

(Hexadecimal)

Description R/W Non-volatile

Default value Pass-word

DS -- All DS prefixed commands ** DS PW Enter access password W - - DS TA 0 57 to 0 5B Note 1 Service ID R/W 1 2,22,23,24,25 2 DS TC 0 50 Note 1 PSN R/W 1 Last Char ISN 1 DS TE 0 57 to 0 5B Note 1 Beam ID R/W 1 0,0,0,0,0 1 DS TG 0 52 to 0 56 Note 1 Group ID’s R/W 1 All zero 1 DS TK 5 28 Transmission retries R/W 1 1 - DS TM 0 5D Mobility R/W 1 Non-Aero 1 DS TN 0 50 ISN R - See unit base - DS TO 0 5C Note 1 Operational Flags R/W

set only Auto 0 1

DS TR 5 22 Receiver status R - - DS TS 5 21 and

5 29 to 5 2C Signal status R - -

DS TT 5 23 Transmitter status R - - DS TW 5 2E Note 1 Tx Queue Configuration R/W 1 9,0 1 DS TZ Write or restore configuration

to/from non-volatile memory W - 1

CA 0 02 Satellite selection mode R/W 2 Disabled ** CB 0 00 Ocean Region R/W 2 AORE ** CE 0 03 Power control state R/W 2 0xDF ** CF Factory defaults W Auto ** CI 0 01 Service ID index R/W 2 0 ** CN 0 20 NMEA output control R/W 2 Disabled ** CP 0 06 Firmware version (MSP) R - - CR Reload script from FLASH W - ** CS 0 07 Script Application version R/W 2 - CU 0 03 Operating power mode R/W 2 Mobile ** CV 0 05 Firmware version (DSP) R - - CW Erase script from RAM W - ** CZ Store script to FLASH W - ** IA 3 10 to 3 17 Analog input R - - IC 3 02 Configure inputs/outputs R/W 2 SAT-202 I/O:

HV digital in SAT-202 Output: Disabled SAT-200 extended I/O: Digital out

**

ID 3 00 Digital inputs R - - IE 3 01 Digital outputs R/W 2 0 ** II 0 0A [GEM-100] Ext power supply status R - IO 3 03 [GEM-100] Battery power output -

IO7 R/W 2 0 **

IP 3 18 MSP supply voltage level R - - IQ 3 1C [GEM-100] Battery pack

temperature R - -

IS 3 19 External power supply voltage level R - - IT 3 1A MSP temperature R - - IU 3 30 [GEM-100] User LED Control R/W - 0 ** IX 3 1B [GEM-100] Battery voltage level R - - TC 1 10 to 1 1F and

1 90 to 1 9F Configure timer R/W 2 Stopped **

TD 1 28 Disable timers W - ** TE 1 28 Enable timers W - **

Page 128: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 119 of 120

Commercial In Confidence

Command Associated Scripting Register Address(es)

(Hexadecimal)

Description R/W Non-volatile

Default value Pass-word

TM 1 40 to 1 4B and 1 A0 to 1 AF

Timer trigger value (timers 0 to 11 and 16 to 31)

R/W 2

**

1 4C to 1 4F Timer trigger value (timers 12 to 15)

R/W Auto **

TR 1 22 Reset timers W - ** TS 1 23 Restart timers W - ** TT 1 30 and

1 32 to 1 37 Current time and date (UTC) R 12:00:00

23/07/04 -

TV 1 00 to 1 0F and 1 80 to 1 8F

Current timer value R - **

AC 2 10 to 2 1F and

2 50 to 2 5F Configure alarms R/W 2 Clear **

AD 2 30 Disable alarms W - ** AE 2 31 Enable alarms W - ** AF 2 33 Trigger alarms W - ** AR 2 32 Reset alarms W - ** AT 2 20 to 2 2B and

2 60 to 2 6F Alarm threshold (alarms 0 to 11 and 16 to 31)

R/W 2 **

2 2C to 2 2F Alarm threshold (alarms 12 to 15)

R/W Auto **

OC 7 00 to 7 1F and

7 80 to 7 9F Configure operation R/W 2 Reset **

OD 7 40 and 7 44 Disable operations W - ** OE 7 41 and 7 45 Enable operations W - ** OR 7 42 and 7 36 Reset operations W - ** OT 7 43 and 7 47 Trigger operations W - ** GM GPS satellites signal strengths R - ** GS 4 01 GPS status R - Invalid - GA 4 05 GPS altitude R - - GH 4 04 GPS heading R - - GP 4 01 and 4 02 GPS position R - - GV 4 03 GPS speed R - - GD Define Geofence initialisation R/W 3 Invalid ** GF Define Geofence point R/W 3 ** GW Store Geofence to FLASH W - ** GZ Define Geofence Zone R/W 3 ** GK 4 40 to 4 47 Distance to Target position R - ** GL 4 20 Distance to Reference point R - ** GR 4 11 and 4 12 Define Reference point R/W - 0:0:0 0:0:0 ** GT 4 50 to 4 5F Define Target position R/W Auto Invalid ** GX 4 10 Set Reference point to current

position W - **

GE GPS Software version R - ** GI GPS Position logging rate R/W Auto 0 ** LN Number of logged records R - ** LR Get log record R - ** MA 5 11 and 5 13 Tx message – destination address

field R/W 2 0 **

MB 5 10 Transmit a predefined message W - **

Page 129: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page 120 of 120

Commercial In Confidence

Command Associated Scripting Register Address(es)

(Hexadecimal)

Description R/W Non-volatile

Default value Pass-word

MC Number of messages in receive buffer

R - -

MK 5 14 Tx message – acknowledge flags field

R/W 2 0 **

ML 5 13 and 5 15 Tx message – Control flags field R/W 2 9 ** MM Transmit a message W - - MN Get received message R - - MO 5 40 Enable/disable unsolicited output of

received messages R/W 2 **

MP 5 31 Configure automatic transmit R/W Auto ** MQ 5 38 to 5 3B Response to ‘tone only’ message R/W 2 0 ** MR 5 20 to 5 22 and

5 29 to 5 2C Receiver status R - -

MS 5 24 Transmit slot randomisation R/W 2 1 ** MT 5 23 Transmitter status R - - SR 6 00 to 6 0F Scratchpad registers R/W 2 0 ** RR All scripting registers Read Register R ** RW All scripting registers Write register W - ** BD Define user message number W 4 No messages ** BF Define user message field contents W 4 ** BI Initialise user message database W 4 ** BN Number of user message

definitions R - **

BQ User message definition R - ** BW Close the user message database W Auto ** PD Program upload W - - PI 0 FE Reset W - - PR Serial baud rate W Auto 9600 ** PS Enable/disable scripting R/W - 1 ** PT Run production tests - ** PV Bootloader version number R - - PY Date/time of software build R - - PZ Serial Number R - - XC [MODBUS] configuration register R/W 2 ** XD [MODBUS] slave data register R/W 2 ** XE [MODBUS] Error counter R/W 2 ** XM [MODBUS] slave message register R/W 2 ** XT [MODBUS] Target Action Register R/W 2 ** mf Inmarsat-D received message - - - pa Program record acknowledge - - - pn Program record NAK - - - za Script debug – alarm triggered - - - zo Script debug – timer triggered - - - zt Script debug – operation performed - - - $A NMEA input - - - $G NMEA input - - - Note 1: Write access to these scripting register parameters is only available through the use of the password protected DS prefixed command.

Table 54 – Command Summary

Page 130: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page A-1 of 5

Commercial In Confidence

A APPENDIX A – EXAMPLE GEOFENCE DEFINITION

A.1 Introduction

The terminal allows for the definition of two complex geofenced areas. A geofence is an area defined by a number of points on the earth’s surface joined together by straight lines. The terminal tests the current position returned by the GPS module in the terminal against these defined areas and reports whether the terminal is currently inside or outside the fenced area.

A.2 Definition

The geofence algorithm used in the terminal divides the complex fenced area up into a number of zones. The testing algorithm then checks each of the zones in turn.

D

B

A

C

E

X

F

Figure 4 - Zoned Geofence

In Figure 4 the fenced area ABCDEF is split into two zones ABEF and BCDE. The point X will be detected in the first of these zones.

The geofence definition method uses a two-stage definition process. The first stage is to have a table of all of the corner positions. This table is defined to have 40 entries. These table entries may be in any order, and need not all be used. The second stage is to have a zone definition table. This starts with the number of zone definition entries there are. Each entry in the zone definition table has the following structure:

Number of points in zone definition Point ID 1 Point ID 2

: :

Point ID n

The Point ID values indicate which of the entries in the corner position table are used to define the zone. There may be a total of 188 values stored in this table.

The definition for the fence shown in Figure 4 would be as follows:

Page 131: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page A-2 of 5

Commercial In Confidence

Latitude A Longitude A Latitude B Longitude B Latitude C Longitude C Latitude D Longitude D Latitude E Longitude E Latitude F Longitude F

Co-ordinate Table

Number of zones = 2 Number of points in zone = 4 Point ID = A Point ID = B Point ID = E Point ID = F Number of points in zone = 4 Point ID = B Point ID = C Point ID = D Point ID = E

Zone Definition Table

A.3 Geofence Constraints

There are two constraints that must be observed when defining a geofence:

1. The points must be defined in an anti-clockwise (counter-clockwise) direction going around each of the zones in the fence

2. The internal angle at each of the zone corners must be less than 180°.

A.4 Geofence Definition Sequence

Once the points that make up the fence have been selected, the geofence is defined using 4 different commands issued in sequence:

1. The GD command (para. 7.8.3.1) initiates the fence definition process by specifying the fence number, and defining the number of points and zones that it contains.

2. The GF command (para. 7.8.3.2) is then used to define each point in the fence. A sequence of GF commands is require, one for each point.

3. Once all of the points have been defined the zones within the fence have to be defined. This involves a sequence of GZ commands (para. 7.8.3.4), one for each zone.

4. Finally a GW command (para. 7.8.3.3) is issued to verify that all of the points referenced in the zone definitions exist in the list of points and that the correct number of points and zones have been defined. If these criteria are met then the fence is enabled for use by the scripting functions.

Page 132: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page A-3 of 5

Commercial In Confidence

A.5 Example Geofence Definition

This example shows a fence that is made up of two disjoint areas, encircling the two towns. It is made up from 8 points and 2 zones. The boundary of the fence can be seen on the map screenshot and the defining command sequence is listed out below.

The command sequence for this example fences is:

GD 1 8 2 GF 1 1 +052 05 19.00 -002 17 10.00 GF 1 2 +052 05 28.99 -002 21 40.00 GF 1 3 +052 01 57.99 -002 22 20.00 GF 1 4 +052 01 31.99 -002 17 10.00 GF 1 5 +051 55 52.99 -002 06 02.00 GF 1 6 +051 55 16.00 -002 09 36.00 GF 1 7 +051 52 21.00 -002 09 51.00 GF 1 8 +051 52 16.00 -002 05 52.00 GZ 1 1 4 01 02 03 04 GZ 1 2 4 05 06 07 08 GW 1

Page 133: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page A-4 of 5

Commercial In Confidence

The same fence definition written in TSL is:

// Define the 8 point locations at the corners // of the fence zones DECLARE Point_1 AS POSITION { LATITUDE = +052 05 19.00 LONGITUDE = -002 17 10.00 } DECLARE Point_2 AS POSITION { LATITUDE = +052 05 28.99 LONGITUDE = -002 21 40.00 } DECLARE Point_3 AS POSITION { LATITUDE = +052 01 57.99 LONGITUDE = -002 22 20.00 } DECLARE Point_4 AS POSITION { LATITUDE = +052 01 31.99 LONGITUDE = -002 17 10.00 } DECLARE Point_5 AS POSITION { LATITUDE = +051 55 52.99 LONGITUDE = -002 06 02.00 } DECLARE Point_6 AS POSITION { LATITUDE = +051 55 16.00 LONGITUDE = -002 09 36.00 } DECLARE Point_7 AS POSITION { LATITUDE = +051 52 21.00 LONGITUDE = -002 09 51.00 } DECLARE Point_8 AS POSITION { LATITUDE = +051 52 16.00 LONGITUDE = -002 05 52.00 } // Declare the Geofence to have two zones defined by the // Locations already defined. DECLARE Fence AS GEOFENCE USE 1 { ZONE { POINT Point_1 POINT Point_2 POINT Point_3 POINT Point_4 } ZONE { POINT Point_5 POINT Point_6

Page 134: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page A-5 of 5

Commercial In Confidence

POINT Point_7 POINT Point_8 }

Page 135: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page B-1 of 4

Commercial In Confidence

B APPENDIX B – EXAMPLE USER MESSAGE DEFINITION

The terminal allows the user to define the contents of the user data field in a return channel message by taking blocks of one or more bits from its internal registers and concatenating these into the data block to be transmitted. This allows, for example, the data block being transmitted in a single message to contain the states of selected digital input lines, a timestamp, the top N bits of one of the analogue input values and the external supply voltage. This is all defined by the user in a set of message configuration commands and stored in non-volatile memory so that the message format is not lost if the terminal power is removed.

The message definition procedure starts by defining the identifier number to be used for the message and the number of field definitions to be used in generating the user data block. The message data fields are then defined in terms of the data source register and the bits to be extracted from that register.

B.1 Message Number Definition

Each message to be defined in a terminal must have a unique message number assigned to it. User message formats defined using the scheme detailed in this document can have message numbers in the range 0x80 to 0xFE inclusive, message numbers 0x00 to 0x7F are reserved for the standard message definitions built in to the terminal. This message number identifies the message data format to the receiving application allowing the data contained by the message to be decoded and displayed to the end user. The message number definition also includes the number of data field definitions used to generate the user data payload.

User message numbers in the range 0x80 to 0xBF are for 64-bit payload messages. Message ID numbers in the range 0xC0 to 0xFE define messages with 80-bit payloads. A double length message (IsatM2M service) can be defined for a message number in the range 0x80 to 0xBF and defining 148 payload data bits

B.2 Message Field Data Selection

A message data field is a number of bits extracted from one of the scripting module registers listed in section 5. The bits to be extracted from the register are defined by a bit mask. If a bit in the mask is set then the corresponding bit from the data source register is included in the transmitted data block. The bits from the source register will be included in order from most significant to least significant. The bits included do not have to be consecutive, i.e. it is possible to extract bits 7, 4, 3, 1 and 0 in that order using a single field definition (in this case the bit mask would be 0x9B [1001 1011 binary]). This allows the message to contain, for example, selected digital input bits.

B.3 Message Definition Rules

The user message database can contain a maximum of 16 message number definitions and 72 data field definitions. The maximum number of field definitions that may be used to generate a message is 64, in the case where each bit is defined to be from a separate data register. The minimum number of field definitions is two, in the case where the full 32 bits are used from the two data source registers. The message database is full when either the maximum number of message numbers or message fields have been defined.

Page 136: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page B-2 of 4

Commercial In Confidence

Message numbers must be between 0x80 and 0xFE (128 and 254). Message numbers below 128 are reserved for the built in message formats used by the terminal.

The message field definitions for a message must define exactly 64, 80 or 148 bits. If an incorrect number of bits are defined then the message will not be generated for transmission.

It is not possible to reduce the number of field definitions used by sharing individual data field definitions between messages. It is possible to have multiple message numbers sharing the same payload definition. This is done by issuing a number of message number definition commands before the first field definition command.

The data field definitions for a message are packed into the user data block in the order that their definitions are sent to the terminal.

The fields used to define the message block are the N field definitions sent after the message number definition command. If less than N field definitions are sent then the results are undefined. The terminal does not check this condition.

B.4 Message Definition Commands

The commands used to program the message database and reading back message definitions are detailed in section 7.12. In summary they are: BI - Initialise the database BD - Define the message number BF - Define the user data block BW - Close the database BN - Reports the number of messages in the database BQ - Reports message formats from the database

B.5 Programming Command Sequence

A typical programming command sequence will be.

1. Issue a BI command to initialise the database 2. BD command to define the user message number 3. Sequence of BF commands to define the user data block for the message 4. Repeat steps 2 and 3 for all the messages to be defined 5. Issue a BW command to close the database.

If it is required to have more than one message number with the same data format then step 2 should be repeated for all of the message number definitions before moving on to step 3.

B.6 Example – Time Stamped Analogue Input Report

There are a number of ways that a message may be time stamped, each providing different resolutions. In this message the time stamp is taken from the real time clock minutes and seconds registers with the remote application being left to deduce the hours field from the time of arrival of the message. An alternative would be to use all or part of the UTC time in seconds past midnight register. The number of bits used from this register only needs to be

Page 137: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page B-3 of 4

Commercial In Confidence

sufficient for the end application to deduce the actual time of message generation from the value and the time of delivery of the message.

The analogue values being transmitted are three analogue input channels – each limited to 10-bit resolution. The resolution is selected by the mask value used. In this case the mask value has bits set for the 10 most significant bits of the 12-bit analogue conversion result. This has the effect of discarding the two least significant data bits, performing a truncation operation on the data value.

The remaining bits in the message are transmitted as zeros.

The field definitions for the message format are shown in Table 55.

Field No Field Data Module ID Register ID Mask Value Bits Used 1 UTC Minutes 0x1 0x36 0x3F 6 (6) 2 UTC Seconds 0x1 0x37 0x3F 6 (12) 3 Analogue Input 2 0x3 0x12 0xFFC 10 (22) 4 Analogue Input 5 0x3 0x15 0xFFC 10 (32) 5 Analogue Input 7 0x3 0x17 0xFFC 10 (42) 6 Constant Zeros 0xF 0x00 0x3FFFFF 22 (64)

Table 55 – Example Message Definition

This message definition uses 6 field definitions and is being allocated a message number of 160 (0xA0). The command sequence used to define this message is shown below.

BI BD A0 06 BF 136 0000003F BF 137 0000003F BF 312 00000FFC BF 315 00000FFC BF 317 00000FFC BF F00 003FFFFF BW

The BQ response for the message format defined in this example is shown below (assuming that this is the first message stored in the message database):

bq 1 A0 136 0000003F 137 0000003F 312 00000FFC 315 00000FFC 317 00000FFC F00 003FFFFF

Page 138: SAT 200 Scripting API and Command Interface

SAT-200/202 Scripting API and Command Interface GDN-0559 Issue 3

© Honeywell Global Tracking Page C-4 of 4

Commercial In Confidence

C APPENDIX C – NOTES FOR USERS MIGRATING FROM THE SAT-201 SERIES.

The following differences between the SAT-202 and SAT-201/201i series should be noted:

SAT-201/201i SAT-202 Inmarsat-D modes of operation D+ & IsatM2M IsatM2M only General Purpose Inputs/Outputs 2 3 Open Drain Outputs 2 1

Important: When configuring the I/O via a script, RW command or IC command, this output must be configured as Open Drain (mode 9 – see 5.6.1). Any SAT-201/201i script that configures this output as mode 1 must be changed such that the output is configured to mode 9.

Temperature sensor ±2°C Indication only Firmware upgrade speed 9600 baud Selectable up to 115 kbaud GPS engine 20 channel SiRF Star III 50 Channel uBlox Data logger Separate GPS & Transmission

logs Single, integrated log for GPS, Transmissions and Data

Additional scripting registers (Accessible via script and RR/RW command)

Module 0x0 Registers 0x50 to 0xFE Module 0x3 Register 0x1F Module 0x5 Registers 0x28 to 0x2E See 5.2.1 and 5.2.6 for details

Script register changes: Module 0x4 Register 0x08

GDOP

HDOP

Commands no longer available or supported

DS DO Get Tx log size DS DR Get Tx log record DS TJ Get SIDs and BIDs IB Set Analog outputs GU GPS update rate GY UTC synchronisation period GN Get GPS log size GO Get GPS log record – position GQ Get GPS log record - motion PG GPS Boot control

New commands LN Get number of logged records LR Get log record PZ Get Serial Number

Command execution differences PY RR 4 15?

PY? (requires question mark) RW 4 15 0 (write instead of read function)

GEM-100 operation Any script that uses a GEM-100 will need to be modified to include the following configuration command; RW 0 FD 1 See 5.3.22