Telit Wireless Solutions SL869-T User manual



SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE
Notice
While reasonable efforts have been made to assure the accuracy of this document, Telit
assumes no liability resulting from any inaccuracies or omissions in this document, or from
use of the information obtained herein.The information in this document has been carefully
checked and is believed to be entirely reliable. However, no responsibility is assumed for
inaccuracies or omissions. Telit reserves the right to make changes to any products described
herein and reserves the right to revise this document and to make changes from time to time
in content hereof with no obligation to notify any person of revisions or changes. Telit does
not assume any liability arising out of the application or use of any product, software, or
circuit described herein; neither does it convey license under its patent rights or the rights of
others.
It is possible that this publication may contain references to, or information about Telit
products (machines and programs), programming, or services that are not announced in your
country. Such references or information must not be construed to mean that Telit intends to
announce such Telit products, programming, or services in your country.
Copyrights
This instruction manual and the Telit products described in this instruction manual may be,
include or describe copyrighted Telit material, such as computer programs stored in
semiconductor memories or other media. Laws in the Italy and other countries preserve for
Telit and its licensors certain exclusive rights for copyrighted material, including the
exclusive right to copy, reproduce in any form, distribute and make derivative works of the
copyrighted material. Accordingly, any copyrighted material of Telit and its licensors
contained herein or in the Telit products described in this instruction manual may not be
copied, reproduced, distributed, merged or modified in any manner without the express
written permission of Telit. Furthermore, the purchase of Telit products shall not be deemed
to grant either directly or by implication, estoppel, or otherwise, any license under the
copyrights, patents or patent applications of Telit, as arises by operation of law in the sale of a
product.
Computer Software Copyrights
The Telit and 3rd Party supplied Software (SW) products described in this instruction manual
may include copyrighted Telit and other 3rd Party supplied computer programs stored in
semiconductor memories or other media. Laws in the Italy and other countries preserve for
Telit and other 3rd Party supplied SW certain exclusive rights for copyrighted computer
programs, including the exclusive right to copy or reproduce in any form the copyrighted
computer program. Accordingly, any copyrighted Telit or other 3rd Party supplied SW
computer programs contained in the Telit products described in this instruction manual may
not be copied (reverse engineered) or reproduced in any manner without the express written
permission of Telit or the 3rd Party SW supplier. Furthermore, the purchase of Telit products
shall not be deemed to grant either directly or by implication, estoppel, or otherwise, any
license under the copyrights, patents or patent applications of Telit or other 3rd Party supplied
SW, except for the normal non-exclusive, royalty free license to use that arises by operation
of law in the sale of a product.

