X-Git-Url: https://vault307.fbx.one/gitweb/micorpython_ir.git/blobdiff_plain/d8d6758c3370f4adc636aed7b935a492754f6062..cfb4d7a37f2dbe06dd118dffb943308bed3c6e09:/ir_tx/philips.py?ds=inline diff --git a/ir_tx/philips.py b/ir_tx/philips.py index a37dd5b..e82e251 100644 --- a/ir_tx/philips.py +++ b/ir_tx/philips.py @@ -5,19 +5,20 @@ # Copyright Peter Hinch 2020 Released under the MIT license from micropython import const -from sys import platform 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): 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: @@ -37,6 +38,7 @@ _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): super().__init__(pin, freq, 44, 30, verbose)