]> vault307.fbx.one Git - micorpython_ir.git/blobdiff - ir_tx/__init__.py
Fix issue 14 NEC transmit error on RP2.
[micorpython_ir.git] / ir_tx / __init__.py
index ac9755c3788aa2e496ed113ea1f42dc87e3a8ab9..e791b4a961810d773a68300def1489d70110f68c 100644 (file)
@@ -42,10 +42,11 @@ 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
+            asize += 1  # Allow for possible extra space pulse
         else:  # Pyboard
             if not IR._active_high:
                 duty = 100 - duty
@@ -96,7 +97,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)