From d10a35788161b8bca341bcb1803c63c74c64ce96 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Thu, 30 Dec 2021 09:33:17 +0000 Subject: [PATCH] ESP32 TX: adapt for RMT API change. --- TRANSMITTER.md | 2 +- ir_tx/__init__.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TRANSMITTER.md b/TRANSMITTER.md index 2093db7..a328d68 100644 --- a/TRANSMITTER.md +++ b/TRANSMITTER.md @@ -59,7 +59,7 @@ can be reassigned. The device driver has no dependencies. -On ESP32 a firmware version >= V1.14 is required. The Loboris port is not +On ESP32 a firmware version >= V1.17 is required. The Loboris port is not supported owing to the need for the RMT device and other issues. The demo program uses `uasyncio` primitives from diff --git a/ir_tx/__init__.py b/ir_tx/__init__.py index ac9755c..a774bad 100644 --- a/ir_tx/__init__.py +++ b/ir_tx/__init__.py @@ -42,8 +42,8 @@ class IR: def __init__(self, pin, cfreq, asize, duty, verbose): if ESP32: - self._rmt = RMT(0, pin=pin, clock_div=80, carrier_freq=cfreq, - carrier_duty_percent=duty) # 1μs resolution + self._rmt = RMT(0, pin=pin, clock_div=80, tx_carrier = (cfreq, duty, 1)) + # 1μs resolution elif RP2: # PIO-based RMT-like device self._rmt = RP2_RMT(pin_pulse=None, carrier=(pin, cfreq, duty)) # 1μs resolution else: # Pyboard @@ -96,7 +96,7 @@ class IR: # Subclass interface def trigger(self): # Used by NEC to initiate a repeat frame if ESP32: - self._rmt.write_pulses(tuple(self._mva[0 : self.aptr]), start = 1) + self._rmt.write_pulses(tuple(self._mva[0 : self.aptr])) elif RP2: self.append(STOP) self._rmt.send(self._arr) -- 2.47.3