Usage and Disclosure Restrictions
License Agreements
The software described in this document is the property of Telit and its licensors. It is
furnished by express license agreement only and may be used only in accordance with the
terms of such an agreement.
Copyrighted Materials
Software and documentation are copyrighted materials. Making unauthorized copies is
prohibited by law. No part of the software or documentation may be reproduced, transmitted,
transcribed, stored in a retrieval system, or translated into any language or computer language,
in any form or by any means, without prior written permission of Telit
High Risk Materials
Components, units, or third-party products used in the product described herein are NOT
fault-tolerant and are NOT designed, manufactured, or intended for use as on-line control
equipment in the following hazardous environments requiring fail-safe controls: the operation
of Nuclear Facilities, Aircraft Navigation or Aircraft Communication Systems, Air Traffic
Control, Life Support, or Weapons Systems (High Risk Activities"). Telit and its supplier(s)
specifically disclaim any expressed or implied warranty of fitness for such High Risk
Activities.
Trademarks
TELIT and the Stylized T Logo are registered in Trademark Office. All other product or
service names are the property of their respective owners.

This document describes the portion of the serial communications interface between the
SL869-T GNSS receiver module timing firmware and Host Processor software that is related
to the timing feature. The described interface is reserved for users authorized under a Telit
Non-Disclosure Agreement to use timing module firmware and is a supplement to other
SL869 software user guides.
This document is intended only for distribution to Telit employees and to SL869-T GNSS
timing module customers who have signed a Non-Disclosure Agreement (NDA) with Telit
Wireless.
For general contact, technical support, to report documentation errors and to order manuals,
contact Telit Technical Support Center (TTSC) at:
TS-NORTHAMERIC[email protected]
TS-LATINAMERIC[email protected]
Alternatively, use:
http://www.telit.com/en/products/technical-support-center/contact.php
For detailed information about where you can buy the Telit modules or for recommendations
on accessories and components visit:
http://www.telit.com
To register for product news and announcements or for product questions contact Telit
Technical Support Center (TTSC).
Our aim is to make this guide as helpful as possible. Keep us informed of your comments and
suggestions for improvements.
Telit appreciates feedback from the users of our information.

This document contains the following chapters (sample):
“Chapter 1: “Introduction” provides a scope for this document, target audience, contact and
support information, and text conventions.
“Chapter 2: “Communication Interface”gives an overview of the serial communications
interface.
“Chapter 3: “Commands Description”describes in detail each of the input commands related
to timing for the SL869-T.
“Chapter 4: “Messages Description”describes in detail each of the output messages related to
timing which are produced by the SL869-T.
“Chapter 5: “Document History” provides of the changes made to this User Guide.
Danger –This information MUST be followed or catastrophic equipment failure or bodily
injury may occur.
Caution or Warning –Alerts the user to important points about integrating the module, if
these points are not followed, the module and end user equipment may fail or malfunction.
Tip or Information –Provides advice and suggestions that may be useful when
integrating the module.
All dates are in ISO 8601 format, i.e. YYYY-MM-DD.
1. SL869 Product Description, 80405ST10105A
2. SL869 Software User Guide, 1VV0301002
3. SL869 Software Authorized User Guide, 1VV0301052

The SL869-T timing module is a member of the SL869 product family that is intended for use
in timing applications. The timing firmware within the module provides an accurate PPS
signal by holding an internal reference position that represents the location of the antenna for
the timing module, and then by applying satellite measurements only to the calculation of
time. Because the internal reference position is “held” by the module firmware, this timing
feature of the SL869-T is also known as Position Hold mode. While in Position Hold mode,
the SL869-T timing module firmware also performs time-receiver autonomous integrity
monitoring (T-RAIM) to ensure a high degree of integrity of the PPS signal. Position Hold
mode and the held internal reference position are maintained through commanded software
resets.
The serial communication interface between the SL869-T timing module and the Host
processor is based on the NMEA-0183 protocol standard. More information regarding the
NMEA protocol and its use by the SL869 module family can be found in Section 2 of the
Software Guides for public and authorized users listed as References in the Introduction
above. Note that the default settings for the serial communications port used by the SL869-T
timing firmware are:
115200 Baud
Eight data bits
No parity bits
One stop bit
The timing feature is managed using proprietary NMEA commands and messages. A
command interface allows the user to set and poll the internal reference position used for
Position Hold mode, as well to obtain information regarding the status of the T-RAIM
algorithm.
Unlike the standard SL869 module, by default the SL869-T timing module outputs a pulse
every second. It is able to output an accurate pulse with only one satellite in track when in
Position Hold mode.
As mentioned above, in Position Hold mode an internal reference position is held by the
SL869-T timing module firmware, which removes position uncertainty and allows the
firmware to apply satellite measurements exclusively to the calculation of time and the

production of an accurate PPS signal. The internal reference position can be established in a
number of ways.
The SL869-T timing module firmware includes an auto-survey algorithm that can determine
the reference position from a series of position fix samples. The factory default is for the
auto-survey algorithm to be enabled at start-up, whereby the module operates for at least one
hour (3600 position fixes) as a positioning receiver, after which it enters Position Hold mode
using the calculated reference position.
Commands to change the number of required samples or to disable the auto-survey algorithm
are provided and are described later in this document.
If the number of required samples is changed, or if the module is given any sort of
commanded software reset (e.g. a $PSTMHOT command) while the auto-survey algorithm is
underway, the algorithm is restarted.
If the antenna position is accurately known a priori when the SL869-T timing module is
installed, the module can be commanded into Position Hold mode and to specifiy the antenna
position as its held reference position. The module can also be configured via command to
start-up in Position Hold mode using the specified antenna position as its reference position.
Note that the auto-survey algorithm should be disabled when using a commanded reference
position.
The relevant commands are described later in this document.
It is important to note that the timing output is managed independently from the navigation
algorithm, and therefore the SL869-T timing module behaves as a positioning receiver even
while it is in Position Hold mode. Thus the reported position will reflect the antenna position
as if it were output by a standard SL869 module, which may or may not be the same as the
internally held reference position.

The table below lists the commands used for managing the timing feature, and that are
available to authorized users of the SL869-T timing module. These commands are echoed by
the SL869-T back to the Host after the command is executed.
Command ID
Description
$PSTMENABLEPOSITIONHOLD
Disable or Enable Position Hold mode and set
reference position for timing.
$PSTMPPS
Manage PPS
$PSTMSETPAR
Set system parameter
Additionally, extensions to the $PSTMPPS and $PSTMSETPAR commands for managing the
timing feature of the SL869-T timing module are described in this Guide. The $PSTMPPS
and $PSTMSETPAR commands are documented in the Software Authorized User Guide
(Reference 3).

This command is used to enable Position Hold and set the reference (held) position for
timing. The entered reference position will be used until it is changed by a subsequent
command, or until the module is given a system reset. It can also be used to disable Position
Hold, but note that the position fields must be populated even when Position Hold is being
disabled.
Note that if the auto-survey algorithm is in the process of estimating a reference position, the
user entered reference position will be overridden by the estimate when the algorithm
completes its calculation. Refer to section 3.2.7 for more information regarding the auto-
survey algorithm.
Synopsis:
$PSTMENABLEPOSITIONHOLD <OnOff>,<Lat>,<N/S>,<Long>,<E/W>,<Alt>
<cr><lf>
Parameter
Format
Description
OnOff
One digit decimal
0 –Position Hold will be disabled
1 –Position Hold will be enabled
Lat
DDMM.MMMM
Latitude (DegreesMinutes.FractionalMinute)
N/S
‘N’ or ‘S’
Latitude direction (North or South)
Long
DDDMM.MMMM
Longitude (DegreesMinutes.FractionalMinute)
E/W
‘E’ or ‘W’
Longitude direction (East or West)
Alt
dddddd.dd - Signed
decimal, up to 8 digits
Mean Sea Level (MSL) altitude in meters, range -1500
to 100000
If the OnOff field is set to ‘1’ and the command is successful, the SL869-T uses the position
provided in the command as the reference position and responds with the following message:
$PSTMPOSITIONHOLDENABLED*49<cr><lf>
If the OnOff field is set to ‘0’ and the command is successful, the SL869-T responds with the
following message:
$PSTMPOSITIONHOLDDISABLED*1C<cr><lf>
However, if an input parameter is missing or is not a valid value, the SL869-T responds with
the following message:
$PSTMENABLEPOSITIONHOLDERROR*55<cr><lf>
The Position Hold feature remains in the previous state when an error occurs.

Example:
Enable Position Hold:
$PSTMENABLEPOSITIONHOLD,1,3340.2555,N,11739.2333,W,255.55*06
This command is used to manage the PPS output of the SL869-T and is described in the
Software Authorized User Guide. The command types described in the subsections below
can be used to set and get information about the Position Hold and TRAIM features and are
supplemental to the command types supported by standard firmware.
This command can be used to poll the Position Hold status and the reference position used for
timing.
Synopsis:
$PSTMPPS,1,13<cr><lf>
The response to this command has the following format:
$PSTMPPS,1,13,<OnOff>,<Lat>,<N/S>,<Long>,<E/W>,<Alt>
*<checksum><cr><lf>
Parameter
Format
Description
OnOff
One digit decimal
0 –Position Hold is disabled
1 –Position Hold is enabled
Lat
DDMM.MMMM
Latitude (DegreesMinutes.FractionalMinute)
N/S
‘N’ or ‘S’
Latitude direction (North or South)
Long
DDDMM.MMMM
Longitude (DegreesMinutes.FractionalMinute)
E/W
‘E’ or ‘W’
Longitude direction (East or West)
Alt
dddddd.dddd - Signed
decimal, up to 10 digits
Mean Sea Level (MSL) altitude in meters, range -1500
to 100000
If Position Hold is disabled, the reported position is 0 degrees latitude and longitude, and 0
meters WGS-84 altitude (-18 meters MSL).
This command can be used to poll for TRAIM status information.

Synopsis:
$PSTMPPS,1,15<cr><lf>
The response to this command has the following format:
$PSTMPPS,1,15,<Enabled>,<Status>,<AvgError>,<UsedSats>,
<RemovedSats>*<checksum><cr><lf>
Parameter
Format
Description
Enabled
One digit decimal
0 –TRAIM is disabled
1 –TRAIM is enabled
Status
One-digit decimal
0 –UNDER alarm
1 –OVER alarm
2 - UNKNOWN
AvgError
Decimal
Average time error in nanoseconds
UsedSats
Decimal
Number of satellites used by the TRAIM algorithm
RemovedSats
Decimal
Number of satellites removed by the TRAIM algorithm
Example:
$PSTMPPS,1,15,1,0,4,6,2*61
Satellites that have an estimated time error larger than the alarm threshold are removed by the
TRAIM algorithm and are not used for timing correction. Also, if the average time error
exceeds the alarm threshold, the Status indicates an OVER alarm condition. By default the
SL869-T uses an alarm threshold of 15 nanoseconds.
This command can be used to poll for the satellites used for timing.
Synopsis:
$PSTMPPS,1,16<cr><lf>

The response to this command has the following format:
$PSTMPPS,1,16,<Enabled>,<UsedSats>,<Sat1>,...,<SatN>
*<checksum><cr><lf>
Parameter
Format
Description
Enabled
One digit decimal
0 –TRAIM is disabled
1 –TRAIM is enabled
UsedSats
Decimal
Number of satellites used by the TRAIM algorithm
Sat1…SatN
Decimal
List of used satellite IDs
Example:
$PSTMPPS,1,16,1,5,31,22,14,32,20*53
This command can be used to poll for the time error residuals for satellites that are being used
for timing correction.
Format:
$PSTMPPS1,17,<Enabled>,<UsedSats>,<Res1>,...,<ResN>
*<checksum><cr><lf>
Parameter
Format
Description
Enabled
One-digit Decimal
0 –TRAIM is Disabled
1 –TRAIM is Enabled
UsedSats
Decimal
Number of satellites used for timing correction.
Res1…ResN
Signed Decimal
List of time error residuals for corresponding satellites in the
used satellite list returned by the $PSTMPPS poll command
below or reported in the $PSTMTRAIMUSED message.
Example:
$PSTMPPS,1,17,1,6,-12,6,-3,9,-13,14*6c
This command can be used to poll for the satellites removed by TRAIM for timing.
Synopsis:
$PSTMPPS,1,18<cr><lf>

The response to this command has the following format:
$PSTMPPS,1,18,<Enabled>,<RemovedSats>,<Sat1>,...,<SatN>
*<checksum><cr><lf
Parameter
Format
Description
Enabled
One digit decimal
0 –TRAIM is disabled
1 –TRAIM is enabled
RemovedSats
Decimal
Number of satellites removed by the TRAIM algorithm
Sat1…SatN
Decimal
List of removed satellite IDs
Example:
$PSTMPPS,1,18,1,2,31,1*41
This command can be used to enable or disable Position Hold and to set the reference (held)
position for timing. It is functionally equivalent to the $PSTMENABLEPOSITIONHOLD
command.
Synopsis:
$PSTMPPS,2,13,<OnOff>,<Lat>,<N/S>,<Long>,<E/W>,<Alt><cr><lf>
Parameter
Format
Description
OnOff
One digit decimal
0 –Position Hold will be disabled
1 –Position Hold will be enabled
Lat
DDMM.MMMM
Latitude (DegreesMinutes.FractionalMinute)
N/S
‘N’ or ‘S’
Latitude direction (North or South)
Long
DDDMM.MMMM
Longitude (DegreesMinutes.FractionalMinute)
E/W
‘E’ or ‘W’
Longitude direction (East or West)
Alt
dddddd.dd - Signed
decimal, up to 8 digits
Mean Sea Level (MSL) altitude in meters, range -1500
to 100000
Example:
Enable Position Hold:
$PSTMPPS,2,13,1,3340.2555,N,11739.2333,W,255.55

This command can be used to enable or disable the automatic determination of the reference
(held) position for timing.
Synopsis:
$PSTMPPS,2,14,<Samples><cr><lf>
where Samples is the number of position samples to be used by the auto-position survey
algorithm. If Samples is set to 0, the algorithm is disabled. Otherwise, if a non-zero value
is provided and the SL869-T is not in Position Hold mode, the algorithm is restarted using the
specified number of position samples. It is recommended that the number of samples should
be chosen to allow the algorithm to run for one hour or longer. For best results 24 hours is
recommended.
Example:
Start and run the auto-position algorithm for 2 hours (at 1Hz fix rate):
$PSTMPPS,2,14,7200
It is important to note that the reference position for Position Hold will be updated when the
algorithm completes its position estimation. If a reference position was entered manually via
command, it will be overridden.
NOTE:
Factory default is that the automatic survey algorithm for position hold is enabled with
a sample count of 3600 (one hour). If it is desired for the module to use a reference
position provided by the user, the sample count should be set to 0 at start-up.
This command can be used to disable or enable the T-RAIM algorithm.
Synopsis:
$PSTMPPS,2,15,<OnOff>,<Alarm><cr><lf>
Parameter
Format
Description
OnOff
One digit decimal
0 –The TRAIM algorithm will be disabled
1 –The TRAIM algorithm will be enabled
Alarm
Floating point
Time error threshold in seconds
Example:
Disable the T-RAIM algorithm:

$PSTMPPS,2,15,0,0
Example:
Enable the T-RAIM algorithm and set the alarm threshold to 20 nanoseconds:
$PSTMPPS,2,15,1,0.00000002
This command is used to set or modify a system parameter in the SL869 module
configuration data and is described in the Authorized User Guide. It can be used to configure
certain parameters related to the Position Hold and TRAIM featured for timing purposes as
shown below.
It is important to note that after parameters have been configured, the $PSTMSAVEPAR
command must be sent to store the updated values in flash.
As explained in the SW Authorized User Guide, message output can be controlled using the
command
$PSTMSETPAR,1201,<mask><mode><cr><lf>
where mask is a value representing the bit assignment(s) for the message or messages to be
controlled. The message will be enabled if mode is 1, or it will be disabled if mode is 2. The
table below lists the bit masks for output messages supported by the SL869-T timing
firmware, which are in addition to those supported by standard firmware.
Message
Default
Mask
PSTMTRAIMSTATUS 1
On
0x2000000
PSTMTRAIMUSED 1
On
0x2000000
PSTMTRAIMRES 1
On
0x2000000
PSTMTRAIMREMOVED 1
On
0x2000000
PSTMPOSHOLD
Off
0x4000000
Note 1: TRAIM messages are all controlled by the same bit.
Example:
Enable output of the $PSTMPOSHOLD message:
$PSTMSETPAR,1201,4000000,1
The message will be output after the SL869-T is given a software reset command (e.g.
$PSTMHOT) or the setting is saved to flash.

By factory default the Position Hold (timing) feature is disabled at start-up and then becomes
enabled when the position auto-survey algorithm completes. The default can be reconfigured
to enable Position Hold at start-up using a specified reference position.
The reference position can be configured by setting three parameters using the following
commands:
Latitude:
$PSTMSETPAR,1304,<Lat><cr><lf>
Longitude:
$PSTMSETPAR,1305,<Lon><cr><lf>
Altitude:
$PSTMSETPAR,1306,<Alt><cr><lf>
These commands set the latitude, longitude and Mean Sea Level altitude, respectively, of the
reference position. The latitude and longitude values must be expressed as degrees floating
point. The range of latitude values is -90.0 to 90.0 degrees, where positive values represent
the North direction. The range of longitude values is -180.0 to 180.0 degrees, where positive
values represent the East direction. Altitude must be expressed in meters floating point within
the range -1500.0 to 100000.0.
In order for the new reference position to take effect, the SL869-T must be rebooted after the
position is saved to flash.
The default state of Position Hold at start-up can be set to Enabled by sending the following
command:
$PSTMSETPAR,1200,4000000,1<cr><lf>
Position Hold is enabled when the setting is saved to flash.
The default state can subsequently be set back to Disabled by using the command:
$PSTMSETPAR,1200,4000000,2<cr><lf>
In order for the new default Position Hold state to become Disabled, it must be saved to flash.
If the module is in Position Hold mode, the SL869-T must then be rebooted to use the new
default and disable Position Hold.
It is important to note that if the default start-up state is Enabled, the module uses the
configured default reference position (see section 3.3.2 above).
The factory default value of the auto-survey sample count is 3600, which represents a one
hour time frame from start-up within which the SL869-T establishes a self-surveyed reference
position for Position Hold mode (timing mode). The default value can be reconfigured using
the command:

$PSTMSETPAR,1215,<Samples><cr><lf>
and then saving to flash. Note that the specified number of samples takes effect when the
parameter is saved to flash. Please refer to section 3.2.7 for more information regarding the
use of this value.
Example:
Configure the position auto-survey to run for one day (24 hours) from start-up by default:
$PSTMSETPAR,1215,15180