From: <lir...@pe...> - 2013-02-04 18:25:18
|
Hi Mona, Thanks a lot for your solid and indeep explanations : Very helpfull. That would be a cool thing that LIRC devs would fix pulse/space limitations. However that would even be better that a such common coding could be handled natively, with a RC5x flag for example ! Why (seems) LIRC so backward ? My personal conculsion : After taking so much time working around lircd limitations finally I'm gonna drop lircd and just keep lirc_dev / lirc_serial modules which them are usefull. Coding RC5 myself took me much lesser time than configuring lircd... and thus printing out decoded values was easy, somthing that lircd can't even do (must use the poor irrecord). Le 04/02/2013 18:52, Mona a écrit : > 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. > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_jan |