User's Manual
Table Of Contents
- SmartOne C Basics
- Getting Started
- SmartOne Configuration Software Overview
- User Data Entry Pane
- Standard Messaging - Without Motion
- Standard Messaging Mode - With Motion
- Reduced Messaging Mode
- Theft Alert Mode
- Continuous GPS Mode
- Messages
- Type 1 Message Class
- Type 2 Message Class
- Messaging Priority
- Serial Commands
- Connecting Serial Devices to the SmartOne
- Appendix A - Glossary of Terms
- Appendix B - Technical Support
- Appendix C - RF Radiation Exposure Statement
- Appendix D - Regulatory Notices
- Appendix E – General Warnings
- Appendix F – Specifications & Standards
- Appendix G – Latitude/Longitude Decoding
- Appendix H – Standard Message Decoding
- Appendix I - Diagnostic Message Decoding
- Appendix J - Accumulate/Count Message Decoding
- Appendix K - External Input Cables
- Appendix L – Battery Life Estimate
Page 57SmartOne C User Manual Confidential & Proprietary Information
9100-0410-01 R2.4
CRC ALGORITHM
The Security Field is a 16-bit CRC of all of the previous fields including the preamble, length, and command bytes.
The remainder is initialized to all 1's (0xFFFF) and the CRC is inverted before being sent. Following is a sample C
routine that implements the algorithm using the reversed technique:
WORD crc16_lsb(BYTE *pData, WORD length)
{
BYTE i;
WORD data, crc;
crc = 0xFFFF;
if (length == 0)
return 0;
do
{
data = (WORD)0x00FF & *pData++;
crc = crc ^ data;
for (i = 8; i > 0; i--)
{
if (crc & 0x0001)
crc = (crc >> 1) ^ 0x8408;
else
crc >>= 1;
}
} while (--length);
crc = ~crc;
return (crc);
}
As an example, for a type (0x01) “Get ID” message made up of the following bytes: AA 05 01
The following 2 byte CRC would be calculated: D5 50
The complete message sent by the host to the SmartOne is: AA 05 01 50 D5
SERIAL PACKET TYPES
CMD DESCRIPTION/USAGE/
COMMAND
DATA BYTES
ACKNOWLEDGE DATA BYTES
0X01
User requests the SmartOne to
reply with integral ESN (Electronic
Serial Number). This is the ID used
by Globalstar to identify the unit
NONE
Four data bytes, which contain the unit ID as an unsigned integer. The MSByte
is sent first. Only the 27 LSbits are non-zero
0X26 SEND TRUNCATED MESSAGE
See Truncated
Message section
below
None
0X27 SEND RAW MESSAGE
See Raw Message
section below
None