Skip to content

Commit ce22edb

Browse files
committed
On Qualia, define board.TFT_IO_EXPANDER
these arguments make it easier to call ioexpander_send_init_sequence
1 parent 04ad525 commit ce22edb

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

  • ports/espressif/boards/adafruit_qualia_s3_rgb666

ports/espressif/boards/adafruit_qualia_s3_rgb666/pins.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
#include "py/objtuple.h"
22
#include "shared-bindings/board/__init__.h"
33

4+
#define MP_DEFINE_BYTES_OBJ(obj_name, bin) mp_obj_str_t obj_name = {{&mp_type_bytes}, 0, sizeof(bin) - 1, (const byte *)bin}
5+
6+
STATIC MP_DEFINE_BYTES_OBJ(i2c_init_byte_obj,
7+
"\2\2\0" // set data inversion register (no inversions)
8+
"\2\1\xfe" // set output data (CLK idle low, all others high)
9+
"\2\3\x78" // set direction register (cs, mosi, clk, reset as outputs)
10+
);
11+
12+
STATIC const mp_rom_map_elem_t tft_io_expander_table[] = {
13+
{ MP_ROM_QSTR(MP_QSTR_i2c_address), MP_ROM_INT(0x3F)},
14+
{ MP_ROM_QSTR(MP_QSTR_gpio_address), MP_ROM_INT(1)},
15+
{ MP_ROM_QSTR(MP_QSTR_gpio_data_len), MP_ROM_INT(1)},
16+
{ MP_ROM_QSTR(MP_QSTR_gpio_data), MP_ROM_INT(0xFD)},
17+
{ MP_ROM_QSTR(MP_QSTR_cs_bit), MP_ROM_INT(1)},
18+
{ MP_ROM_QSTR(MP_QSTR_mosi_bit), MP_ROM_INT(7)},
19+
{ MP_ROM_QSTR(MP_QSTR_clk_bit), MP_ROM_INT(0)},
20+
{ MP_ROM_QSTR(MP_QSTR_reset_bit), MP_ROM_INT(2)},
21+
{ MP_ROM_QSTR(MP_QSTR_i2c_init_sequence), &i2c_init_byte_obj},
22+
};
23+
MP_DEFINE_CONST_DICT(tft_io_expander_dict, tft_io_expander_table);
24+
425
STATIC const mp_rom_obj_tuple_t tft_r_pins = {
526
{&mp_type_tuple},
627
5,
@@ -53,6 +74,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
5374
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
5475

5576
{ MP_ROM_QSTR(MP_QSTR_TFT), MP_ROM_PTR(&tft_dict) },
77+
{ MP_ROM_QSTR(MP_QSTR_TFT_IO_EXPANDER), MP_ROM_PTR(&tft_io_expander_dict) },
5678

5779
{ MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(MICROPY_HW_NEOPIXEL) },
5880

0 commit comments

Comments
 (0)