From: Mona <de...@ch...> - 2013-02-04 17:52:26
|
lirc_ml_sf wrote > The main of these two others is a RC5 modified to be longer up to 22 bits > in > length (17 bits of data). It seems this is called Marantz Extend Data > Word (see chronogram below). > > My question is : How to introduce two space bits (below in cyan) > inside an RC5 (that never returns to zero by definition) ? > > bffebjjh.png (28K) > http://lirc.10951.n7.nabble.com/attachment/9784/0/bffebjjh.png Your Marantz Extend Data Word and chronogram is actually the RC5x protocol. I have the same problem with a Marantz SR8000 AV receiver (RC2000 MkII or RC-18SR remote). I almost got it to work using "pre" and "pre_data". For example, Marantz code 16 12 01 (discrete power on) would encode as 1101 0000 (2 bit space) 0011 0000 0001. begin remote name RC5x bits 20 flags RC5|CONST_LENGTH eps 30 aeps 100 one 890 890 zero 890 890 gap 125000 toggle_mask 0x20000 # toggle_bit 3 frequency 36000 pre_data_bits 8 pre_data 0xD0 # System = 16, limited to commands 0-63 pre 0 3560 # No pre pulse, pre space of 2 bit times (890*4) begin codes power_on 0x301 # 16 12 01 power_off 0x302 # 16 12 02 end codes end remote Unfortunately, lircd won't send the pre pulse/space unless BOTH values are non-zero. It would be an easy code fix that shouldn't break anything else. >From lircd 0.9.0 (transmit.c): 290 if (remote->pre_p > 0 && remote->pre_s > 0) { 291 send_pulse(remote->pre_p); 292 send_space(remote->pre_s); 293 } Change this to: if (remote->pre_p > 0) { send_pulse(remote->pre_p); } if (remote->pre_s > 0) { send_space(remote->pre_s); } LIRC coders: I would suggest similar changes to the send_post, send_header, and send_foot functions. It would increase flexibility without breaking existing lircd.conf files. Or skip all the zero checks and have the send_pulse and send_space functions immediately exit if called with data == 0 (although this might have other side effects, mostly with invalid lircd.conf files and the check_send_buffer function). For now I'm using the raw_codes option. The RC5x commands I've needed are discrete commands, so not having the toggle bit hasn't been a problem. Raw codes for the commands above can be seen here <http://lirc.10951.n7.nabble.com/trouble-with-rc5x-td5701.html> . Adrian -- View this message in context: http://lirc.10951.n7.nabble.com/Marantz-RC5-22-bits-Extend-Data-Word-possible-with-lircd-conf-semantic-tp9784p9788.html Sent from the LIRC mailing list archive at Nabble.com. |