@@ -39,7 +39,7 @@ STATIC const mp_rom_obj_tuple_t tft_b_pins = {
3939 }
4040};
4141
42- STATIC const mp_rom_map_elem_t tft_table [] = {
42+ STATIC const mp_rom_map_elem_t tft_pins_table [] = {
4343 { MP_ROM_QSTR (MP_QSTR_de ), MP_ROM_PTR (& pin_GPIO17 ) },
4444 { MP_ROM_QSTR (MP_QSTR_vsync ), MP_ROM_PTR (& pin_GPIO3 ) },
4545 { MP_ROM_QSTR (MP_QSTR_hsync ), MP_ROM_PTR (& pin_GPIO46 ) },
@@ -48,12 +48,31 @@ STATIC const mp_rom_map_elem_t tft_table[] = {
4848 { MP_ROM_QSTR (MP_QSTR_green ), MP_ROM_PTR (& tft_g_pins ) },
4949 { MP_ROM_QSTR (MP_QSTR_blue ), MP_ROM_PTR (& tft_b_pins ) },
5050};
51- MP_DEFINE_CONST_DICT (tft_dict , tft_table );
51+ MP_DEFINE_CONST_DICT (tft_pins_dict , tft_pins_table );
52+
53+ STATIC const mp_rom_map_elem_t tft_timings_table [] = {
54+ { MP_ROM_QSTR (MP_QSTR_frequency ), MP_ROM_INT (6500000 ) }, // nominal 16MHz, but display is unstable/tears at that frequency
55+ { MP_ROM_QSTR (MP_QSTR_width ), MP_ROM_INT (480 ) },
56+ { MP_ROM_QSTR (MP_QSTR_height ), MP_ROM_INT (480 ) },
57+ { MP_ROM_QSTR (MP_QSTR_hsync_pulse_width ), MP_ROM_INT (13 ) },
58+ { MP_ROM_QSTR (MP_QSTR_hsync_front_porch ), MP_ROM_INT (20 ) },
59+ { MP_ROM_QSTR (MP_QSTR_hsync_back_porch ), MP_ROM_INT (40 ) },
60+ { MP_ROM_QSTR (MP_QSTR_hsync_idle_low ), MP_ROM_FALSE },
61+ { MP_ROM_QSTR (MP_QSTR_vsync_pulse_width ), MP_ROM_INT (15 ) },
62+ { MP_ROM_QSTR (MP_QSTR_vsync_front_porch ), MP_ROM_INT (20 ) },
63+ { MP_ROM_QSTR (MP_QSTR_vsync_back_porch ), MP_ROM_INT (40 ) },
64+ { MP_ROM_QSTR (MP_QSTR_vsync_idle_low ), MP_ROM_FALSE },
65+ { MP_ROM_QSTR (MP_QSTR_de_idle_high ), MP_ROM_FALSE },
66+ { MP_ROM_QSTR (MP_QSTR_pclk_active_high ), MP_ROM_FALSE },
67+ { MP_ROM_QSTR (MP_QSTR_pclk_idle_high ), MP_ROM_FALSE },
68+ };
69+ MP_DEFINE_CONST_DICT (tft_timings_dict , tft_timings_table );
5270
5371STATIC const mp_rom_map_elem_t board_module_globals_table [] = {
5472 CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
5573
56- { MP_ROM_QSTR (MP_QSTR_TFT ), MP_ROM_PTR (& tft_dict ) },
74+ { MP_ROM_QSTR (MP_QSTR_TFT_PINS ), MP_ROM_PTR (& tft_pins_dict ) },
75+ { MP_ROM_QSTR (MP_QSTR_TFT_TIMINGS ), MP_ROM_PTR (& tft_timings_dict ) },
5776
5877 { MP_ROM_QSTR (MP_QSTR_I2S_SCK ), MP_ROM_PTR (& pin_GPIO16 ) },
5978 { MP_ROM_QSTR (MP_QSTR_I2S_MCLK ), MP_ROM_PTR (& pin_GPIO5 ) },
0 commit comments