|
From: David V. <dav...@gm...> - 2007-06-11 22:37:04
|
Hello list, I just spent a week trying to get my GPIO-based remote working with no luck, so I pulled out my old Irman clone (still on a breadboard) and eventually got it working. But to get it working I had to fix an uninit mem read in ir_remote.c:get_code(), which I thought I should pass on for those with commit access to fix (looks like it's still a problem in HEAD). Basically, if you have a look at hw_irman.c, the 'post' variable is never set if the remote doesn't have a 'post' set of bits (?), but ir_remote.c:get_code() tries to OR it into the 'all' variable that's compared against the recorded codes. Because this 'post' variable can have garbage in it, it wasn't matching anything in the recorded codes. I'm not sure where this problem should eventually be fixed, ir_remote.c or in the individual hw_*.c - I was thinking ir_remote.c originally (cobble together 'all' in the run through has_pre(), has_post() etc), but then I thought, well what if other code calls the hw_*.c functions that don't set the memory? -- -Dave. |