X-Git-Url: https://vault307.fbx.one/gitweb/micorpython_ir.git/blobdiff_plain/36140aa568d4a538adafb03e575b26de8a0784ef..61a0df99d3e68d30e4ee084a8a9b553024d3ac08:/ir_tx/philips.py diff --git a/ir_tx/philips.py b/ir_tx/philips.py index b069361..e82e251 100644 --- a/ir_tx/philips.py +++ b/ir_tx/philips.py @@ -5,22 +5,20 @@ # Copyright Peter Hinch 2020 Released under the MIT license from micropython import const -from sys import platform -ESP32 = platform == 'esp32' or platform == 'esp32_LoBo' from ir_tx import IR # Philips RC5 protocol _T_RC5 = const(889) # Time for pulse of carrier -ermsg = 'ESP32 does not support Philips protocols' + + class RC5(IR): + valid = (0x1f, 0x7f, 1) # Max addr, data, toggle def __init__(self, pin, freq=36000, verbose=False): - if ESP32: - raise RuntimeError(ermsg) super().__init__(pin, freq, 28, 30, verbose) - def tx(self, addr, data, toggle): - d = (data & 0x3f) | ((addr & 0x1f) << 6) | ((data & 0x40) << 6) | ((toggle & 1) << 11) + def tx(self, addr, data, toggle): # Fix RC5X S2 bit polarity + d = (data & 0x3f) | ((addr & 0x1f) << 6) | (((data & 0x40) ^ 0x40) << 6) | ((toggle & 1) << 11) self.verbose and print(bin(d)) mask = 0x2000 while mask: @@ -40,10 +38,9 @@ _T_RC6 = const(444) _T2_RC6 = const(889) class RC6_M0(IR): + valid = (0xff, 0xff, 1) # Max addr, data, toggle def __init__(self, pin, freq=36000, verbose=False): - if ESP32: - raise RuntimeError(ermsg) super().__init__(pin, freq, 44, 30, verbose) def tx(self, addr, data, toggle):