As you probably know, Eigeny Oulianov published a paper at Remote Central that sheds a lot of light on Pronto 7000 commands:
http://www.remotecentral.com/cgi-bin/fi ... tation&fc=
I found my notes on the decoding of the 7000 format file. I think John probably understands Eigeny's paper better than I do since he has used it to add decoding capability of 7000 commands for DecodeCCF. I have tried to keep the same definition's as in Eigeny's paper.
The basics are that 7000 commands refer to an internal fixed table of burst pairs. They can be variable length commands.
Eigeny apparently found two tables that he figured out from a Pronto firmware upgrade. I believe that most of the symbology is from the tables here is a simplified version for just B&O.
461 KHz
dID=3
R 0 005B -C422 198 -109017
5 1 005B -1BC0 198 -15424
4 2 005B -1622 198 -12302
3 3 005B -1083 198 -9178
2 4 005B -0AE4 198 -6053
1 5 005B -0546 198 -2931
The first column is a symbolic character representing what it does. In other protocols there is H for header, S for separator (mid burst), 1 and 0 that apparently denote their definitions. On the multiple burst pairs like this one, 1 through 5 is apparently the value.
The second column is just an index number to call the burst pair in the actual Pronto hex sequence.
The next four columns are the hex for the burst pairs using the normal expressions in wavelength and the last two my conversion into uSec.
There is also a "template" that defines the structure (I think)
zTemplate for dID=3:
115[1234]*R?|<3[12345]*
means
1,1,5 burst pairs in exact sequence (left most column in table)
[1234]*R? means [1234 burst pairs in any order], (* multiple sets),R(lead out),
? (unknown to me and the author)
| delimiter between Once and repeat segments
< (unknown to me and the author)
3 (not sure)
[12345]* same as [1234]* only with the addition of 5 as a possible value.
The actual commands starting in order:
7000 0072 0000 000D Preamble with regular meaning, only 7000 is apparently the database of VARIABLE length commands.
0003 0017 $3 is the dID that calls the above table, $17 number of burst pairs. Thereafter, EACH hex value calls the burst pair using the index in the SECOND column.
0005 0005 0001 ... means 198 -2931 198 -2931 198 -1524 the same as 115 in zTemplate (that's perfectly clear, right =:-) ). If after length the value >$10 then it is a toggle, if it =$10 it is the delimiter between fixed and repeat segments. At the end, there may be a dummy value in the last word to make it an even number of hex words.