![](/html/62/6253/6253dd874b951b168a3539fb68bea9a3298ea4442f96141bd17fb4ddcb357818/bg1.png)
Sabine Navigator Communication Protocol (October 19, 2007)
This document applies to the following Sabine Navigator Models:
NAV240, NAV360, NAV480, NAV4802, NAV8802.
General structure of communication packets:
<0x01><R/W><SRC><COMMAND HEADER><VALUE>…<0x1F><CHKSUM><0x02>
1 1 1 4 1 1 1 1<= sizes in readable ascii bytes
<R/W> - Read = 4 (ascii 0x24), Write = 5 (ascii 0x25)
<SRC> - Device number which sent packet: <0x7f> => PC
The <COMMAND HEADER> is used to identify the types of value following the header. The value of the header indicates
the number of readable ascii bytes in the value that follows.
NAME CODE Comment
Command Header <0x03 to 0x07>; 0x03 = 4 bytes … 0x07 = 8 bytes How many bytes follow for the command
name (usually 4)
Device Header <0x08> 1 byte
I/O Header <0x09> 1 byte
Channel Header <0x0A> 1 byte
Aux Header <0x0B> 1 byte
Column Header <0x0C> 1 byte Always set to 0
Data Header <0x10 to 0x18>; 0x10 = 1 byte … 0x18 = 8 bytes # of bytes that follow
<VALUE> must always follow the <HEADER>.
Command Value Command ID in ASCII character (see table below)
Device Value Device # where this command is sent to
I/O Value 0x20 for Input, 0x21 for Output
Channel Value Channel #, zero-based
Aux Value For extra information such as EQ Num, FBX Num ,etc
Column Value Reserved for later use
Data Value The actual value to change for the command targeted
Sabine, Inc.
(386) 418-2000
•
13301 NW US Highway 441
• (
800) 626-7394
•
•
Fax (386) 418-2001
Alachua, Florida 32615-8544 USA
•
E-mail: sabine@Sabine.com
www.Sabine.com
![](/html/62/6253/6253dd874b951b168a3539fb68bea9a3298ea4442f96141bd17fb4ddcb357818/bg2.png)
There is no limit in the number of <HEADER><VALUE> combo as long as the whole block (from 0x01 to 0x02) is less than
256 readable ASCII bytes. When a <HEADER><VALUE> is received, the corresponding new parameters are stored in the
memory. However, it is not processed until a <0x1F> is received.
Format used for data values is readable ASCII (96 values for each character) unless specified otherwise.
Data Value ASCII representation
0 0x20
: :
95 0x7F
In other words, to send a data value of 0, send 0x20. To send a data value of 1, send 0x21, etc.
Checksum calculation:
1. Add up all of the bytes from the first (0x01) to the last byte before the check sum.
2. AND this result with 0xFF
3. Take the modulus this result with a base of 0x60 (hex 60 or decimal 96)
4. Add 0x20 to this value to get the ASCII representation
5. Use the hex value of this result for the check sum
Checksum Example (in Hexadecimal)
The string below mutes output 3. 0x53 is the checksum.
<01><25><7F><03><4D><55><54><30><08><20><09><21><0A><22><0B><20><0C><20><10><21> <1F><53><02>
1. Adding up all the bytes from 0x01 to 0x1F, the raw hex checksum is 0x2F3.
2. AND 0x2F3 with 0xFF: 0x2F3 AND 0xFF = 0xF3
3. Now take the modulus base 0x60: 0xF3 MOD 0x60 = 0x33.
4. Add 0x20 to 0x33 for the ASCII representation: 0x20+0x33=0x53. So the checksum is 0x53.
Another Example:
To set the gain to 0dB on input 1, device 1, the string would be (in HEX):
<1><25><7F><3><4C><56><4C><30><8><20><9><20><A><20><B><20><C><20><11><21><60><1F><69><2>
1 is the start byte
25 means a write command follows
7F means the command came from the PC
3 means the commmand that follows is 4 bytes long
4C 56 4C 30 is ASCII for "LVL0", the signal level (gain) command code
Page 2 of 6