SABINE NAVIGATOR - SERIAL PROTOCOLS Manual - page 3
Page 3 of 6
8 20
means the command is addresed to device 0
9 20
means the command is addressed to the inputs
A 20
means the command is addressed to channel 1
B 20
means the aux value is 0 (unused for signal gain, but still required in the command string)
C 20
means the column value is 0 (unused for signal gain, but still required in the command string)
11
is the data header and means that 2 data bytes follow
21 60
is the value: 160.
1F
is the execute byte
69
is the checksum
2
is the end byte
For the data value:
160 is the 0db value for gain. The range of values is 0 to 220, corresponding to gain values of -40db to +15 db in 0.25 dB
steps.
The data values are encoded as ASCII values and have a maximum value of 96, so the gain value of 160 requires 2 bytes to
represent it. It is calculated like this:
Take 160 and divide by 96: the remainder is 64, so the MS byte is 1 and the LS byte is 64. Convert the values to ASCII
representations by adding 0x20 and the result is (in hex)
21 60
For the checksum:
1. Adding up all the bytes from 0x01 to 0x1F, the raw hex checksum is 0x349.
2. AND 0x349 with 0xFF: 0x349 AND 0xFF = 0x49
3. Now take the modulus base 0x60: 0xF3 MOD 0x49 = 0x49.
4. Add 0x20 to 0x33 for the ASCII representation: 0x20+0x49=0x69. So the checksum is
0x69
.
Another Example (in Hexadecimal):
This string will mute input 2 of Device 1 (zero-based):
The mute will be turned on as specified by . Notice that the mute of Output 3 of Device 1 is not affected because
there is no right after it, so the target of the MUT0 is overridden by the second target
Another Example (in Hexadecimal):
This mutes output 3 of Device 1 and also input 2 of Device 1