]>
vault307.fbx.one Git - micorpython_ir.git/blob - ir_rx_test.py
1 # ir_rx_test.py Test program for IR remote control decoder arem.py
2 # Supports Pyboard and ESP8266
5 # Copyright Peter Hinch 2020 Released under the MIT license
7 # Run this to characterise a remote.
9 from sys
import platform
11 from machine
import Pin
, freq
14 ESP32
= platform
== 'esp32' or platform
== 'esp32_LoBo'
16 if platform
== 'pyboard':
18 elif platform
== 'esp8266':
24 errors
= {BADSTART
: 'Invalid start pulse', BADBLOCK
: 'Error: bad block',
25 BADREP
: 'Error: repeat', OVERRUN
: 'Error: overrun',
26 BADDATA
: 'Error: invalid data', BADADDR
: 'Error: invalid address'}
28 def cb(data
, addr
, ctrl
):
29 if data
== REPEAT
: # NEC protocol sends repeat codes.
32 print('Data {:03x} Addr {:03x} Ctrl {:01x}'.format(data
, addr
, ctrl
))
34 print('{} Address: {}'.format(errors
[data
], hex(addr
)))
37 s
= '''Test for IR receiver. Run:
38 ir_tx_test.test() for NEC protocol,
39 ir_tx_test.test(5) for Philips RC-5 protocol,
40 ir_tx_test.test(6) for RC6 mode 0.
42 Background processing means REPL prompt reappears.
43 Hit ctrl-D to stop (soft reset).'''
49 ir
= NEC_IR(p
, cb
, True, 0) # Extended mode, dummy ctrl arg for callback
54 # A real application would do something here...