Hi,
Ville Skyttä schrieb:
I think, the LIRC protocol misses a timestamp for each button press. Or an even more favorable solution would be to put the timeout and frequency processing into LIRC and have VDR to process each key as it arrives, just like with the KBD remote.
Would using liblirc_client instead of the current "homebrew" implementation help out with this?
When liblirc_client uses the same interface of lircd, then I don't think that it will help.
Also, somewhat off topic: when running powertop[1] on my VDR box, I see lircd waking up the CPU from idle about 1000 times a second while VDR is connected to it:
Top causes for wakeups: 54.3% (988.1) lircd : schedule_timeout (process_timeout) 28.5% (518.4) vdr : futex_wait (hrtimer_wakeup) [...]
I already tried adding some cCondWait::SleepMs's to VDR's lirc action loop but it didn't seem to have any effect. Any ideas whether this is something that VDR could do anything about, or if it's a LIRC internal thing?
Well VDR's lirc action loop uses a timeout only when it needs to generate a keyup event after a key repeat event. Otherwise it blocks in cFile::FileReady's select() until a button gets pressed on the remote.
Try running irw instead of VDR and check powertop again.
Bye.