2.2 The Anchor Bay IR Protocol (Discrete Control)
As stated before, the discrete controls may be longer than the NEC protocol will allow. The NEC
protocol only allows for one byte of “control/value” data to be transferred from the remote control to the
controlled device. The Pronto HEX format does not have specific length limits, and since it is a common
interchange format and is fairly easy to use – we have constructed a discrete control command system
based on the RS-232 Command IDs and Values, which may be programmed into an advanced learning
macro remote control which can interpret the Pronto HEX structure.
Note: Not all learning remotes are made equal! Some are limited to NEC compliant codes only and are
incompatible with the discrete functions provided in this section. Check with your installer or remote
reseller to find out if your learning remote is NEC compliant only. Also, your remote must be able to
understand and transmit 38.38kHz IR signals – not every remote or IR repeater system can do this,
again double check with your vendor.
The basic sequence for building a discrete code is very simple:
• Decide which Command you wish to control and find the “command ID” for that control
• Decide what you would like to set the control to and look-up (if necessary) the appropriate value
for that setting on that control
• Build the IR command using the below methodology
• Test the IR command before leaving the job-site or publishing the codes publicly
The method for building a code is very similar to what you may have already read (in the previous
sections) – if you have not read section 2.1, this is a good time to go back and read it before we really
confuse you. Assuming that you have read and understood the 2.1 section information, here are some fixed
values which you will want to know for discrete Anchor Bay commands (Note: if you “learn” a discrete
function from one remote to another you may get slightly different values – but these may not work
reliably):
Pronto HEX Carrier Frequency of 38.38kHz = 006C
Pronto HEX Start bit pulse width = 0064 0064
Pronto HEX Logic “1” bit pulse width = 0016 0041
Pronto HEX Logic “0” bit pulse width = 0016 0015
Pronto HEX Stop bit Pulse width = 0044 0044
End of defined command string “bit” = 0016 0001
The format for data which must be adhered to is:
0000 Always “zero” to mark the beginning of the code header
006C Carrier Frequency of 38.38kHz
nnnn Number of “bit bursts” in the transmission
0000 Always “zero” to mark the end of the code header
0064 0064 Start “bit” (beginning of command transmission)
nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn 8-bit Command ID
nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn 8-bit Value byte 1
……………
nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn 8-bit Value byte n
nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn nnnn 8-bit Checksum
0044 0044 Stop “bit” (end of command transmission)
0016 0001 End of defined command string “bit”
Remember that the bit order we discuss when readin the numbers is MSB – yet when it is written in Pronto
HEX, because the IR transmitter sends out the LSB first, the bits must be flipped from left to right. Let’s
try this with a discrete power “off” command starting on the next page.
28