|
5 | 5 |
|
6 | 6 | from machine import SPI, I2C, Pin
|
7 | 7 | import st7789
|
| 8 | +import struct |
8 | 9 |
|
9 | 10 |
|
10 | 11 | K_DOWN = 1 << 3
|
@@ -36,16 +37,17 @@ def __init__(self, i2c, address=0x5a):
|
36 | 37 | self._address = address
|
37 | 38 | for register, value in (
|
38 | 39 | (0x80, b'\x63'), # reset
|
39 |
| - (0x53, b'\x00'), # stop mode, reset config |
| 40 | + (0x5e, b'\x00'), # stop mode, reset config |
40 | 41 | (0x2b, b'\x01\x01\x0e\x00\x01\x05\x01\x00\x00\x00\x00'),
|
41 | 42 | (0x5b, b'\x00\x10\x20'), # debounce, config1, config2
|
42 |
| - (0x53, b'\x8f'), # exit stop mode |
| 43 | + (0x5e, b'\x8f'), # exit stop mode |
43 | 44 | ):
|
44 | 45 | self._i2c.writeto_mem(self._address, register, value)
|
45 | 46 |
|
46 | 47 | def get_pressed(self):
|
47 |
| - return int.from_bytes( |
48 |
| - self._i2c.readfrom_mem(self._address, 0x00, 2), 'big') |
| 48 | + buffer = self._i2c.readfrom_mem(self._address, 0x00, 2) |
| 49 | + mask = struct.unpack('<H', buffer)[0] |
| 50 | + return mask |
49 | 51 |
|
50 | 52 |
|
51 | 53 | spi = SPI(2, baudrate=40000000, sck=Pin(18), mosi=Pin(23))
|
|
0 commit comments