]> vault307.fbx.one Git - micorpython_ir.git/commitdiff
Git confusion. Save receiver test.
authorPeter Hinch <peter@hinch.me.uk>
Mon, 9 Mar 2020 08:34:07 +0000 (08:34 +0000)
committerPeter Hinch <peter@hinch.me.uk>
Mon, 9 Mar 2020 08:34:07 +0000 (08:34 +0000)
ir_rx/test.py [new file with mode: 0644]

diff --git a/ir_rx/test.py b/ir_rx/test.py
new file mode 100644 (file)
index 0000000..354a656
--- /dev/null
@@ -0,0 +1,59 @@
+# test.py Test program for IR remote control decoder
+# Supports Pyboard ESP32 and ESP8266
+
+# Author: Peter Hinch
+# Copyright Peter Hinch 2020 Released under the MIT license
+
+# Run this to characterise a remote.
+
+from sys import platform
+import time
+import gc
+from machine import Pin, freq
+from ir_rx.print_error import print_error  # Optional print of error codes
+# Import all implemented classes
+from ir_rx.nec import NEC_8, NEC_16
+from ir_rx.sony import SONY_12, SONY_15, SONY_20
+from ir_rx.philips import RC5_IR, RC6_M0
+
+# Define pin according to platform
+if platform == 'pyboard':
+    p = Pin('X3', Pin.IN)
+elif platform == 'esp8266':
+    freq(160000000)
+    p = Pin(13, Pin.IN)
+elif platform == 'esp32' or platform == 'esp32_LoBo':
+    p = Pin(23, Pin.IN)  # was 27
+
+# User callback
+def cb(data, addr, ctrl):
+    if data < 0:  # NEC protocol sends repeat codes.
+        print('Repeat code.')
+    else:
+        print('Data {:02x} Addr {:04x} Ctrl {:02x}'.format(data, addr, ctrl))
+
+def run(proto=0):
+    classes = (NEC_8, NEC_16, SONY_12, SONY_15, SONY_20, RC5_IR, RC6_M0)
+    ir = classes[proto](p, cb)  # Instantiate receiver
+    ir.error_function(print_error)  # Show debug information
+    #ir.verbose = True
+    # A real application would do something here...
+    while True:
+        print('running')
+        time.sleep(5)
+        gc.collect()
+
+# **** DISPLAY GREETING ****
+s = '''Test for IR receiver. Run:
+from ir_rx import test
+test.run() for NEC 8 bit protocol,
+test.run(1) for NEC 16 bit,
+test.run(2) for Sony SIRC 12 bit,
+test.run(3) for Sony SIRC 15 bit,
+test.run(4) for Sony SIRC 20 bit,
+test.run(5) for Philips RC-5 protocol,
+test.run(6) for RC6 mode 0.
+
+Hit ctrl-c to stop, then ctrl-d to soft reset.'''
+
+print(s)