Thanks for this information, I think I'm now able to match the captured data to NEC, furthermore I think I even know how to interpret the captured IR data. Finally I think your current NEC implementation is not correct :) But lets start from the beginning with analysing my captured data:
ANALYSING THE CAPTURED DATA In each Byte the most significant determines the IR on or off-state. 8D = on for a 'time' of 0x0D (13d) (='short on') 0A = off for a 'time' of 0x0A (10d) (='short off') 20 = off for a 'time' of 0x20 (32d) (='long off') Also not that 0x20 (32d) is roughly three times 0x0A (10d) and 0x0D (13d). According to the NEC-protokol (http://www.sbprojects.com/knowledge/ir/nec.htm) a 'short off' is also three times faster than a 'long off' (see the picture under 'modulation') so these numbers make some sense. 8D 20 thus indeed is 'short on, long off' = 1 8D 0A is 'short on, short off' = 0 Why do we have 0x20 and 0x0A ? I don't know ... but lets just guess: In the protocol spec there is a sentence "Each pulse is a 560µs long 38kHz carrier burst (about 21 cycles)". If a 'cycle' means one mark and one space (http://www.sbprojects.com/knowledge/ir/ir.htm) in 21 cycles we will get 10 marks :) Anyway - this is not really important, if we just use a conversion factor of 56 we microseconds (µs). 0x0A times 56 = 560µs (roughly the 'official' 564µs) 0x20 times 56 = 1792µs (roughly the 'official' 1692µs) INTERPRETING CAPTURED HEADERS All right so much for the theory to interpret the captured data. Now lets look at the headers before the actual data. My Yamaha-remote sends 'FF B6 59' while SqueezeIR currently sends 'DC 57'. Lets start with captured Yamaha remote: FF = MSB set, so this is 0x7F times 56 = 7112µs on B6 = MSB set, this is 0x36 times 56 = 3024µs on 59 = MSB not set, this is 0x59 times 56 = 4984µs on Together roughly a burst of 10ms on, 5ms off, which pretty much matches the official documented NEC burst of 9ms on, 4.5ms off. Now interpreting the current SqueezeIR header: DC = MSB set = 0x5C times 56 = 5152µs on 57 = MSB not set = 0x57 times 56 = 4872µs off This is 5ms on and 5ms off => a potentially wrong timed burst ?. Phew ... so much for protocols :) ... lets go to the source-code. By chance I realized that your 'DENONtoNATIVE' function already had a burst looking like the thing I wanted, so I just tried DENON:122:133:26 in the config and BINGO !!! ... Volume Up + Down are working now. MY CONCLUSION your current 'DENON'-format is the real NEC whereever you got your current NEC config from - it doesn't match the documented protocol (http://www.sbprojects.com/knowledge/ir/nec.htm) - the initial burst is too short -- bluegaspode One SB-Duet+Receiver. Server running on Linkstation NAS (LS-CHL). Needing one more device for bedroom and waiting for the radio :) ------------------------------------------------------------------------ bluegaspode's Profile: http://forums.slimdevices.com/member.php?userid=31651 View this thread: http://forums.slimdevices.com/showthread.php?t=66795
_______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/plugins
