Posted: Sun Jul 20, 2008 7:18 am
~Vicky,
I saw the repeating pattern by going back to the original pronto hex, but you can also see it in the IRP above...
Form=*,D:8,S:8,F:8,F:4:4,~F:4,_;*,1:1,_
This form statement means the signal includes....
leadin (*)
an 8 bit device code
an 8 bit sub-device code
an 8 bit function code
a repeat of the function code starting with bit 4 for a length of 4
a complement of the first 4 bits of the function code
repeating portion:
leadin (*)
a 1 bit code, value 1
Regarding using 2 variable bytes instead of using assembler, absolutely, you can do that, and sometimes it's the right thing to do. When deciding, you need to look at how many bytes of assembler will be needed vs. how many buttons are likely to be in the upgrade, because each button will now use up 2 bytes of the upgrade instead of 1. In this case, it took 10 bytes of assembler to generate the checksum and there are 17 buttons likely to be in the upgrade. However, if you don't know how to write assembler, you might want to chose to generate the checksum outside of the upgrade.
In this case, I also needed assembler to generate the repeating portion, but it may have been possible to do it using the IR engine. The repeating portion is very similar to the repeating portion of the NEC1 signal, which is done entirely using the IR engine. However, there is no data in the NEC1 repeating portion. What threw me here is the 1 bit data code in the repeating portion, which is why I did it by hand.
I saw the repeating pattern by going back to the original pronto hex, but you can also see it in the IRP above...
Form=*,D:8,S:8,F:8,F:4:4,~F:4,_;*,1:1,_
This form statement means the signal includes....
leadin (*)
an 8 bit device code
an 8 bit sub-device code
an 8 bit function code
a repeat of the function code starting with bit 4 for a length of 4
a complement of the first 4 bits of the function code
repeating portion:
leadin (*)
a 1 bit code, value 1
Regarding using 2 variable bytes instead of using assembler, absolutely, you can do that, and sometimes it's the right thing to do. When deciding, you need to look at how many bytes of assembler will be needed vs. how many buttons are likely to be in the upgrade, because each button will now use up 2 bytes of the upgrade instead of 1. In this case, it took 10 bytes of assembler to generate the checksum and there are 17 buttons likely to be in the upgrade. However, if you don't know how to write assembler, you might want to chose to generate the checksum outside of the upgrade.
In this case, I also needed assembler to generate the repeating portion, but it may have been possible to do it using the IR engine. The repeating portion is very similar to the repeating portion of the NEC1 signal, which is done entirely using the IR engine. However, there is no data in the NEC1 repeating portion. What threw me here is the 1 bit data code in the repeating portion, which is why I did it by hand.
