|
4 | 4 |
|
5 | 5 | from driver.ir.nec import NEC, NEC_8
|
6 | 6 | import M5
|
7 |
| -from machine import Pin |
| 7 | +import machine |
8 | 8 |
|
9 | 9 |
|
10 | 10 | class IR:
|
11 |
| - _pin_map = { |
12 |
| - M5.BOARD.M5AtomS3: (None, 4), |
13 |
| - M5.BOARD.M5AtomS3Lite: (None, 4), |
14 |
| - M5.BOARD.M5AtomS3U: (None, 12), |
15 |
| - M5.BOARD.M5Capsule: (None, 4), |
16 |
| - M5.BOARD.M5Cardputer: (None, 44), |
17 |
| - M5.BOARD.M5StickCPlus: (None, 9), |
18 |
| - M5.BOARD.M5StickC: (None, 9), |
19 |
| - M5.BOARD.M5StickCPlus2: (None, 19), |
20 |
| - M5.BOARD.M5AtomU: (None, 12), |
21 |
| - M5.BOARD.M5Atom: (None, 12), |
22 |
| - M5.BOARD.M5AtomEcho: (None, 12), |
23 |
| - M5.BOARD.M5NanoC6: (None, 3), |
24 |
| - } |
25 |
| - |
26 | 11 | def __init__(self) -> None:
|
27 |
| - self._port = self._pin_map.get(M5.getBoard()) |
28 |
| - self._transmitter = NEC(Pin(self._port[1], Pin.OUT, value=0)) |
| 12 | + _pin_map = { |
| 13 | + M5.BOARD.M5AtomS3: (None, 4), |
| 14 | + M5.BOARD.M5AtomS3Lite: (None, 4), |
| 15 | + M5.BOARD.M5AtomS3U: (None, 12), |
| 16 | + M5.BOARD.M5Capsule: (None, 4), |
| 17 | + M5.BOARD.M5Cardputer: (None, 44), |
| 18 | + M5.BOARD.M5StickCPlus: (None, 9), |
| 19 | + M5.BOARD.M5StickC: (None, 9), |
| 20 | + M5.BOARD.M5StickCPlus2: (None, 19), |
| 21 | + M5.BOARD.M5AtomU: (None, 12), |
| 22 | + M5.BOARD.M5Atom: (None, 12), |
| 23 | + M5.BOARD.M5AtomEcho: (None, 12), |
| 24 | + M5.BOARD.M5NanoC6: (None, 3), |
| 25 | + } |
| 26 | + (self._rx_pin, self._tx_pin) = _pin_map.get(M5.getBoard()) |
| 27 | + if self._tx_pin: |
| 28 | + self._transmitter = NEC(machine.Pin(self._tx_pin, machine.Pin.OUT, value=0)) |
29 | 29 | self._receiver = None
|
30 | 30 |
|
31 | 31 | def tx(self, cmd, data):
|
32 | 32 | self._transmitter.transmit(cmd, data)
|
33 | 33 |
|
34 | 34 | def rx_cb(self, cb):
|
35 |
| - if self._port[0] is None: |
36 |
| - return |
| 35 | + if self._rx_pin is None: |
| 36 | + raise NotImplementedError("IR receiver is not supported on this board") |
37 | 37 |
|
38 |
| - if self._receiver is None: |
39 |
| - self._receiver = NEC_8(Pin(self._port[0], Pin.IN), cb) |
40 |
| - else: |
| 38 | + if self._receiver: |
41 | 39 | self._receiver.close()
|
| 40 | + |
| 41 | + self._receiver = NEC_8(machine.Pin(self._rx_pin, machine.Pin.IN), cb) |
0 commit comments