From 22acf8e1d02787907c7eacba1756b5acd1c4495f Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Mon, 9 Mar 2020 08:34:07 +0000 Subject: [PATCH] Git confusion. Save receiver test. --- ir_rx/test.py | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ir_rx/test.py diff --git a/ir_rx/test.py b/ir_rx/test.py new file mode 100644 index 0000000..354a656 --- /dev/null +++ b/ir_rx/test.py @@ -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) -- 2.47.3