The beo5 "Repeat" function has some flaws which I will provide a basic overview below:-
- The RC5 repeat function works correctly by toggling bit 3 for every repeat signal sent.
- The NEC protocol repeat function still does not work correctly because the repeat signal START bit should have a SPACE period of half the length (i.e. 2.25 milli seconds) and it does not, it has 4.5 milli seconds so most receivers think a different command is being received. I have come up with a workaround solution for this problem by sending 2 NEC commands with a delay between them for each command.
- RAW is not a protocol, but a representation of the digital signal in hex from 0000 to FFFF and is effectively an image copy of the original. XML files produced by the "Beo5 3rd Party XML Generator" and the latest software from Lintronics only use RAW because ANY remote can be cloned. HOWEVER you cannot use the repeat function with RAW and if you did try and use a repeat in RAW, the Beo5 would hang and the battery would become flat at once.
- Bitstream is not a protocol, it is a bit representation on a timeslice
basis for both the PULSE and the SPACE which makes up the PERIOD of one
binary bit. The timeslice is the smallest time of any pulse or space. The repeat function does work with bitstream and I have made many XML file using bitstream with repeat function which work perfectly for Sony products
Because bitstream uses a binary stream of "1's" and "0's" for the minimum pulse and space period, depending on the encoding method used means that a 32 bit command may convert to as many as 110 bits per command in bitstream. Therefore manually converting commands is really a non starter because it would take so much time and would be prone to errors.
There are several industry accepted encoding methods, but the two most common are:-
- Pulse Distance Coding where a pulse and a space of the same duration would be a binary "0" and a pulse and a space of 2 x the pulse distance would be a binary "1"
- Pulse Length Coding where a binary "0" has a defined pulse width and a binary "1" is a greater width normally twice the "0" pulse width.
Philips RC5 uses "Bi Phase Coding" which means a positive going signal in a time slot is equal to a binary "1" and a falling edge signal in a time slot is a binary "0". This is the most complex protocol to decode by software.
So, for Sony products I recommend that all commands which don't require a repeat function be converted to RAW and those few commands such as fast forward, up, down etc be converted to bitstream.
If you take the start bit and first 4 data bits of a typical Sony command as below. All values are in micro seconds and the start bit for most Sony products is 2.4 milli seconds. I have made the numbers in this example the exact spec numbers are used, but in practice the values will be up to +-10% of the spec values
02400,00600 = 3000 >>> SONY START BIT
00600,00600 = 1200 >>> Binary "0" which is encoded in bitstream form as "10"
01200,00600 = 1800 >>> Binary "1" which is encoded in bitstream form as "110"
00600,00600 = 1200 >>> Binary "0" which is encoded in bitstream form as "10"
01200,00600 = 1800 >>> Binary "1" which is encoded in bitstream form as "110"
As can clearly be seen that this example is using Pulse Distance Coding and our 4 example bits of "0101" become "1011010110" in bitstream form.
I recently converted some commands in a Sony BDPS300 and the following string is for one command
<source_subItem stName="0" stCaption="0" stMenuCaption="0" stScreenType="0"
stIR="UNKNOWN:GlobalManual=1#IRSEQUENCE=BITSTREAM
#BITS=110101011010101010110101101101011010101011011011
#ALTBIT=110101011010101010110101101101011010101
#MARKFLANK=586#SPACEFLANK=594#SPACE2FLANK=0#PRESIGNALHI=2381#PRESIGNALLO=607
#Pause1=13376#Pause2=13376#Carrier=40#REPEATSIGNAL=1#AltSigWhenRepeat=1
#Comment=47bits=D5AAB5B5AADA" stLeave="Rel 1" stIRVideoOp1="1" stIRVideoOp2="1" stIRVideoOp4="1" stIRVideoOp5="1"
stIRVideoOp6="1" stIRAudioOp1="1" stIRAudioOp2="1" stIRAudioOp4="1" stIRAudioOp5="1" stIRAudioOp6="1" stIRVideoOp2Av="1"
stIRVideoOp4Av="1" stIRVideoOp6Av="1" nPage="4" nX="426" nY="20" nWidth="213" nHeight="25" nRowFinal="1" nColumnFinal="2"
nHidden="1" />
Sony remotes use a carrier frequency of 40 Khz remembering the the carrier is only transmitted during a pulse signal.
I hope this helps you more fully understand the situation.