X-Git-Url: https://vault307.fbx.one/gitweb/micorpython_ir.git/blobdiff_plain/d60573594da7d18c86ff2bfd954a86a23eebcbe9..8ed1c53cbe389c2ee8a30dfa17853199fed4ae49:/ir_rx_test.py?ds=inline diff --git a/ir_rx_test.py b/ir_rx_test.py index 401c077..b4f1cf9 100644 --- a/ir_rx_test.py +++ b/ir_rx_test.py @@ -8,6 +8,7 @@ from sys import platform import time +import gc from machine import Pin, freq from ir_rx import * @@ -19,7 +20,7 @@ elif platform == 'esp8266': freq(160000000) p = Pin(13, Pin.IN) elif ESP32: - p = Pin(23, Pin.IN) + p = Pin(23, Pin.IN) # was 27 errors = {BADSTART : 'Invalid start pulse', BADBLOCK : 'Error: bad block', BADREP : 'Error: repeat', OVERRUN : 'Error: overrun', @@ -31,27 +32,35 @@ def cb(data, addr, ctrl): elif data >= 0: print('Data {:03x} Addr {:03x} Ctrl {:01x}'.format(data, addr, ctrl)) else: - print('{} Address: {}'.format(errors[data], hex(addr))) + print(errors[data]) # Application would ignore errors s = '''Test for IR receiver. Run: -ir_tx_test.test() for NEC protocol, -ir_tx_test.test(5) for Philips RC-5 protocol, -ir_tx_test.test(6) for RC6 mode 0. +from ir_rx_test import test +test() for NEC protocol, +test(1) for Sony SIRC 12 bit, +test(2) for Sony SIRC 15 bit, +test(3) for Sony SIRC 20 bit, +test(5) for Philips RC-5 protocol, +test(6) for RC6 mode 0. -Background processing means REPL prompt reappears. -Hit ctrl-D to stop (soft reset).''' +Hit ctrl-c to stop, then ctrl-d to soft reset.''' print(s) def test(proto=0): if proto == 0: - ir = NEC_IR(p, cb, True, 0) # Extended mode, dummy ctrl arg for callback + ir = NEC_IR(p, cb) # Extended mode + elif proto < 4: + bits = (12, 15, 20)[proto - 1] + ir = SONY_IR(p, cb, bits) + #ir.verbose = True elif proto == 5: ir = RC5_IR(p, cb) elif proto == 6: ir = RC6_M0(p, cb) # A real application would do something here... - #while True: - #time.sleep(5) - #print('running') + while True: + print('running') + time.sleep(5) + gc.collect()