I have updated the patch with the following changes:
– Use schedule_timeout not mdelay as mdelay is a busy loop. This fixes high CPU usage during IR sending.
– Drop out of the polling loop when the chip is ready rather than after 1s (can’t believe I didn’t notice this one!). This greatly speeds sending.
As a consequence of the second point, I recommend that you fiddle with the ‘gap’ parameter in lircd.conf. The gap parameter is in microseconds. For my particular cable box, I’ve found that 1/3s (~333,333us) works well. The minimum time is until the chip is ready to send, this works out roughly at about 50-200ms. The minimum delay is fixed at 50ms (avoids wasting CPU; go hack the code if you want to change this), and the maximum wait is 1s.
I leave in a SECAM country (France), I have a PVR 150, but some problem with
the tuner (no sound). The composite input is OK, so I plan to use it with my satellite box (TPS).
I will try your patch for IR controling the box.