Re: Aw: IR-blasting 455 kHz with the new upstream kernel modules gpio-ir-tx and pwm-ir-tx

Bengt Martensson <[email protected]> Mon, 3 Jun 2019 12:14:35 +0200
Newsgroups gmane.comp.hardware.lirc
Message-ID <[email protected]>
On 5/31/19 1:17 PM, [email protected] wrote:

>> My appliance (a heater) stopped responding reliably to sent IR signals after upgrading the Raspberry Pi 3 to raspbian 4.19.42. I tried both new kernel modules: gpio-ir-tx and pwm-ir-tx (new kernel modules from upstream for software and hardware Pulse Width Modulation PWM). Very occasionally, maybe once in a hundred, the heater picks the IR signal up. Prior to the upgrade, the system worked nicely; as the IR signal has a high carrier frequency (455 kHz) I had used a lirc-rpi module that I had modified for hardware PWM. I measured the signal at the GPIO pin with a picoscope and noted that the carrier frequency was a bit too high when using pwm-ir-tx (around 475 - 480 kHz) and much too low when using gpio-ir-tx.
>>
...
> Investigating the above 455 kHz issue further:
> - for testing purposes: lirc and the pwm-ir-tx module reliably blasts to a DVD player using the default carrier frequency (38 kHz).
> - a hardcoded c program using pigpio (thus avoiding all of lirc and the pwm-ir-tx module) works nicely at 455 kHz (accuracy also confirmed using picoscope).
> 
> I conclude that indeed pwm-ir-tx or its dependencies are not accurate enough for 455 kHz blasting, at least not for my heater (other appliances might be less picky). I will let the author of pwm-ir-tx know.

Hallo Andreas,

thank you very much for sharing your experiences. Some thoughts (sorry 
if these are not immediately useful):

Some years ago (pretty many really), some thought (B&O obviously) that 
455 kHz would be a big deal, since it would allow to transfer data over 
IR with a higher data rate. This appears to completely have died out. 
For example, Vishay has no demodulating IR receivers in their program 
since around 10 years. (See 
http://www.vishay.com/whatsnew/doc/ff_FastFacts_CounterfeitTSOP7000_Dec72018.pdf 
for the discontinued TSOP7000.) So I am a bit surprised that you have 
found such a thingy. Can you give some more details? Can you see if you 
can identify the IR receiver?

 > I conclude that indeed pwm-ir-tx or its dependencies are not accurate 
enough for 455 kHz blasting, at least not for my heater (other 
appliances might be less picky). I will let the author of pwm-ir-tx know.

Was it modulation frequency or the timing of the bursts that were not 
accurate?

Generally speaking, I am a bit allergic to the idea of using a 
non-realtime general-purpose multi-user OS like Linux for generating the 
precise timing required to send IR signals. (This is more-or-less the 
Lirc concept, at least with simple hardware.) Using "intelligent" 
sending hardware (or you may prefer to call it a slave processor) is the 
obvious alternative. Maybe this: 
https://www.watterott.com/en/RPi-UNO-HAT would be an idea?? (Somewhere I 
have heard that an Arduino Uno/Nano (Atmel328p) CAN generate 455kHz in 
PWM, but I have not tried it myself.)

Please keep us posted.

Greetz,

Bengt