]> vault307.fbx.one Git - micorpython_ir.git/blobdiff - ir_rx_test.py
README.md Include test results.
[micorpython_ir.git] / ir_rx_test.py
index 401c077eae6d5ec3e4a90f55770f9be5906e0b03..b4f1cf95511a3636e749ce7949c0f0baee304d3e 100644 (file)
@@ -8,6 +8,7 @@
 
 from sys import platform
 import time
 
 from sys import platform
 import time
+import gc
 from machine import Pin, freq
 from ir_rx import *
 
 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:
     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',
 
 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:
     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:
 
 
 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:
 
 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...
     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()