From db8d517690eb030da951dbcb42c89ae64d8a4761 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 4 Feb 2025 14:38:12 -0600 Subject: [PATCH 01/19] Auto-configure display on Feather RP2350 This should be considered an RFC. Some bits should probably be moved to common code & tidied up. If connected to a HDMI monitor, an eeprom will be on the i2c bus with address 0x50. When it's found, configure the display to 320x240x16 (default), or to user settings. Invalid user settings cause a safe mode with a misleading error: "Heap allocation when VM not running." This is because common_hal_picodvi_framebuffer_construct throws an exception for invalid parameters (width, height, and color depth), but the circuitpy VM is not running. With the default framebuffer configuration, about 256KiB is left for the CircuitPython VM. When a display is configured (whether picodvi or not), board.DISPLAY exits and can be retrieved. When there's no display (including after `release_displays()`), accessing `board.DISPLAY` raises an AttributeError. This behavior should maybe adapted everywhere, but I'm not sure how much flash size it takes. --- ports/raspberrypi/Makefile | 1 + .../boards/adafruit_feather_rp2350/board.c | 22 ++++++ .../adafruit_feather_rp2350/mpconfigboard.h | 12 ++++ .../raspberrypi/common-hal/picodvi/__init__.c | 71 +++++++++++++++++++ .../raspberrypi/common-hal/picodvi/__init__.h | 9 +++ 5 files changed, 115 insertions(+) create mode 100644 ports/raspberrypi/common-hal/picodvi/__init__.c create mode 100644 ports/raspberrypi/common-hal/picodvi/__init__.h diff --git a/ports/raspberrypi/Makefile b/ports/raspberrypi/Makefile index cf40af7baba64..9e36a93490d3a 100644 --- a/ports/raspberrypi/Makefile +++ b/ports/raspberrypi/Makefile @@ -556,6 +556,7 @@ ifeq ($(CIRCUITPY_PICODVI),1) SRC_C += \ bindings/picodvi/__init__.c \ bindings/picodvi/Framebuffer.c \ + common-hal/picodvi/__init__.c \ common-hal/picodvi/Framebuffer_$(CHIP_VARIANT).c \ ifeq ($(CHIP_VARIANT),RP2040) diff --git a/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c b/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c index e6a868ab21226..8c355a823c9df 100644 --- a/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c +++ b/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c @@ -4,6 +4,28 @@ // // SPDX-License-Identifier: MIT +#include "py/obj.h" #include "supervisor/board.h" +#include "shared-module/displayio/__init__.h" +#include "common-hal/picodvi/__init__.h" + // Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here. + + +extern void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest); + +void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) { + if (attr == MP_QSTR_DISPLAY && dest[0] == MP_OBJ_NULL) { + mp_obj_base_t *first_display = &displays[0].display_base; + if (first_display->type != &mp_type_NoneType && first_display->type != NULL) { + dest[0] = MP_OBJ_FROM_PTR(first_display); + } + } +} + +MP_REGISTER_MODULE_DELEGATION(board_module, mp_module_board_attr); + +void board_init(void) { + picodvi_autoconstruct(); +} diff --git a/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h b/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h index 1e238789a3dde..1e11119c43939 100644 --- a/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h +++ b/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h @@ -20,3 +20,15 @@ #define DEFAULT_UART_BUS_TX (&pin_GPIO0) #define CIRCUITPY_PSRAM_CHIP_SELECT (&pin_GPIO8) + +#define DEFAULT_DVI_BUS_CLK_DN (&pin_GPIO15) +#define DEFAULT_DVI_BUS_CLK_DP (&pin_GPIO14) +#define DEFAULT_DVI_BUS_RED_DN (&pin_GPIO19) +#define DEFAULT_DVI_BUS_RED_DP (&pin_GPIO18) +#define DEFAULT_DVI_BUS_GREEN_DN (&pin_GPIO17) +#define DEFAULT_DVI_BUS_GREEN_DP (&pin_GPIO16) +#define DEFAULT_DVI_BUS_BLUE_DN (&pin_GPIO13) +#define DEFAULT_DVI_BUS_BLUE_DP (&pin_GPIO12) + +// delegate board.DISPLAY attribute +#define MICROPY_MODULE_ATTR_DELEGATION (1) diff --git a/ports/raspberrypi/common-hal/picodvi/__init__.c b/ports/raspberrypi/common-hal/picodvi/__init__.c new file mode 100644 index 0000000000000..1e38616968c29 --- /dev/null +++ b/ports/raspberrypi/common-hal/picodvi/__init__.c @@ -0,0 +1,71 @@ +// This file is part of the CircuitPython project: https://circuitpython.org +// +// SPDX-FileCopyrightText: Copyright (c) 2025 Jeff Epler for Adafruit Industries +// +// SPDX-License-Identifier: MIT + +#include "common-hal/picodvi/__init__.h" +#include "common-hal/picodvi/Framebuffer.h" +#include "bindings/picodvi/Framebuffer.h" +#include "shared-bindings/busio/I2C.h" +#include "shared-bindings/board/__init__.h" +#include "shared-module/displayio/__init__.h" +#include "shared-module/os/__init__.h" +#include "supervisor/shared/safe_mode.h" +#include "py/gc.h" +#include "py/runtime.h" +#include "supervisor/port_heap.h" + +void picodvi_autoconstruct(void) { + if (get_safe_mode() != SAFE_MODE_NONE) { + return; + } + #if defined(DEFAULT_DVI_BUS_CLK_DP) + // check if address 0x50 is live on the I2C bus -- return if not + busio_i2c_obj_t *i2c = common_hal_board_create_i2c(0); + if (!i2c) { + return; + } + if (!common_hal_busio_i2c_try_lock(i2c)) { + return; + } + bool probed = common_hal_busio_i2c_probe(i2c, 0x50); + common_hal_busio_i2c_unlock(i2c); + if (!probed) { + return; + } + + mp_int_t width = 320; + mp_int_t height = 240; + mp_int_t color_depth = 16; + + // TODO: User configuration can cause safe mode errors without a self-explanatory message. + common_hal_os_getenv_int("CIRCUITPY_DISPLAY_WIDTH", &width); + common_hal_os_getenv_int("CIRCUITPY_DISPLAY_HEIGHT", &height); + common_hal_os_getenv_int("CIRCUITPY_DISPLAY_COLOR_DEPTH", &color_depth); + + // construct framebuffer and display + + picodvi_framebuffer_obj_t *fb = &allocate_display_bus_or_raise()->picodvi; + fb->base.type = &picodvi_framebuffer_type; + common_hal_picodvi_framebuffer_construct(fb, + width, height, + DEFAULT_DVI_BUS_CLK_DP, + DEFAULT_DVI_BUS_CLK_DN, + DEFAULT_DVI_BUS_RED_DP, + DEFAULT_DVI_BUS_RED_DN, + DEFAULT_DVI_BUS_GREEN_DP, + DEFAULT_DVI_BUS_GREEN_DN, + DEFAULT_DVI_BUS_BLUE_DP, + DEFAULT_DVI_BUS_BLUE_DN, + color_depth); + + framebufferio_framebufferdisplay_obj_t *display = &allocate_display()->framebuffer_display; + display->base.type = &framebufferio_framebufferdisplay_type; + common_hal_framebufferio_framebufferdisplay_construct( + display, + MP_OBJ_FROM_PTR(fb), + 0, + true); + #endif +} diff --git a/ports/raspberrypi/common-hal/picodvi/__init__.h b/ports/raspberrypi/common-hal/picodvi/__init__.h new file mode 100644 index 0000000000000..41f3656339a50 --- /dev/null +++ b/ports/raspberrypi/common-hal/picodvi/__init__.h @@ -0,0 +1,9 @@ +// This file is part of the CircuitPython project: https://circuitpython.org +// +// SPDX-FileCopyrightText: Copyright (c) 2025 Jeff Epler for Adafruit Industries +// +// SPDX-License-Identifier: MIT + +#pragma once + +extern void picodvi_autoconstruct(void); From 4c61d61bbde8eaf6ba24daee1ca99cee5311485f Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 15:15:53 -0600 Subject: [PATCH 02/19] Use module attribute delegation to make board.DISPLAY always work Let's see if this works out in terms of code space. --- .../boards/hallowing_m0_express/pins.c | 2 -- .../boards/hallowing_m4_express/pins.c | 2 -- ports/atmel-samd/boards/monster_m4sk/pins.c | 1 - ports/atmel-samd/boards/openbook_m4/pins.c | 2 -- ports/atmel-samd/boards/pewpew_lcd/pins.c | 2 -- ports/atmel-samd/boards/pewpew_m4/pins.c | 2 -- ports/atmel-samd/boards/pybadge/pins.c | 2 -- ports/atmel-samd/boards/pygamer/pins.c | 2 -- ports/atmel-samd/boards/pyportal/pins.c | 2 -- .../atmel-samd/boards/pyportal_titano/pins.c | 2 -- .../boards/seeeduino_wio_terminal/pins.c | 2 -- ports/atmel-samd/boards/ugame10/pins.c | 1 - .../boards/diodes_delight_piunora/pins.c | 1 - ports/broadcom/boards/raspberrypi_cm4/pins.c | 2 -- .../broadcom/boards/raspberrypi_cm4io/pins.c | 1 - ports/broadcom/boards/raspberrypi_pi4b/pins.c | 1 - ports/broadcom/boards/raspberrypi_zero/pins.c | 1 - .../broadcom/boards/raspberrypi_zero2w/pins.c | 1 - .../broadcom/boards/raspberrypi_zero_w/pins.c | 1 - .../boards/01space_lcd042_esp32c3/pins.c | 2 -- .../boards/adafruit_esp32s3_camera/pins.c | 1 - .../pins.c | 2 -- .../adafruit_feather_esp32s2_tft/pins.c | 2 -- .../pins.c | 2 -- .../adafruit_feather_esp32s3_tft/pins.c | 2 -- .../espressif/boards/adafruit_funhouse/pins.c | 1 - .../adafruit_magtag_2.9_grayscale/pins.c | 2 -- .../boards/espressif_esp32s3_box/pins.c | 2 -- .../boards/espressif_esp32s3_box_lite/pins.c | 2 -- .../pins.c | 1 - .../boards/espressif_esp32s3_eye/pins.c | 2 -- .../boards/espressif_esp32s3_lcd_ev/pins.c | 1 - .../espressif_esp32s3_lcd_ev_v1.5/pins.c | 1 - .../espressif_esp32s3_usb_otg_n8/pins.c | 1 - .../boards/hardkernel_odroid_go/pins.c | 1 - .../boards/heltec_esp32s3_wifi_lora_v3/pins.c | 1 - .../boards/heltec_wireless_paper/pins.c | 1 - ports/espressif/boards/hexky_s2/pins.c | 1 - ports/espressif/boards/hiibot_iots2/pins.c | 1 - ports/espressif/boards/lilygo_tdeck/pins.c | 1 - .../boards/lilygo_tdisplay_s3/pins.c | 1 - .../boards/lilygo_tdisplay_s3_pro/pins.c | 1 - .../boards/lilygo_tembed_esp32s3/pins.c | 1 - .../boards/lilygo_ttgo_t8_s2_st7789/pins.c | 1 - .../lilygo_ttgo_tdisplay_esp32_16m/pins.c | 1 - .../lilygo_ttgo_tdisplay_esp32_4m/pins.c | 1 - .../boards/lilygo_twatch_2020_v3/pins.c | 1 - .../espressif/boards/lilygo_twatch_s3/pins.c | 1 - ports/espressif/boards/lolin_s2_pico/pins.c | 1 - ports/espressif/boards/m5stack_atoms3/pins.c | 1 - .../espressif/boards/m5stack_cardputer/pins.c | 1 - ports/espressif/boards/m5stack_core2/pins.c | 1 - .../boards/m5stack_core_basic/pins.c | 1 - .../espressif/boards/m5stack_core_fire/pins.c | 1 - ports/espressif/boards/m5stack_cores3/pins.c | 1 - ports/espressif/boards/m5stack_dial/pins.c | 1 - ports/espressif/boards/m5stack_m5paper/pins.c | 1 - ports/espressif/boards/m5stack_stick_c/pins.c | 1 - .../boards/m5stack_stick_c_plus/pins.c | 1 - .../boards/m5stack_stick_c_plus2/pins.c | 1 - ports/espressif/boards/makerfabs_tft7/pins.c | 1 - .../boards/morpheans_morphesp-240/pins.c | 1 - ports/espressif/boards/oxocard_artwork/pins.c | 1 - ports/espressif/boards/oxocard_connect/pins.c | 1 - ports/espressif/boards/oxocard_galaxy/pins.c | 1 - ports/espressif/boards/oxocard_science/pins.c | 1 - .../boards/spotpear_esp32c3_lcd_1_44/pins.c | 1 - ports/espressif/boards/sqfmi_watchy/pins.c | 1 - .../boards/sunton_esp32_2424S012/pins.c | 1 - .../boards/sunton_esp32_2432S024C/pins.c | 1 - .../boards/sunton_esp32_2432S028/pins.c | 1 - .../boards/sunton_esp32_2432S032C/pins.c | 1 - .../boards/sunton_esp32_8048S050/pins.c | 1 - .../boards/sunton_esp32_8048S070/pins.c | 1 - ports/espressif/boards/vidi_x/pins.c | 1 - .../boards/waveshare_esp32_c6_lcd_1_47/pins.c | 1 - .../boards/waveshare_esp32_s2_pico_lcd/pins.c | 1 - .../boards/waveshare_esp32_s3_geek/pins.c | 1 - .../boards/waveshare_esp32_s3_lcd_1_28/pins.c | 1 - .../boards/clue_nrf52840_express/pins.c | 1 - ports/nordic/boards/espruino_banglejs2/pins.c | 1 - ports/nordic/boards/hiibot_bluefi/pins.c | 1 - .../makerdiary_nrf52840_m2_devkit/pins.c | 1 - ports/nordic/boards/ohs2020_badge/pins.c | 1 - .../boards/adafruit_feather_rp2040_dvi/pins.c | 1 - .../boards/adafruit_floppsy_rp2040/pins.c | 1 - .../boards/adafruit_macropad_rp2040/pins.c | 1 - .../bradanlanestudio_explorer_rp2040/pins.c | 1 - .../raspberrypi/boards/hack_club_sprig/pins.c | 1 - .../boards/heiafr_picomo_v2/pins.c | 1 - .../boards/heiafr_picomo_v3/pins.c | 1 - .../boards/lilygo_t_display_rp2040/pins.c | 1 - .../boards/pajenicko_picopad/pins.c | 1 - .../boards/pimoroni_badger2040/pins.c | 1 - .../boards/pimoroni_badger2040w/pins.c | 1 - .../boards/pimoroni_inky_frame_5_7/pins.c | 1 - .../boards/pimoroni_inky_frame_7_3/pins.c | 1 - .../boards/pimoroni_pico_dv_base/pins.c | 1 - .../boards/pimoroni_picosystem/pins.c | 1 - ports/raspberrypi/boards/ugame22/pins.c | 1 - .../boards/waveshare_rp2040_geek/pins.c | 1 - .../boards/waveshare_rp2040_lcd_0_96/pins.c | 1 - .../boards/waveshare_rp2350_geek/pins.c | 1 - .../boards/waveshare_rp2350_lcd_0_96/pins.c | 1 - ports/stm/boards/meowbit_v121/pins.c | 1 - py/circuitpy_mpconfig.h | 4 ++++ shared-bindings/board/__init__.c | 24 +++++++++++++++++++ shared-bindings/board/__init__.h | 11 ++++++++- 108 files changed, 38 insertions(+), 126 deletions(-) diff --git a/ports/atmel-samd/boards/hallowing_m0_express/pins.c b/ports/atmel-samd/boards/hallowing_m0_express/pins.c index 276ae938f3ac1..6029ca9267dc0 100644 --- a/ports/atmel-samd/boards/hallowing_m0_express/pins.c +++ b/ports/atmel-samd/boards/hallowing_m0_express/pins.c @@ -72,7 +72,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/hallowing_m4_express/pins.c b/ports/atmel-samd/boards/hallowing_m4_express/pins.c index 3db56be90db82..caae3497cb227 100644 --- a/ports/atmel-samd/boards/hallowing_m4_express/pins.c +++ b/ports/atmel-samd/boards/hallowing_m4_express/pins.c @@ -76,7 +76,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/monster_m4sk/pins.c b/ports/atmel-samd/boards/monster_m4sk/pins.c index a96732a559669..ba8c47a338aa0 100644 --- a/ports/atmel-samd/boards/monster_m4sk/pins.c +++ b/ports/atmel-samd/boards/monster_m4sk/pins.c @@ -56,7 +56,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, { MP_ROM_QSTR(MP_QSTR_RIGHT_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/openbook_m4/pins.c b/ports/atmel-samd/boards/openbook_m4/pins.c index 250773c6c33d6..53de8148f06c0 100644 --- a/ports/atmel-samd/boards/openbook_m4/pins.c +++ b/ports/atmel-samd/boards/openbook_m4/pins.c @@ -80,7 +80,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pewpew_lcd/pins.c b/ports/atmel-samd/boards/pewpew_lcd/pins.c index 4ad72a1ebb68c..2843d8c18fb4f 100644 --- a/ports/atmel-samd/boards/pewpew_lcd/pins.c +++ b/ports/atmel-samd/boards/pewpew_lcd/pins.c @@ -28,7 +28,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_P5), MP_ROM_PTR(&pin_PA02) }, { MP_ROM_QSTR(MP_QSTR_P6), MP_ROM_PTR(&pin_PA03) }, { MP_ROM_QSTR(MP_QSTR_P7), MP_ROM_PTR(&pin_PA04) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/atmel-samd/boards/pewpew_m4/pins.c b/ports/atmel-samd/boards/pewpew_m4/pins.c index 71a2d5e1f934b..1429b566c1f2d 100644 --- a/ports/atmel-samd/boards/pewpew_m4/pins.c +++ b/ports/atmel-samd/boards/pewpew_m4/pins.c @@ -47,7 +47,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pybadge/pins.c b/ports/atmel-samd/boards/pybadge/pins.c index 6c81b537c956e..96f5cede8c5df 100644 --- a/ports/atmel-samd/boards/pybadge/pins.c +++ b/ports/atmel-samd/boards/pybadge/pins.c @@ -75,7 +75,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pygamer/pins.c b/ports/atmel-samd/boards/pygamer/pins.c index f2aed3d6527b0..6ddc6f4dc2fa4 100644 --- a/ports/atmel-samd/boards/pygamer/pins.c +++ b/ports/atmel-samd/boards/pygamer/pins.c @@ -80,7 +80,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pyportal/pins.c b/ports/atmel-samd/boards/pyportal/pins.c index 50cda39e85cb0..d30cb653233a4 100644 --- a/ports/atmel-samd/boards/pyportal/pins.c +++ b/ports/atmel-samd/boards/pyportal/pins.c @@ -86,7 +86,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pyportal_titano/pins.c b/ports/atmel-samd/boards/pyportal_titano/pins.c index 50cda39e85cb0..d30cb653233a4 100644 --- a/ports/atmel-samd/boards/pyportal_titano/pins.c +++ b/ports/atmel-samd/boards/pyportal_titano/pins.c @@ -86,7 +86,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c b/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c index 2f95232ce00cf..c374cae5e5c75 100644 --- a/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c +++ b/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c @@ -117,7 +117,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/ugame10/pins.c b/ports/atmel-samd/boards/ugame10/pins.c index 612640abdf9a9..f5fe0b323895c 100644 --- a/ports/atmel-samd/boards/ugame10/pins.c +++ b/ports/atmel-samd/boards/ugame10/pins.c @@ -34,6 +34,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_D), MP_ROM_PTR(&pin_PA28) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/broadcom/boards/diodes_delight_piunora/pins.c b/ports/broadcom/boards/diodes_delight_piunora/pins.c index 27bbe93e1eeca..cba50dfcc8a22 100644 --- a/ports/broadcom/boards/diodes_delight_piunora/pins.c +++ b/ports/broadcom/boards/diodes_delight_piunora/pins.c @@ -72,6 +72,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_cm4/pins.c b/ports/broadcom/boards/raspberrypi_cm4/pins.c index 83f781eea97ac..f994aca6f4c8c 100644 --- a/ports/broadcom/boards/raspberrypi_cm4/pins.c +++ b/ports/broadcom/boards/raspberrypi_cm4/pins.c @@ -48,7 +48,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_SDA0), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_SCL0), MP_ROM_PTR(&pin_GPIO45) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_cm4io/pins.c b/ports/broadcom/boards/raspberrypi_cm4io/pins.c index d9666eafda321..b50bed7ca8780 100644 --- a/ports/broadcom/boards/raspberrypi_cm4io/pins.c +++ b/ports/broadcom/boards/raspberrypi_cm4io/pins.c @@ -66,6 +66,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO42) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_pi4b/pins.c b/ports/broadcom/boards/raspberrypi_pi4b/pins.c index d9666eafda321..b50bed7ca8780 100644 --- a/ports/broadcom/boards/raspberrypi_pi4b/pins.c +++ b/ports/broadcom/boards/raspberrypi_pi4b/pins.c @@ -66,6 +66,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO42) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_zero/pins.c b/ports/broadcom/boards/raspberrypi_zero/pins.c index 4b3cf22813585..4a90833d42939 100644 --- a/ports/broadcom/boards/raspberrypi_zero/pins.c +++ b/ports/broadcom/boards/raspberrypi_zero/pins.c @@ -63,6 +63,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_D27), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_zero2w/pins.c b/ports/broadcom/boards/raspberrypi_zero2w/pins.c index 1d8f247487e63..00bb619ee6184 100644 --- a/ports/broadcom/boards/raspberrypi_zero2w/pins.c +++ b/ports/broadcom/boards/raspberrypi_zero2w/pins.c @@ -64,6 +64,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO29) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_zero_w/pins.c b/ports/broadcom/boards/raspberrypi_zero_w/pins.c index 4b3cf22813585..4a90833d42939 100644 --- a/ports/broadcom/boards/raspberrypi_zero_w/pins.c +++ b/ports/broadcom/boards/raspberrypi_zero_w/pins.c @@ -63,6 +63,5 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_D27), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/espressif/boards/01space_lcd042_esp32c3/pins.c b/ports/espressif/boards/01space_lcd042_esp32c3/pins.c index 1518fdecafb41..6a77ddccaaeaa 100644 --- a/ports/espressif/boards/01space_lcd042_esp32c3/pins.c +++ b/ports/espressif/boards/01space_lcd042_esp32c3/pins.c @@ -42,7 +42,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_esp32s3_camera/pins.c b/ports/espressif/boards/adafruit_esp32s3_camera/pins.c index 9745626da021e..ba25d7ca712cb 100644 --- a/ports/espressif/boards/adafruit_esp32s3_camera/pins.c +++ b/ports/espressif/boards/adafruit_esp32s3_camera/pins.c @@ -75,6 +75,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c index 7eeffa79da483..9f4db1e897283 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c @@ -82,7 +82,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c index 97dd1029d9945..57da70341519b 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c @@ -78,7 +78,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c index 7eeffa79da483..9f4db1e897283 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c @@ -82,7 +82,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c index 97dd1029d9945..57da70341519b 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c @@ -78,7 +78,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_funhouse/pins.c b/ports/espressif/boards/adafruit_funhouse/pins.c index b6d419f32e275..6522dbad74a21 100644 --- a/ports/espressif/boards/adafruit_funhouse/pins.c +++ b/ports/espressif/boards/adafruit_funhouse/pins.c @@ -55,6 +55,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c b/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c index 746a2cad4478a..c5a33930a559e 100644 --- a/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c +++ b/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c @@ -63,8 +63,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, - { MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_INTERRUPT), MP_ROM_PTR(&pin_GPIO9) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_box/pins.c b/ports/espressif/boards/espressif_esp32s3_box/pins.c index a2c6651087f5e..0037bcccda471 100644 --- a/ports/espressif/boards/espressif_esp32s3_box/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_box/pins.c @@ -67,7 +67,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // boot button, also usable as a software button { MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR(&pin_GPIO0) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c b/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c index a2c6651087f5e..0037bcccda471 100644 --- a/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c @@ -67,7 +67,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // boot button, also usable as a software button { MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR(&pin_GPIO0) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c b/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c index ca2439e1d40a1..23d95048d36db 100644 --- a/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c @@ -127,6 +127,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_eye/pins.c b/ports/espressif/boards/espressif_esp32s3_eye/pins.c index d756886f99175..5d3846b13738d 100644 --- a/ports/espressif/boards/espressif_esp32s3_eye/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_eye/pins.c @@ -55,7 +55,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c b/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c index b20fed522e3ea..5b02436b73ea6 100644 --- a/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c @@ -106,7 +106,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(DEFAULT_I2C_BUS_SCL) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(DEFAULT_I2C_BUS_SDA) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // boot mode button can be used in SW as well { MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) }, diff --git a/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c b/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c index b7a7d65b04666..b57922657a33d 100644 --- a/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c @@ -106,7 +106,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(DEFAULT_I2C_BUS_SCL) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(DEFAULT_I2C_BUS_SDA) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // boot mode button can be used in SW as well { MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) }, diff --git a/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c b/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c index 0713000b6ff62..c123533ef22d8 100644 --- a/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c @@ -52,6 +52,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/hardkernel_odroid_go/pins.c b/ports/espressif/boards/hardkernel_odroid_go/pins.c index bfb893af9c2c9..889c8c14b70e8 100644 --- a/ports/espressif/boards/hardkernel_odroid_go/pins.c +++ b/ports/espressif/boards/hardkernel_odroid_go/pins.c @@ -61,6 +61,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_EXT4), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c b/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c index fd0fdaba6ecc2..1f0bb9fdd9699 100644 --- a/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c +++ b/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c @@ -117,6 +117,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_OLED_SDA), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_OLED_SCL), MP_ROM_PTR(&pin_GPIO18) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/heltec_wireless_paper/pins.c b/ports/espressif/boards/heltec_wireless_paper/pins.c index 908fd0f5dacbc..8a637f95b9840 100644 --- a/ports/espressif/boards/heltec_wireless_paper/pins.c +++ b/ports/espressif/boards/heltec_wireless_paper/pins.c @@ -48,7 +48,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // objects { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, }; diff --git a/ports/espressif/boards/hexky_s2/pins.c b/ports/espressif/boards/hexky_s2/pins.c index e340a645f6a52..5c011252683ae 100644 --- a/ports/espressif/boards/hexky_s2/pins.c +++ b/ports/espressif/boards/hexky_s2/pins.c @@ -57,6 +57,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/hiibot_iots2/pins.c b/ports/espressif/boards/hiibot_iots2/pins.c index c1203abdb3150..0a6fe86fe5261 100644 --- a/ports/espressif/boards/hiibot_iots2/pins.c +++ b/ports/espressif/boards/hiibot_iots2/pins.c @@ -59,7 +59,6 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) }, { MP_ROM_QSTR(MP_QSTR_TFT_BL), MP_ROM_PTR(&pin_GPIO38) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) }, { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO40) }, diff --git a/ports/espressif/boards/lilygo_tdeck/pins.c b/ports/espressif/boards/lilygo_tdeck/pins.c index fe489d4561a49..4fe9a4a203a17 100644 --- a/ports/espressif/boards/lilygo_tdeck/pins.c +++ b/ports/espressif/boards/lilygo_tdeck/pins.c @@ -41,7 +41,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // SD card { MP_ROM_QSTR(MP_QSTR_SDCARD_CS), MP_ROM_PTR(&pin_GPIO39) }, diff --git a/ports/espressif/boards/lilygo_tdisplay_s3/pins.c b/ports/espressif/boards/lilygo_tdisplay_s3/pins.c index 55df1e6988c32..781a1cfb1f6cf 100644 --- a/ports/espressif/boards/lilygo_tdisplay_s3/pins.c +++ b/ports/espressif/boards/lilygo_tdisplay_s3/pins.c @@ -57,7 +57,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_POWER_ON), MP_ROM_PTR(&pin_GPIO15) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Battery Sense { MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO4) }, diff --git a/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c b/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c index 6b4cc54c9ccc7..f1ee3b81b433c 100644 --- a/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c +++ b/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c @@ -114,6 +114,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c b/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c index 58cf8a71e27a8..0759082aeddb5 100644 --- a/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c +++ b/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c @@ -59,7 +59,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_GPIO10) }, { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO13) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // SD card control pins { MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_GPIO39) }, diff --git a/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c b/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c index 8e11cd070face..63048be0ecf0b 100644 --- a/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c +++ b/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c @@ -57,7 +57,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO38) }, { MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO33) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO37) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Peripheral Power control { MP_ROM_QSTR(MP_QSTR_PE_POWER), MP_ROM_PTR(&pin_GPIO14) }, diff --git a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c index 199b675fe5d7f..a0b70b67c5e6c 100644 --- a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c +++ b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c @@ -39,7 +39,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO23) }, { MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO4) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO16) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Battery Sense { MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO34) }, diff --git a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c index e241d8480e889..beeebccee89fe 100644 --- a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c +++ b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c @@ -41,7 +41,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO23) }, { MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO4) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO16) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Battery Sense { MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO34) }, diff --git a/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c b/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c index 9942a9e3f31c6..1dc23f6e5dea5 100644 --- a/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c +++ b/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c @@ -55,6 +55,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/lilygo_twatch_s3/pins.c b/ports/espressif/boards/lilygo_twatch_s3/pins.c index 942d3c27e6869..ba7ef60ebe7e0 100644 --- a/ports/espressif/boards/lilygo_twatch_s3/pins.c +++ b/ports/espressif/boards/lilygo_twatch_s3/pins.c @@ -21,7 +21,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO38) }, { MP_ROM_QSTR(MP_QSTR_TFT_BL), MP_ROM_PTR(&pin_GPIO45) }, { MP_ROM_QSTR(MP_QSTR_TFT_SPI), MP_ROM_PTR(&board_tft_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // TOUCH { MP_ROM_QSTR(MP_QSTR_TOUCH_INT), MP_ROM_PTR(&pin_GPIO16) }, diff --git a/ports/espressif/boards/lolin_s2_pico/pins.c b/ports/espressif/boards/lolin_s2_pico/pins.c index b182639d56588..0ac86b6f63413 100644 --- a/ports/espressif/boards/lolin_s2_pico/pins.c +++ b/ports/espressif/boards/lolin_s2_pico/pins.c @@ -60,6 +60,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },// Not labelled on booard, on schematic { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_atoms3/pins.c b/ports/espressif/boards/m5stack_atoms3/pins.c index e369ffffd3d85..1e8f38865d743 100644 --- a/ports/espressif/boards/m5stack_atoms3/pins.c +++ b/ports/espressif/boards/m5stack_atoms3/pins.c @@ -53,7 +53,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_cardputer/pins.c b/ports/espressif/boards/m5stack_cardputer/pins.c index ba309e0dcbff1..85693c1d3e18f 100644 --- a/ports/espressif/boards/m5stack_cardputer/pins.c +++ b/ports/espressif/boards/m5stack_cardputer/pins.c @@ -81,6 +81,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, // Display object - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_core2/pins.c b/ports/espressif/boards/m5stack_core2/pins.c index 5deaba82f4f74..59bdf2bcf1fcc 100644 --- a/ports/espressif/boards/m5stack_core2/pins.c +++ b/ports/espressif/boards/m5stack_core2/pins.c @@ -96,6 +96,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_core_basic/pins.c b/ports/espressif/boards/m5stack_core_basic/pins.c index c56375242f353..6c6cf33d2e88c 100644 --- a/ports/espressif/boards/m5stack_core_basic/pins.c +++ b/ports/espressif/boards/m5stack_core_basic/pins.c @@ -94,6 +94,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_core_fire/pins.c b/ports/espressif/boards/m5stack_core_fire/pins.c index 700b20c91ec38..cf14cd40c1a3b 100644 --- a/ports/espressif/boards/m5stack_core_fire/pins.c +++ b/ports/espressif/boards/m5stack_core_fire/pins.c @@ -95,6 +95,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_cores3/pins.c b/ports/espressif/boards/m5stack_cores3/pins.c index 2ebb225277ded..b0fa61c608d61 100644 --- a/ports/espressif/boards/m5stack_cores3/pins.c +++ b/ports/espressif/boards/m5stack_cores3/pins.c @@ -95,6 +95,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_dial/pins.c b/ports/espressif/boards/m5stack_dial/pins.c index a3ea099f22801..9dfe194be8225 100644 --- a/ports/espressif/boards/m5stack_dial/pins.c +++ b/ports/espressif/boards/m5stack_dial/pins.c @@ -58,6 +58,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_m5paper/pins.c b/ports/espressif/boards/m5stack_m5paper/pins.c index f474a993e1852..02c738cd492a7 100644 --- a/ports/espressif/boards/m5stack_m5paper/pins.c +++ b/ports/espressif/boards/m5stack_m5paper/pins.c @@ -80,6 +80,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, // TODO: Uncomment once the display initialization code is added. - // { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_stick_c/pins.c b/ports/espressif/boards/m5stack_stick_c/pins.c index 6386004156b8e..396c630df651f 100644 --- a/ports/espressif/boards/m5stack_stick_c/pins.c +++ b/ports/espressif/boards/m5stack_stick_c/pins.c @@ -60,6 +60,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SYS_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_stick_c_plus/pins.c b/ports/espressif/boards/m5stack_stick_c_plus/pins.c index 53fd6a731cfaa..d054b76cb6ea7 100644 --- a/ports/espressif/boards/m5stack_stick_c_plus/pins.c +++ b/ports/espressif/boards/m5stack_stick_c_plus/pins.c @@ -63,6 +63,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SYS_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_stick_c_plus2/pins.c b/ports/espressif/boards/m5stack_stick_c_plus2/pins.c index 7459482176576..167450e90b0c0 100644 --- a/ports/espressif/boards/m5stack_stick_c_plus2/pins.c +++ b/ports/espressif/boards/m5stack_stick_c_plus2/pins.c @@ -50,7 +50,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO5) }, { MP_ROM_QSTR(MP_QSTR_LCD_BL), MP_ROM_PTR(&pin_GPIO27) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // Battery voltage sense { MP_ROM_QSTR(MP_QSTR_G38), MP_ROM_PTR(&pin_GPIO38) }, diff --git a/ports/espressif/boards/makerfabs_tft7/pins.c b/ports/espressif/boards/makerfabs_tft7/pins.c index ccc72b23e47b8..cea024875423f 100644 --- a/ports/espressif/boards/makerfabs_tft7/pins.c +++ b/ports/espressif/boards/makerfabs_tft7/pins.c @@ -125,7 +125,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SDIO_CMD), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_SDIO_D0), MP_ROM_PTR(&pin_GPIO13) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // boot mode button can be used in SW as well { MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO1) }, diff --git a/ports/espressif/boards/morpheans_morphesp-240/pins.c b/ports/espressif/boards/morpheans_morphesp-240/pins.c index cbdccfd325833..fd49860c34109 100644 --- a/ports/espressif/boards/morpheans_morphesp-240/pins.c +++ b/ports/espressif/boards/morpheans_morphesp-240/pins.c @@ -60,7 +60,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO10) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO9) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO14) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/oxocard_artwork/pins.c b/ports/espressif/boards/oxocard_artwork/pins.c index 39036909ef80a..0f872a2149af4 100644 --- a/ports/espressif/boards/oxocard_artwork/pins.c +++ b/ports/espressif/boards/oxocard_artwork/pins.c @@ -37,7 +37,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_ACC_INT1), MP_ROM_PTR(&pin_GPIO34) }, { MP_ROM_QSTR(MP_QSTR_ACC_INT2), MP_ROM_PTR(&pin_GPIO35) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, diff --git a/ports/espressif/boards/oxocard_connect/pins.c b/ports/espressif/boards/oxocard_connect/pins.c index 3a1a88786c14d..0c878d382ad40 100644 --- a/ports/espressif/boards/oxocard_connect/pins.c +++ b/ports/espressif/boards/oxocard_connect/pins.c @@ -20,7 +20,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO4) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO8) }, { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO5) }, diff --git a/ports/espressif/boards/oxocard_galaxy/pins.c b/ports/espressif/boards/oxocard_galaxy/pins.c index 2aab9629dec6e..0f872a2149af4 100644 --- a/ports/espressif/boards/oxocard_galaxy/pins.c +++ b/ports/espressif/boards/oxocard_galaxy/pins.c @@ -24,7 +24,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO4) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO8) }, { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO5) }, diff --git a/ports/espressif/boards/oxocard_science/pins.c b/ports/espressif/boards/oxocard_science/pins.c index b47cdf38d8ea5..0a24b1c229c9c 100644 --- a/ports/espressif/boards/oxocard_science/pins.c +++ b/ports/espressif/boards/oxocard_science/pins.c @@ -37,7 +37,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_AMB_INT), MP_ROM_PTR(&pin_GPIO35) }, { MP_ROM_QSTR(MP_QSTR_VOC_RST), MP_ROM_PTR(&pin_GPIO20) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, diff --git a/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c b/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c index a811f9fa7669f..af704e32ec1a7 100644 --- a/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c +++ b/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c @@ -40,6 +40,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // Objects { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sqfmi_watchy/pins.c b/ports/espressif/boards/sqfmi_watchy/pins.c index e37ff7d5a1d34..fe67c5eb4b970 100644 --- a/ports/espressif/boards/sqfmi_watchy/pins.c +++ b/ports/espressif/boards/sqfmi_watchy/pins.c @@ -28,7 +28,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_ACC_INT_2), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_RTC_INT), MP_ROM_PTR(&pin_GPIO27) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, diff --git a/ports/espressif/boards/sunton_esp32_2424S012/pins.c b/ports/espressif/boards/sunton_esp32_2424S012/pins.c index 8843fbdb7c1da..2685bfbd27457 100644 --- a/ports/espressif/boards/sunton_esp32_2424S012/pins.c +++ b/ports/espressif/boards/sunton_esp32_2424S012/pins.c @@ -43,6 +43,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_2432S024C/pins.c b/ports/espressif/boards/sunton_esp32_2432S024C/pins.c index a69f3150e9248..e5b5af4bdf13e 100644 --- a/ports/espressif/boards/sunton_esp32_2432S024C/pins.c +++ b/ports/espressif/boards/sunton_esp32_2432S024C/pins.c @@ -62,7 +62,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_lcd_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_2432S028/pins.c b/ports/espressif/boards/sunton_esp32_2432S028/pins.c index b852ab11e04c2..df2ed2447b905 100644 --- a/ports/espressif/boards/sunton_esp32_2432S028/pins.c +++ b/ports/espressif/boards/sunton_esp32_2432S028/pins.c @@ -65,7 +65,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_lcd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_TOUCH_SPI), MP_ROM_PTR(&board_touch_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_2432S032C/pins.c b/ports/espressif/boards/sunton_esp32_2432S032C/pins.c index 5d1561bfd38af..02201158af1c5 100644 --- a/ports/espressif/boards/sunton_esp32_2432S032C/pins.c +++ b/ports/espressif/boards/sunton_esp32_2432S032C/pins.c @@ -64,7 +64,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_lcd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_8048S050/pins.c b/ports/espressif/boards/sunton_esp32_8048S050/pins.c index fa5a0fdfa37d4..0b97c80b73005 100644 --- a/ports/espressif/boards/sunton_esp32_8048S050/pins.c +++ b/ports/espressif/boards/sunton_esp32_8048S050/pins.c @@ -131,6 +131,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_8048S070/pins.c b/ports/espressif/boards/sunton_esp32_8048S070/pins.c index 697eff9b8ef6b..006351319bb74 100644 --- a/ports/espressif/boards/sunton_esp32_8048S070/pins.c +++ b/ports/espressif/boards/sunton_esp32_8048S070/pins.c @@ -131,6 +131,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/vidi_x/pins.c b/ports/espressif/boards/vidi_x/pins.c index 3f9aa105e728d..5a92e6b41762d 100644 --- a/ports/espressif/boards/vidi_x/pins.c +++ b/ports/espressif/boards/vidi_x/pins.c @@ -138,6 +138,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_VIDIIC), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c b/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c index 9b9b91d8f64d7..a40f6857575a1 100644 --- a/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c +++ b/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c @@ -65,6 +65,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c b/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c index 6e7b08b2d6467..ebc80022bc24c 100644 --- a/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c +++ b/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c @@ -79,7 +79,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c b/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c index 01c3baf8c9f8f..e7dd35c5ba473 100644 --- a/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c +++ b/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c @@ -78,7 +78,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO9) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO7) }, { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO8) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c b/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c index 51943badf03e5..ea02a7ac2260c 100644 --- a/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c +++ b/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c @@ -69,6 +69,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/clue_nrf52840_express/pins.c b/ports/nordic/boards/clue_nrf52840_express/pins.c index f05ce0d37187e..7b0d22a010715 100644 --- a/ports/nordic/boards/clue_nrf52840_express/pins.c +++ b/ports/nordic/boards/clue_nrf52840_express/pins.c @@ -117,7 +117,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/espruino_banglejs2/pins.c b/ports/nordic/boards/espruino_banglejs2/pins.c index c84f7430161a5..9bc379a3d5369 100644 --- a/ports/nordic/boards/espruino_banglejs2/pins.c +++ b/ports/nordic/boards/espruino_banglejs2/pins.c @@ -41,7 +41,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PRESSURE_SDA), MP_ROM_PTR(&pin_P1_13) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/hiibot_bluefi/pins.c b/ports/nordic/boards/hiibot_bluefi/pins.c index 73f046bffad42..142338fd72d70 100644 --- a/ports/nordic/boards/hiibot_bluefi/pins.c +++ b/ports/nordic/boards/hiibot_bluefi/pins.c @@ -184,7 +184,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c b/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c index bd2b6800afd14..92f74bde0073c 100644 --- a/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c +++ b/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c @@ -118,7 +118,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/ohs2020_badge/pins.c b/ports/nordic/boards/ohs2020_badge/pins.c index 8817a3fada927..d3b162205f4ec 100644 --- a/ports/nordic/boards/ohs2020_badge/pins.c +++ b/ports/nordic/boards/ohs2020_badge/pins.c @@ -26,7 +26,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_BUTTON_SW1), MP_ROM_PTR(&pin_P0_29) }, { MP_ROM_QSTR(MP_QSTR_BUTTON_SW2), MP_ROM_PTR(&pin_P0_03) }, diff --git a/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c b/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c index 82cbb7322e492..2f403f685b71c 100644 --- a/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c +++ b/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c @@ -57,7 +57,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_D2N), MP_ROM_PTR(&pin_GPIO22) }, { MP_ROM_QSTR(MP_QSTR_D2P), MP_ROM_PTR(&pin_GPIO23) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].framebuffer_display)}, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, diff --git a/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c b/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c index cfeb426e31ad4..f89a1bddcb4db 100644 --- a/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c +++ b/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c @@ -56,7 +56,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO27) }, { MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].framebuffer_display)}, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, diff --git a/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c b/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c index f5330dd9de0f3..71492dabc5cd0 100644 --- a/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c +++ b/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c @@ -54,6 +54,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c b/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c index 3aef009ab5d63..3fde9679907d9 100644 --- a/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c +++ b/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c @@ -118,7 +118,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_VID), MP_ROM_PTR(&board_vid_obj) }, }; diff --git a/ports/raspberrypi/boards/hack_club_sprig/pins.c b/ports/raspberrypi/boards/hack_club_sprig/pins.c index e5ce147839890..8fd26de165312 100644 --- a/ports/raspberrypi/boards/hack_club_sprig/pins.c +++ b/ports/raspberrypi/boards/hack_club_sprig/pins.c @@ -90,7 +90,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_WHITE_LED), MP_ROM_PTR(&pin_GPIO28) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c b/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c index 139c5c40952fb..513f317ac517d 100644 --- a/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c +++ b/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c @@ -100,6 +100,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c b/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c index eb1a1ec1d41db..4c53265049cf9 100644 --- a/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c +++ b/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c @@ -105,6 +105,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { {MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj)}, {MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj)}, - {MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c b/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c index 8b8f7ce09db9d..bf58e206d67fb 100644 --- a/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c +++ b/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c @@ -73,7 +73,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RESET), MP_ROM_PTR(&pin_GPIO0) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO4) }, { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO1) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_GPIO26) }, diff --git a/ports/raspberrypi/boards/pajenicko_picopad/pins.c b/ports/raspberrypi/boards/pajenicko_picopad/pins.c index 4bd6d1411c70e..f409fb066a88f 100644 --- a/ports/raspberrypi/boards/pajenicko_picopad/pins.c +++ b/ports/raspberrypi/boards/pajenicko_picopad/pins.c @@ -114,7 +114,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { {MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_CYW1)}, {MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_CYW0)}, {MP_ROM_QSTR(MP_QSTR_VBUS_SENSE), MP_ROM_PTR(&pin_CYW2)}, - {MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/pimoroni_badger2040/pins.c b/ports/raspberrypi/boards/pimoroni_badger2040/pins.c index 081cda8669100..bca9e34dc9b68 100644 --- a/ports/raspberrypi/boards/pimoroni_badger2040/pins.c +++ b/ports/raspberrypi/boards/pimoroni_badger2040/pins.c @@ -50,7 +50,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c b/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c index 5b35a48a28585..fead43b9ecb23 100644 --- a/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c +++ b/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c @@ -68,7 +68,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, // GP10 }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c b/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c index 8ff1cad58bfa7..d8105279cc6cb 100644 --- a/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c +++ b/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c @@ -90,7 +90,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, // GP2 { MP_ROM_QSTR(MP_QSTR_KEYCODES), MP_ROM_PTR(&board_keycodes_obj)}, }; diff --git a/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c b/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c index f615be4d413c7..ad47c79ac909c 100644 --- a/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c +++ b/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c @@ -92,7 +92,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, // GP2 { MP_ROM_QSTR(MP_QSTR_KEYCODES), MP_ROM_PTR(&board_keycodes_obj)}, }; diff --git a/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c b/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c index 7fde8f33e8747..bc24d7d3b3b45 100644 --- a/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c +++ b/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c @@ -91,7 +91,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_D2P), MP_ROM_PTR(&pin_GPIO13) }, { MP_ROM_QSTR(MP_QSTR_DV_HPD), MP_ROM_PTR(&pin_GPIO17) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].framebuffer_display)}, }; diff --git a/ports/raspberrypi/boards/pimoroni_picosystem/pins.c b/ports/raspberrypi/boards/pimoroni_picosystem/pins.c index 2d00646c607b4..6f4c0ea0fe8d7 100644 --- a/ports/raspberrypi/boards/pimoroni_picosystem/pins.c +++ b/ports/raspberrypi/boards/pimoroni_picosystem/pins.c @@ -49,7 +49,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/ugame22/pins.c b/ports/raspberrypi/boards/ugame22/pins.c index 3ca97e921a928..5d13ebd2e2726 100644 --- a/ports/raspberrypi/boards/ugame22/pins.c +++ b/ports/raspberrypi/boards/ugame22/pins.c @@ -33,6 +33,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c b/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c index 8fa4f56051e40..077ed7828adf9 100644 --- a/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c @@ -72,7 +72,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO25) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c b/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c index bd3a831034501..88cb2df952424 100644 --- a/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c @@ -53,7 +53,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DIN), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BL), MP_ROM_PTR(&pin_GPIO25) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Power pins { MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_GPIO23) }, diff --git a/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c b/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c index 8fa4f56051e40..077ed7828adf9 100644 --- a/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c @@ -72,7 +72,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO25) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c b/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c index bd3a831034501..88cb2df952424 100644 --- a/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c @@ -53,7 +53,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DIN), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BL), MP_ROM_PTR(&pin_GPIO25) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Power pins { MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_GPIO23) }, diff --git a/ports/stm/boards/meowbit_v121/pins.c b/ports/stm/boards/meowbit_v121/pins.c index 8460215c0906a..27f489e619c91 100644 --- a/ports/stm/boards/meowbit_v121/pins.c +++ b/ports/stm/boards/meowbit_v121/pins.c @@ -73,7 +73,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_P0), MP_ROM_PTR(&pin_PA00) }, { MP_ROM_QSTR(MP_QSTR_P3), MP_ROM_PTR(&pin_PB00) }, - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, { MP_ROM_QSTR(MP_QSTR_INTERNAL_SPI), MP_ROM_PTR(&supervisor_flash_spi_bus) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index 7e28f9f1697c6..a5cff1628069e 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -615,6 +615,10 @@ void background_callback_run_all(void); #define CIRCUITPY_MIN_GCC_VERSION 13 #endif +#ifndef MICROPY_MODULE_ATTR_DELEGATION +#define MICROPY_MODULE_ATTR_DELEGATION (CIRCUITPY_DISPLAYIO) +#endif + #if defined(__GNUC__) #if __GNUC__ < CIRCUITPY_MIN_GCC_VERSION // (the 3 level scheme here is required to get expansion & stringization diff --git a/shared-bindings/board/__init__.c b/shared-bindings/board/__init__.c index 1a2721a91c4f5..57e0f1a14fcfc 100644 --- a/shared-bindings/board/__init__.c +++ b/shared-bindings/board/__init__.c @@ -94,6 +94,30 @@ static mp_obj_t board_uart_0(void) { #endif MP_DEFINE_CONST_FUN_OBJ_0(board_uart_obj, board_uart_0); +//| DISPLAY: object | None +//| """Returns the board's first display, if configured, or None otherwise +//| +//| The display can be of any supported display type, such as `busdisplay.BusDisplay`.""" + +// Note: If DISPLAYIO is enabled, this module delegation returns the first +// display, if configured; else, it returns None. If DISPLAYIO is not enabled, +// CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS includes a table entry for DISPLAY that +// is None. In either case, the board pins file doesn't need to do anything with DISPLAY. +#if CIRCUITPY_DISPLAYIO +void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) { + if (attr == MP_QSTR_DISPLAY && dest[0] == MP_OBJ_NULL) { + mp_obj_base_t *first_display = &displays[0].display_base; + if (first_display->type != &mp_type_NoneType && first_display->type != NULL) { + dest[0] = MP_OBJ_FROM_PTR(first_display); + } else { + dest[0] = mp_const_none; + } + } +} + +MP_REGISTER_MODULE_DELEGATION(board_module, mp_module_board_attr); +#endif + const mp_obj_module_t board_module = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t *)&board_module_globals, diff --git a/shared-bindings/board/__init__.h b/shared-bindings/board/__init__.h index 7c9a59d2dbd0d..209b58da5e7ad 100644 --- a/shared-bindings/board/__init__.h +++ b/shared-bindings/board/__init__.h @@ -38,6 +38,15 @@ MP_DECLARE_CONST_FUN_OBJ_0(board_uart_obj); } \ MP_DEFINE_CONST_FUN_OBJ_0(board_##name##_obj, board_##name); +#if CIRCUITPYTHON_DISPLAYIO +#define CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS \ + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_NONE }, +#else +#define CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS \ + /* expands to nothing, the DISPLAY property is handled by mp_module_board_attr */ +#endif + #define CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS \ { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_board) }, \ - { MP_ROM_QSTR(MP_QSTR_board_id), MP_ROM_PTR(&board_module_id_obj) }, + { MP_ROM_QSTR(MP_QSTR_board_id), MP_ROM_PTR(&board_module_id_obj) }, \ + CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS From 890c7f29b860e8af9db14d4e5aec4a13c8ccd08b Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 16:06:10 -0600 Subject: [PATCH 03/19] Move MaTouch link to the right spot --- docs/environment.rst | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/environment.rst b/docs/environment.rst index 7ee914e0a16ec..0bcb11153d861 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -101,15 +101,14 @@ Wi-Fi SSID to auto-connect to even if user code is not running. Additional board specific keys ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -`MaTouch ESP32-S3 Parallel TFT with Touch 7“ `_ - -CIRCUITPY_DISPLAY_WIDTH -~~~~~~~~~~~~~~~~~~~~~~~ +CIRCUITPY_DISPLAY_WIDTH (Sunton, MaTouch) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Selects the correct screen resolution (1024x600 or 800x640) for the particular board variant. -If the CIRCUITPY_DISPLAY_WIDTH parameter is set to a value of 1024 the display is initialized +If the CIRCUITPY_DISPLAY_HEIGHT parameter is set to a value of 1024 the display is initialized during power up at 1024x600 otherwise the display will be initialized at a resolution of 800x480. +`MaTouch ESP32-S3 Parallel TFT with Touch 7“ `_ `Sunton ESP32-2432S028 `_ `Sunton ESP32-2432S024C `_ From 9cbfc4153ebaaa0782bac39eeaf1c76b4e8fdafd Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 16:06:37 -0600 Subject: [PATCH 04/19] Document RP2350 DVI display configuration --- docs/environment.rst | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/environment.rst b/docs/environment.rst index 0bcb11153d861..a38868361bf94 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -129,3 +129,32 @@ If a valid frequency is not defined the board will initialize the framebuffer wi frequency of 12500000hz (12.5Mhz). The value should be entered as an integer in hertz i.e. CIRCUITPY_DISPLAY_FREQUENCY=16000000 will override the default value with a 16Mhz display frequency. + +`Sunton ESP32-8048S050 `_ + +CIRCUITPY_DISPLAY_WIDTH, _HEIGHT, and _COLOR_DEPTH (RP2350 boards with DVI or HSTX connector) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Selects the desired resolution and color depth. + +Supported resolutions are: + * 640x480 with color depth 1, 2, 4 or 8 bits per pixel + * 320x240 with color depth 8 or 16 bits per pixel + +The default value, if unspecified, is 320x240 with 16 bits per pixel. + +setting ``CIRCUITPY_DISPLAY_WIDTH = 0`` disables automatic display configuration. In this case, the other +values are not used. + +If an EDID EEPROM is not detected on the I2C bus, automatic display +configuration is not performed. + +Example: Configure the display to 640x480 black and white (1bpp): + +.. code-block:: + + CIRCUITPY_DISPLAY_WIDTH=640 + CIRCUITPY_DISPLAY_WIDTH=480 + CIRCUITPY_DISPLAY_COLOR_DEPTH=1 + +`Adafruit Feather RP2350 `_ +`Adafruit Metro RP2350 `_ From 7e373ad13e764767467ab3bc95e2e3e219e40d46 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 16:07:28 -0600 Subject: [PATCH 05/19] Add preflight function for picodvi display There's only an implementation for RP2350 right now, as it's not used/needed on RP2040. --- ports/raspberrypi/bindings/picodvi/Framebuffer.h | 3 +++ .../common-hal/picodvi/Framebuffer_RP2350.c | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/ports/raspberrypi/bindings/picodvi/Framebuffer.h b/ports/raspberrypi/bindings/picodvi/Framebuffer.h index 7cb335e91e767..280c3c9b8bf92 100644 --- a/ports/raspberrypi/bindings/picodvi/Framebuffer.h +++ b/ports/raspberrypi/bindings/picodvi/Framebuffer.h @@ -12,6 +12,9 @@ extern const mp_obj_type_t picodvi_framebuffer_type; +bool common_hal_picodvi_framebuffer_preflight( + mp_uint_t width, mp_uint_t height, + mp_uint_t color_depth); void common_hal_picodvi_framebuffer_construct(picodvi_framebuffer_obj_t *self, mp_uint_t width, mp_uint_t height, const mcu_pin_obj_t *clk_dp, const mcu_pin_obj_t *clk_dn, diff --git a/ports/raspberrypi/common-hal/picodvi/Framebuffer_RP2350.c b/ports/raspberrypi/common-hal/picodvi/Framebuffer_RP2350.c index c3d2b7bea2f17..d5845b1182202 100644 --- a/ports/raspberrypi/common-hal/picodvi/Framebuffer_RP2350.c +++ b/ports/raspberrypi/common-hal/picodvi/Framebuffer_RP2350.c @@ -129,6 +129,20 @@ static void __not_in_flash_func(dma_irq_handler)(void) { ch->al3_read_addr_trig = (uintptr_t)active_picodvi->dma_commands; } +bool common_hal_picodvi_framebuffer_preflight( + mp_uint_t width, mp_uint_t height, + mp_uint_t color_depth) { + + // for each supported resolution, check the color depth is supported + if (width == 640 && height == 640) { + return color_depth == 1 || color_depth == 2 || color_depth == 4 || color_depth == 8; + } + if (width == 320 && height == 240) { + return color_depth == 8 || color_depth == 16; + } + return false; +} + void common_hal_picodvi_framebuffer_construct(picodvi_framebuffer_obj_t *self, mp_uint_t width, mp_uint_t height, const mcu_pin_obj_t *clk_dp, const mcu_pin_obj_t *clk_dn, @@ -140,7 +154,7 @@ void common_hal_picodvi_framebuffer_construct(picodvi_framebuffer_obj_t *self, mp_raise_msg_varg(&mp_type_RuntimeError, MP_ERROR_TEXT("%q in use"), MP_QSTR_picodvi); } - if (!(width == 640 && height == 480) && !(width == 320 && height == 240 && (color_depth == 16 || color_depth == 8))) { + if (!common_hal_picodvi_framebuffer_preflight(width, height, color_depth)) { mp_raise_ValueError_varg(MP_ERROR_TEXT("Invalid %q and %q"), MP_QSTR_width, MP_QSTR_height); } From 86750975e908bfd212d2c48d328136f15b62f93d Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 16:07:52 -0600 Subject: [PATCH 06/19] picodvi_autoconstruct: preflight settings, use width=0 to disable --- .../raspberrypi/common-hal/picodvi/__init__.c | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/ports/raspberrypi/common-hal/picodvi/__init__.c b/ports/raspberrypi/common-hal/picodvi/__init__.c index 1e38616968c29..ccb047ff4506b 100644 --- a/ports/raspberrypi/common-hal/picodvi/__init__.c +++ b/ports/raspberrypi/common-hal/picodvi/__init__.c @@ -35,17 +35,27 @@ void picodvi_autoconstruct(void) { return; } + mp_int_t width = 320; mp_int_t height = 240; mp_int_t color_depth = 16; - // TODO: User configuration can cause safe mode errors without a self-explanatory message. - common_hal_os_getenv_int("CIRCUITPY_DISPLAY_WIDTH", &width); - common_hal_os_getenv_int("CIRCUITPY_DISPLAY_HEIGHT", &height); - common_hal_os_getenv_int("CIRCUITPY_DISPLAY_COLOR_DEPTH", &color_depth); + (void)common_hal_os_getenv_int("CIRCUITPY_DISPLAY_WIDTH", &width); + (void)common_hal_os_getenv_int("CIRCUITPY_DISPLAY_HEIGHT", &height); + (void)common_hal_os_getenv_int("CIRCUITPY_DISPLAY_COLOR_DEPTH", &color_depth); - // construct framebuffer and display + if (width == 0) { + return; + } + if (!common_hal_picodvi_framebuffer_preflight(width, height, color_depth)) { + // TODO: User configuration can fail without a self-explanatory message. + // sadly, a print from here does NOT reach boot_out.txt, so no point in + // spending code size to print a message. Setting aside a safe mode + // message just for this purpose? maybe? + return; + } + // construct framebuffer and display picodvi_framebuffer_obj_t *fb = &allocate_display_bus_or_raise()->picodvi; fb->base.type = &picodvi_framebuffer_type; common_hal_picodvi_framebuffer_construct(fb, From 22f25c50739a8cfa755e361a0ad0461ccbd1606e Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 16:08:01 -0600 Subject: [PATCH 07/19] board: fix build errors --- shared-bindings/board/__init__.c | 4 ++++ shared-bindings/board/__init__.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/shared-bindings/board/__init__.c b/shared-bindings/board/__init__.c index 57e0f1a14fcfc..e5aab22d31a12 100644 --- a/shared-bindings/board/__init__.c +++ b/shared-bindings/board/__init__.c @@ -17,6 +17,9 @@ #if CIRCUITPY_BOARD_UART #include "shared-bindings/busio/UART.h" #endif +#if CIRCUITPY_DISPLAYIO +#include "shared-module/displayio/__init__.h" +#endif //| """Board specific pin names //| @@ -104,6 +107,7 @@ MP_DEFINE_CONST_FUN_OBJ_0(board_uart_obj, board_uart_0); // CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS includes a table entry for DISPLAY that // is None. In either case, the board pins file doesn't need to do anything with DISPLAY. #if CIRCUITPY_DISPLAYIO +extern void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest); void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) { if (attr == MP_QSTR_DISPLAY && dest[0] == MP_OBJ_NULL) { mp_obj_base_t *first_display = &displays[0].display_base; diff --git a/shared-bindings/board/__init__.h b/shared-bindings/board/__init__.h index 209b58da5e7ad..9c6ba2017fa61 100644 --- a/shared-bindings/board/__init__.h +++ b/shared-bindings/board/__init__.h @@ -38,7 +38,7 @@ MP_DECLARE_CONST_FUN_OBJ_0(board_uart_obj); } \ MP_DEFINE_CONST_FUN_OBJ_0(board_##name##_obj, board_##name); -#if CIRCUITPYTHON_DISPLAYIO +#if CIRCUITPY_DISPLAYIO #define CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS \ { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_NONE }, #else From 551b9819d5b7c8b8e969369d45b71ba8dd888f3e Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 16:08:20 -0600 Subject: [PATCH 08/19] metro rp2350: configure display pins & autoconstruct --- ports/raspberrypi/boards/adafruit_metro_rp2350/board.c | 6 ++++++ .../boards/adafruit_metro_rp2350/mpconfigboard.h | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/ports/raspberrypi/boards/adafruit_metro_rp2350/board.c b/ports/raspberrypi/boards/adafruit_metro_rp2350/board.c index e6a868ab21226..4626db156e496 100644 --- a/ports/raspberrypi/boards/adafruit_metro_rp2350/board.c +++ b/ports/raspberrypi/boards/adafruit_metro_rp2350/board.c @@ -6,4 +6,10 @@ #include "supervisor/board.h" +#include "common-hal/picodvi/__init__.h" + // Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here. + +void board_init(void) { + picodvi_autoconstruct(); +} diff --git a/ports/raspberrypi/boards/adafruit_metro_rp2350/mpconfigboard.h b/ports/raspberrypi/boards/adafruit_metro_rp2350/mpconfigboard.h index d1b7056867900..49577445521e2 100644 --- a/ports/raspberrypi/boards/adafruit_metro_rp2350/mpconfigboard.h +++ b/ports/raspberrypi/boards/adafruit_metro_rp2350/mpconfigboard.h @@ -23,3 +23,12 @@ // #define CIRCUITPY_CONSOLE_UART_TX DEFAULT_UART_BUS_TX #define CIRCUITPY_PSRAM_CHIP_SELECT (&pin_GPIO47) + +#define DEFAULT_DVI_BUS_CLK_DN (&pin_GPIO15) +#define DEFAULT_DVI_BUS_CLK_DP (&pin_GPIO14) +#define DEFAULT_DVI_BUS_RED_DN (&pin_GPIO19) +#define DEFAULT_DVI_BUS_RED_DP (&pin_GPIO18) +#define DEFAULT_DVI_BUS_GREEN_DN (&pin_GPIO17) +#define DEFAULT_DVI_BUS_GREEN_DP (&pin_GPIO16) +#define DEFAULT_DVI_BUS_BLUE_DN (&pin_GPIO13) +#define DEFAULT_DVI_BUS_BLUE_DP (&pin_GPIO12) From 8be1681493f830e378231e01df2fbd0807148597 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 16:08:29 -0600 Subject: [PATCH 09/19] remove this, it got moved to common code --- .../boards/adafruit_feather_rp2350/board.c | 15 --------------- .../adafruit_feather_rp2350/mpconfigboard.h | 3 --- 2 files changed, 18 deletions(-) diff --git a/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c b/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c index 8c355a823c9df..fddd2572c1fcd 100644 --- a/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c +++ b/ports/raspberrypi/boards/adafruit_feather_rp2350/board.c @@ -7,25 +7,10 @@ #include "py/obj.h" #include "supervisor/board.h" -#include "shared-module/displayio/__init__.h" #include "common-hal/picodvi/__init__.h" // Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here. - -extern void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest); - -void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) { - if (attr == MP_QSTR_DISPLAY && dest[0] == MP_OBJ_NULL) { - mp_obj_base_t *first_display = &displays[0].display_base; - if (first_display->type != &mp_type_NoneType && first_display->type != NULL) { - dest[0] = MP_OBJ_FROM_PTR(first_display); - } - } -} - -MP_REGISTER_MODULE_DELEGATION(board_module, mp_module_board_attr); - void board_init(void) { picodvi_autoconstruct(); } diff --git a/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h b/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h index 1e11119c43939..d0c114a97e4ef 100644 --- a/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h +++ b/ports/raspberrypi/boards/adafruit_feather_rp2350/mpconfigboard.h @@ -29,6 +29,3 @@ #define DEFAULT_DVI_BUS_GREEN_DP (&pin_GPIO16) #define DEFAULT_DVI_BUS_BLUE_DN (&pin_GPIO13) #define DEFAULT_DVI_BUS_BLUE_DP (&pin_GPIO12) - -// delegate board.DISPLAY attribute -#define MICROPY_MODULE_ATTR_DELEGATION (1) From 61ea718171e53dcc108fef33ea14e7427415285c Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 21:46:28 -0600 Subject: [PATCH 10/19] eliminate a bit more code if the DVI/hstx pins aren't defined --- ports/raspberrypi/common-hal/picodvi/__init__.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/raspberrypi/common-hal/picodvi/__init__.c b/ports/raspberrypi/common-hal/picodvi/__init__.c index ccb047ff4506b..22bce42c5c3b4 100644 --- a/ports/raspberrypi/common-hal/picodvi/__init__.c +++ b/ports/raspberrypi/common-hal/picodvi/__init__.c @@ -17,10 +17,10 @@ #include "supervisor/port_heap.h" void picodvi_autoconstruct(void) { + #if defined(DEFAULT_DVI_BUS_CLK_DP) if (get_safe_mode() != SAFE_MODE_NONE) { return; } - #if defined(DEFAULT_DVI_BUS_CLK_DP) // check if address 0x50 is live on the I2C bus -- return if not busio_i2c_obj_t *i2c = common_hal_board_create_i2c(0); if (!i2c) { From 3a84599cceab5a8de04fd63b160cc065866abbdd Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 11 Feb 2025 21:46:41 -0600 Subject: [PATCH 11/19] fix the DISPLAYIO_ITEMS they were backwards --- shared-bindings/board/__init__.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared-bindings/board/__init__.h b/shared-bindings/board/__init__.h index 9c6ba2017fa61..ca20462d261d2 100644 --- a/shared-bindings/board/__init__.h +++ b/shared-bindings/board/__init__.h @@ -40,10 +40,10 @@ MP_DECLARE_CONST_FUN_OBJ_0(board_uart_obj); #if CIRCUITPY_DISPLAYIO #define CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS \ - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_NONE }, + /* expands to nothing, the DISPLAY property is handled by mp_module_board_attr */ #else #define CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS \ - /* expands to nothing, the DISPLAY property is handled by mp_module_board_attr */ + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_NONE }, #endif #define CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS \ From e820416f4b8124b4b88a2605f2ecdb9f264a9241 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 12 Feb 2025 09:49:55 -0600 Subject: [PATCH 12/19] Add an environment variable to disable or force picodvi and auto-set height and support rotation similar to how it's done on some of those dot clock display espressif boards --- docs/environment.rst | 26 +++++--- .../raspberrypi/common-hal/picodvi/__init__.c | 63 +++++++++++++++---- 2 files changed, 70 insertions(+), 19 deletions(-) diff --git a/docs/environment.rst b/docs/environment.rst index a38868361bf94..6ed4ca0c582cf 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -121,6 +121,8 @@ a rotation of 0. Attempting to initialize the screen with a rotation other than 90, 180 or 270 is not supported and will result in an unexpected screen rotation. `Sunton ESP32-8048S050 `_ +`Adafruit Feather RP2350 `_ +`Adafruit Metro RP2350 `_ CIRCUITPY_DISPLAY_FREQUENCY ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -132,6 +134,20 @@ display frequency. `Sunton ESP32-8048S050 `_ + +CIRCUITPY_PICODVI_ENABLE +~~~~~~~~~~~~~~~~~~~~~~~~ +Whether to configure the display at board initialization time, one of the following: + +.. code-block:: + + CIRCUITPY_PICODVI_ENABLE="detect" # when EDID EEPROM is detected (default) + CIRCUITPY_PICODVI_ENABLE="always" + CIRCUITPY_PICODVI_ENABLE="never" + +`Adafruit Feather RP2350 `_ +`Adafruit Metro RP2350 `_ + CIRCUITPY_DISPLAY_WIDTH, _HEIGHT, and _COLOR_DEPTH (RP2350 boards with DVI or HSTX connector) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Selects the desired resolution and color depth. @@ -142,18 +158,14 @@ Supported resolutions are: The default value, if unspecified, is 320x240 with 16 bits per pixel. -setting ``CIRCUITPY_DISPLAY_WIDTH = 0`` disables automatic display configuration. In this case, the other -values are not used. - -If an EDID EEPROM is not detected on the I2C bus, automatic display -configuration is not performed. +If height is unspecified, it is set from the width. For example, a width of 640 +implies a height of 480. -Example: Configure the display to 640x480 black and white (1bpp): +Example: Configure the display to 640x480 black and white (1 bit per pixel): .. code-block:: CIRCUITPY_DISPLAY_WIDTH=640 - CIRCUITPY_DISPLAY_WIDTH=480 CIRCUITPY_DISPLAY_COLOR_DEPTH=1 `Adafruit Feather RP2350 `_ diff --git a/ports/raspberrypi/common-hal/picodvi/__init__.c b/ports/raspberrypi/common-hal/picodvi/__init__.c index 22bce42c5c3b4..6328db00dd912 100644 --- a/ports/raspberrypi/common-hal/picodvi/__init__.c +++ b/ports/raspberrypi/common-hal/picodvi/__init__.c @@ -16,37 +16,73 @@ #include "py/runtime.h" #include "supervisor/port_heap.h" -void picodvi_autoconstruct(void) { - #if defined(DEFAULT_DVI_BUS_CLK_DP) - if (get_safe_mode() != SAFE_MODE_NONE) { - return; +#if defined(DEFAULT_DVI_BUS_CLK_DP) +static bool picodvi_autoconstruct_enabled(void) { + char buf[sizeof("detect")]; + buf[0] = 0; + + // (any failure leaves the content of buf untouched: an empty nul-terminated string + (void)common_hal_os_getenv_str("CIRCUITPY_PICODVI_ENABLE", buf, sizeof(buf)); + + if (!strcasecmp(buf, "never")) { + return false; + } + if (!strcasecmp(buf, "always")) { + return true; } - // check if address 0x50 is live on the I2C bus -- return if not + + // It's "detect" or else an invalid value which is treated the same as "detect". + + // check if address 0x50 is live on the I2C bus busio_i2c_obj_t *i2c = common_hal_board_create_i2c(0); if (!i2c) { - return; + return false; } if (!common_hal_busio_i2c_try_lock(i2c)) { - return; + return false; } bool probed = common_hal_busio_i2c_probe(i2c, 0x50); common_hal_busio_i2c_unlock(i2c); - if (!probed) { + return probed; +} + +// For picodvi_autoconstruct to work, the 8 DVI/HSTX pin names must be defined, AND +// i2c bus 0 must also be connected to DVI with on-board pull ups +void picodvi_autoconstruct(void) { + if (get_safe_mode() != SAFE_MODE_NONE) { return; } + if (!picodvi_autoconstruct_enabled()) { + return; + } mp_int_t width = 320; - mp_int_t height = 240; + mp_int_t height = 0; mp_int_t color_depth = 16; + mp_int_t rotation = 0; (void)common_hal_os_getenv_int("CIRCUITPY_DISPLAY_WIDTH", &width); (void)common_hal_os_getenv_int("CIRCUITPY_DISPLAY_HEIGHT", &height); (void)common_hal_os_getenv_int("CIRCUITPY_DISPLAY_COLOR_DEPTH", &color_depth); + (void)common_hal_os_getenv_int("CIRCUITPY_DISPLAY_ROTATION", &rotation); - if (width == 0) { + if (height == 0) { + switch (width) { + case 640: + height = 480; + break; + case 320: + height = 240; + break; + } + } + + if (rotation != 0 && rotation != 90 && rotation != 180 && rotation != 270) { + // invalid rotation return; } + if (!common_hal_picodvi_framebuffer_preflight(width, height, color_depth)) { // TODO: User configuration can fail without a self-explanatory message. // sadly, a print from here does NOT reach boot_out.txt, so no point in @@ -75,7 +111,10 @@ void picodvi_autoconstruct(void) { common_hal_framebufferio_framebufferdisplay_construct( display, MP_OBJ_FROM_PTR(fb), - 0, + rotation, true); - #endif } +#else +void picodvi_autoconstruct(void) { +} +#endif From 201bc69da4185ab8c5fdde8595f93da2a34e0e57 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 12 Feb 2025 14:54:21 -0600 Subject: [PATCH 13/19] Remove a comment that refers to previously deleted code --- ports/espressif/boards/m5stack_m5paper/pins.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/ports/espressif/boards/m5stack_m5paper/pins.c b/ports/espressif/boards/m5stack_m5paper/pins.c index 02c738cd492a7..819e4488455f2 100644 --- a/ports/espressif/boards/m5stack_m5paper/pins.c +++ b/ports/espressif/boards/m5stack_m5paper/pins.c @@ -78,7 +78,5 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, - - // TODO: Uncomment once the display initialization code is added. }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); From f0e31307be84308fc38d303b1c1cd5ef0eaa97af Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 12 Feb 2025 14:54:37 -0600 Subject: [PATCH 14/19] picodvi: Fall back to the default mode if preflight fails --- ports/raspberrypi/common-hal/picodvi/__init__.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/ports/raspberrypi/common-hal/picodvi/__init__.c b/ports/raspberrypi/common-hal/picodvi/__init__.c index 6328db00dd912..bf448dd16688d 100644 --- a/ports/raspberrypi/common-hal/picodvi/__init__.c +++ b/ports/raspberrypi/common-hal/picodvi/__init__.c @@ -80,15 +80,14 @@ void picodvi_autoconstruct(void) { if (rotation != 0 && rotation != 90 && rotation != 180 && rotation != 270) { // invalid rotation - return; + rotation = 0; } if (!common_hal_picodvi_framebuffer_preflight(width, height, color_depth)) { - // TODO: User configuration can fail without a self-explanatory message. - // sadly, a print from here does NOT reach boot_out.txt, so no point in - // spending code size to print a message. Setting aside a safe mode - // message just for this purpose? maybe? - return; + // invalid configuration, set back to default + width = 320; + height = 240; + color_depth = 16; } // construct framebuffer and display From 0846aa467180e551d3cf07e83c2b814918f6c2cc Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 12 Feb 2025 14:55:02 -0600 Subject: [PATCH 15/19] circuitpy_mpconfig: fix build config .. some boards need MODULE_ATTR_DELEGATION for other reasons than displayio. --- py/circuitpy_mpconfig.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index a0cefed095363..2533792989278 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -616,7 +616,7 @@ void background_callback_run_all(void); #endif #ifndef MICROPY_MODULE_ATTR_DELEGATION -#define MICROPY_MODULE_ATTR_DELEGATION (CIRCUITPY_DISPLAYIO) +#define MICROPY_MODULE_ATTR_DELEGATION (CIRCUITPY_DISPLAYIO || MICROPY_PY_SYS_ATTR_DELEGATION || MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES) #endif #if defined(__GNUC__) && !defined(__ZEPHYR__) From 025f4fd1284e6e20b83a993f5b46f46caf270eeb Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Wed, 12 Feb 2025 14:58:12 -0600 Subject: [PATCH 16/19] fix WIDTH unintentionally changed to HEIGHT --- docs/environment.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/environment.rst b/docs/environment.rst index 6ed4ca0c582cf..c07c509ff284b 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -104,7 +104,7 @@ Additional board specific keys CIRCUITPY_DISPLAY_WIDTH (Sunton, MaTouch) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Selects the correct screen resolution (1024x600 or 800x640) for the particular board variant. -If the CIRCUITPY_DISPLAY_HEIGHT parameter is set to a value of 1024 the display is initialized +If the CIRCUITPY_DISPLAY_WIDTH parameter is set to a value of 1024 the display is initialized during power up at 1024x600 otherwise the display will be initialized at a resolution of 800x480. From 4aeddf294c20767c7a6d83cfd0da97ca7aa60615 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 13 Feb 2025 11:14:36 -0600 Subject: [PATCH 17/19] spell out environment variable names in full --- docs/environment.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/environment.rst b/docs/environment.rst index c07c509ff284b..56bd46d3c504d 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -148,8 +148,8 @@ Whether to configure the display at board initialization time, one of the follow `Adafruit Feather RP2350 `_ `Adafruit Metro RP2350 `_ -CIRCUITPY_DISPLAY_WIDTH, _HEIGHT, and _COLOR_DEPTH (RP2350 boards with DVI or HSTX connector) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CIRCUITPY_DISPLAY_WIDTH, CIRCUITPY_DISPLAY_HEIGHT, and CIRCUITPY_DISPLAY_COLOR_DEPTH (RP2350 boards with DVI or HSTX connector) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Selects the desired resolution and color depth. Supported resolutions are: From 86fe684efa23ac71f9eaf571d9e8eae338bddadf Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 13 Feb 2025 11:30:20 -0600 Subject: [PATCH 18/19] Move the new display accessor to supervisor.runtime.display instead of board.DISPLAY --- docs/environment.rst | 4 +++ .../boards/hallowing_m0_express/pins.c | 2 ++ .../boards/hallowing_m4_express/pins.c | 2 ++ ports/atmel-samd/boards/monster_m4sk/pins.c | 1 + ports/atmel-samd/boards/openbook_m4/pins.c | 2 ++ ports/atmel-samd/boards/pewpew_lcd/pins.c | 2 ++ ports/atmel-samd/boards/pewpew_m4/pins.c | 2 ++ ports/atmel-samd/boards/pybadge/pins.c | 2 ++ ports/atmel-samd/boards/pygamer/pins.c | 2 ++ ports/atmel-samd/boards/pyportal/pins.c | 2 ++ .../atmel-samd/boards/pyportal_titano/pins.c | 2 ++ .../boards/seeeduino_wio_terminal/pins.c | 2 ++ ports/atmel-samd/boards/ugame10/pins.c | 1 + .../boards/diodes_delight_piunora/pins.c | 1 + ports/broadcom/boards/raspberrypi_cm4/pins.c | 2 ++ .../broadcom/boards/raspberrypi_cm4io/pins.c | 1 + ports/broadcom/boards/raspberrypi_pi4b/pins.c | 1 + ports/broadcom/boards/raspberrypi_zero/pins.c | 1 + .../broadcom/boards/raspberrypi_zero2w/pins.c | 1 + .../broadcom/boards/raspberrypi_zero_w/pins.c | 1 + .../boards/01space_lcd042_esp32c3/pins.c | 2 ++ .../boards/adafruit_esp32s3_camera/pins.c | 1 + .../pins.c | 2 ++ .../adafruit_feather_esp32s2_tft/pins.c | 2 ++ .../pins.c | 2 ++ .../adafruit_feather_esp32s3_tft/pins.c | 2 ++ .../espressif/boards/adafruit_funhouse/pins.c | 1 + .../adafruit_magtag_2.9_grayscale/pins.c | 2 ++ .../boards/espressif_esp32s3_box/pins.c | 2 ++ .../boards/espressif_esp32s3_box_lite/pins.c | 2 ++ .../pins.c | 1 + .../boards/espressif_esp32s3_eye/pins.c | 2 ++ .../boards/espressif_esp32s3_lcd_ev/pins.c | 1 + .../espressif_esp32s3_lcd_ev_v1.5/pins.c | 1 + .../espressif_esp32s3_usb_otg_n8/pins.c | 1 + .../boards/hardkernel_odroid_go/pins.c | 1 + .../boards/heltec_esp32s3_wifi_lora_v3/pins.c | 1 + .../boards/heltec_wireless_paper/pins.c | 1 + ports/espressif/boards/hexky_s2/pins.c | 1 + ports/espressif/boards/hiibot_iots2/pins.c | 1 + ports/espressif/boards/lilygo_tdeck/pins.c | 1 + .../boards/lilygo_tdisplay_s3/pins.c | 1 + .../boards/lilygo_tdisplay_s3_pro/pins.c | 1 + .../boards/lilygo_tembed_esp32s3/pins.c | 1 + .../boards/lilygo_ttgo_t8_s2_st7789/pins.c | 1 + .../lilygo_ttgo_tdisplay_esp32_16m/pins.c | 1 + .../lilygo_ttgo_tdisplay_esp32_4m/pins.c | 1 + .../boards/lilygo_twatch_2020_v3/pins.c | 1 + .../espressif/boards/lilygo_twatch_s3/pins.c | 1 + ports/espressif/boards/lolin_s2_pico/pins.c | 1 + ports/espressif/boards/m5stack_atoms3/pins.c | 1 + .../espressif/boards/m5stack_cardputer/pins.c | 1 + ports/espressif/boards/m5stack_core2/pins.c | 1 + .../boards/m5stack_core_basic/pins.c | 1 + .../espressif/boards/m5stack_core_fire/pins.c | 1 + ports/espressif/boards/m5stack_cores3/pins.c | 1 + ports/espressif/boards/m5stack_dial/pins.c | 1 + ports/espressif/boards/m5stack_m5paper/pins.c | 3 ++ ports/espressif/boards/m5stack_stick_c/pins.c | 1 + .../boards/m5stack_stick_c_plus/pins.c | 1 + .../boards/m5stack_stick_c_plus2/pins.c | 1 + ports/espressif/boards/makerfabs_tft7/pins.c | 1 + .../boards/morpheans_morphesp-240/pins.c | 1 + ports/espressif/boards/oxocard_artwork/pins.c | 1 + ports/espressif/boards/oxocard_connect/pins.c | 1 + ports/espressif/boards/oxocard_galaxy/pins.c | 1 + ports/espressif/boards/oxocard_science/pins.c | 1 + .../boards/spotpear_esp32c3_lcd_1_44/pins.c | 1 + ports/espressif/boards/sqfmi_watchy/pins.c | 1 + .../boards/sunton_esp32_2424S012/pins.c | 1 + .../boards/sunton_esp32_2432S024C/pins.c | 1 + .../boards/sunton_esp32_2432S028/pins.c | 1 + .../boards/sunton_esp32_2432S032C/pins.c | 1 + .../boards/sunton_esp32_8048S050/pins.c | 1 + .../boards/sunton_esp32_8048S070/pins.c | 1 + ports/espressif/boards/vidi_x/pins.c | 1 + .../boards/waveshare_esp32_c6_lcd_1_47/pins.c | 1 + .../boards/waveshare_esp32_s2_pico_lcd/pins.c | 1 + .../boards/waveshare_esp32_s3_geek/pins.c | 1 + .../boards/waveshare_esp32_s3_lcd_1_28/pins.c | 1 + .../boards/clue_nrf52840_express/pins.c | 1 + ports/nordic/boards/espruino_banglejs2/pins.c | 1 + ports/nordic/boards/hiibot_bluefi/pins.c | 1 + .../makerdiary_nrf52840_m2_devkit/pins.c | 1 + ports/nordic/boards/ohs2020_badge/pins.c | 1 + .../boards/adafruit_feather_rp2040_dvi/pins.c | 1 + .../boards/adafruit_floppsy_rp2040/pins.c | 1 + .../boards/adafruit_macropad_rp2040/pins.c | 1 + .../bradanlanestudio_explorer_rp2040/pins.c | 1 + .../raspberrypi/boards/hack_club_sprig/pins.c | 1 + .../boards/heiafr_picomo_v2/pins.c | 1 + .../boards/heiafr_picomo_v3/pins.c | 1 + .../boards/lilygo_t_display_rp2040/pins.c | 1 + .../boards/pajenicko_picopad/pins.c | 1 + .../boards/pimoroni_badger2040/pins.c | 1 + .../boards/pimoroni_badger2040w/pins.c | 1 + .../boards/pimoroni_inky_frame_5_7/pins.c | 1 + .../boards/pimoroni_inky_frame_7_3/pins.c | 1 + .../boards/pimoroni_pico_dv_base/pins.c | 1 + .../boards/pimoroni_picosystem/pins.c | 1 + ports/raspberrypi/boards/ugame22/pins.c | 1 + .../boards/waveshare_rp2040_geek/pins.c | 1 + .../boards/waveshare_rp2040_lcd_0_96/pins.c | 1 + .../boards/waveshare_rp2350_geek/pins.c | 1 + .../boards/waveshare_rp2350_lcd_0_96/pins.c | 1 + ports/stm/boards/meowbit_v121/pins.c | 1 + py/circuitpy_mpconfig.h | 4 --- shared-bindings/board/__init__.c | 28 ---------------- shared-bindings/board/__init__.h | 11 +------ shared-bindings/displayio/__init__.h | 1 + shared-bindings/supervisor/Runtime.c | 33 ++++++++++++++++++- shared-module/displayio/__init__.c | 9 +++++ 112 files changed, 174 insertions(+), 43 deletions(-) diff --git a/docs/environment.rst b/docs/environment.rst index 56bd46d3c504d..461fd9273acd8 100644 --- a/docs/environment.rst +++ b/docs/environment.rst @@ -145,6 +145,10 @@ Whether to configure the display at board initialization time, one of the follow CIRCUITPY_PICODVI_ENABLE="always" CIRCUITPY_PICODVI_ENABLE="never" +A display configured in this manner is available at ``supervisor.runtime.display`` +until it is released by ``displayio.release_displays()``. It does not appear at +``board.DISPLAY``. + `Adafruit Feather RP2350 `_ `Adafruit Metro RP2350 `_ diff --git a/ports/atmel-samd/boards/hallowing_m0_express/pins.c b/ports/atmel-samd/boards/hallowing_m0_express/pins.c index 6029ca9267dc0..276ae938f3ac1 100644 --- a/ports/atmel-samd/boards/hallowing_m0_express/pins.c +++ b/ports/atmel-samd/boards/hallowing_m0_express/pins.c @@ -72,5 +72,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/hallowing_m4_express/pins.c b/ports/atmel-samd/boards/hallowing_m4_express/pins.c index caae3497cb227..3db56be90db82 100644 --- a/ports/atmel-samd/boards/hallowing_m4_express/pins.c +++ b/ports/atmel-samd/boards/hallowing_m4_express/pins.c @@ -76,5 +76,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/monster_m4sk/pins.c b/ports/atmel-samd/boards/monster_m4sk/pins.c index ba8c47a338aa0..a96732a559669 100644 --- a/ports/atmel-samd/boards/monster_m4sk/pins.c +++ b/ports/atmel-samd/boards/monster_m4sk/pins.c @@ -56,6 +56,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, { MP_ROM_QSTR(MP_QSTR_RIGHT_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/openbook_m4/pins.c b/ports/atmel-samd/boards/openbook_m4/pins.c index 53de8148f06c0..250773c6c33d6 100644 --- a/ports/atmel-samd/boards/openbook_m4/pins.c +++ b/ports/atmel-samd/boards/openbook_m4/pins.c @@ -80,5 +80,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pewpew_lcd/pins.c b/ports/atmel-samd/boards/pewpew_lcd/pins.c index 2843d8c18fb4f..4ad72a1ebb68c 100644 --- a/ports/atmel-samd/boards/pewpew_lcd/pins.c +++ b/ports/atmel-samd/boards/pewpew_lcd/pins.c @@ -28,5 +28,7 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_P5), MP_ROM_PTR(&pin_PA02) }, { MP_ROM_QSTR(MP_QSTR_P6), MP_ROM_PTR(&pin_PA03) }, { MP_ROM_QSTR(MP_QSTR_P7), MP_ROM_PTR(&pin_PA04) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/atmel-samd/boards/pewpew_m4/pins.c b/ports/atmel-samd/boards/pewpew_m4/pins.c index 1429b566c1f2d..71a2d5e1f934b 100644 --- a/ports/atmel-samd/boards/pewpew_m4/pins.c +++ b/ports/atmel-samd/boards/pewpew_m4/pins.c @@ -47,5 +47,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pybadge/pins.c b/ports/atmel-samd/boards/pybadge/pins.c index 96f5cede8c5df..6c81b537c956e 100644 --- a/ports/atmel-samd/boards/pybadge/pins.c +++ b/ports/atmel-samd/boards/pybadge/pins.c @@ -75,5 +75,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pygamer/pins.c b/ports/atmel-samd/boards/pygamer/pins.c index 6ddc6f4dc2fa4..f2aed3d6527b0 100644 --- a/ports/atmel-samd/boards/pygamer/pins.c +++ b/ports/atmel-samd/boards/pygamer/pins.c @@ -80,5 +80,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pyportal/pins.c b/ports/atmel-samd/boards/pyportal/pins.c index d30cb653233a4..50cda39e85cb0 100644 --- a/ports/atmel-samd/boards/pyportal/pins.c +++ b/ports/atmel-samd/boards/pyportal/pins.c @@ -86,5 +86,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/pyportal_titano/pins.c b/ports/atmel-samd/boards/pyportal_titano/pins.c index d30cb653233a4..50cda39e85cb0 100644 --- a/ports/atmel-samd/boards/pyportal_titano/pins.c +++ b/ports/atmel-samd/boards/pyportal_titano/pins.c @@ -86,5 +86,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c b/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c index c374cae5e5c75..2f95232ce00cf 100644 --- a/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c +++ b/ports/atmel-samd/boards/seeeduino_wio_terminal/pins.c @@ -117,5 +117,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/atmel-samd/boards/ugame10/pins.c b/ports/atmel-samd/boards/ugame10/pins.c index f5fe0b323895c..612640abdf9a9 100644 --- a/ports/atmel-samd/boards/ugame10/pins.c +++ b/ports/atmel-samd/boards/ugame10/pins.c @@ -34,5 +34,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_D), MP_ROM_PTR(&pin_PA28) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/broadcom/boards/diodes_delight_piunora/pins.c b/ports/broadcom/boards/diodes_delight_piunora/pins.c index cba50dfcc8a22..27bbe93e1eeca 100644 --- a/ports/broadcom/boards/diodes_delight_piunora/pins.c +++ b/ports/broadcom/boards/diodes_delight_piunora/pins.c @@ -72,5 +72,6 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_cm4/pins.c b/ports/broadcom/boards/raspberrypi_cm4/pins.c index f994aca6f4c8c..83f781eea97ac 100644 --- a/ports/broadcom/boards/raspberrypi_cm4/pins.c +++ b/ports/broadcom/boards/raspberrypi_cm4/pins.c @@ -48,5 +48,7 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_SDA0), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_SCL0), MP_ROM_PTR(&pin_GPIO45) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_cm4io/pins.c b/ports/broadcom/boards/raspberrypi_cm4io/pins.c index b50bed7ca8780..d9666eafda321 100644 --- a/ports/broadcom/boards/raspberrypi_cm4io/pins.c +++ b/ports/broadcom/boards/raspberrypi_cm4io/pins.c @@ -66,5 +66,6 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO42) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_pi4b/pins.c b/ports/broadcom/boards/raspberrypi_pi4b/pins.c index b50bed7ca8780..d9666eafda321 100644 --- a/ports/broadcom/boards/raspberrypi_pi4b/pins.c +++ b/ports/broadcom/boards/raspberrypi_pi4b/pins.c @@ -66,5 +66,6 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO42) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_zero/pins.c b/ports/broadcom/boards/raspberrypi_zero/pins.c index 4a90833d42939..4b3cf22813585 100644 --- a/ports/broadcom/boards/raspberrypi_zero/pins.c +++ b/ports/broadcom/boards/raspberrypi_zero/pins.c @@ -63,5 +63,6 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_D27), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_zero2w/pins.c b/ports/broadcom/boards/raspberrypi_zero2w/pins.c index 00bb619ee6184..1d8f247487e63 100644 --- a/ports/broadcom/boards/raspberrypi_zero2w/pins.c +++ b/ports/broadcom/boards/raspberrypi_zero2w/pins.c @@ -64,5 +64,6 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO29) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/broadcom/boards/raspberrypi_zero_w/pins.c b/ports/broadcom/boards/raspberrypi_zero_w/pins.c index 4a90833d42939..4b3cf22813585 100644 --- a/ports/broadcom/boards/raspberrypi_zero_w/pins.c +++ b/ports/broadcom/boards/raspberrypi_zero_w/pins.c @@ -63,5 +63,6 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_D27), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_global_dict_table); diff --git a/ports/espressif/boards/01space_lcd042_esp32c3/pins.c b/ports/espressif/boards/01space_lcd042_esp32c3/pins.c index 6a77ddccaaeaa..1518fdecafb41 100644 --- a/ports/espressif/boards/01space_lcd042_esp32c3/pins.c +++ b/ports/espressif/boards/01space_lcd042_esp32c3/pins.c @@ -42,5 +42,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_esp32s3_camera/pins.c b/ports/espressif/boards/adafruit_esp32s3_camera/pins.c index ba25d7ca712cb..9745626da021e 100644 --- a/ports/espressif/boards/adafruit_esp32s3_camera/pins.c +++ b/ports/espressif/boards/adafruit_esp32s3_camera/pins.c @@ -75,5 +75,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c index 9f4db1e897283..7eeffa79da483 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s2_reverse_tft/pins.c @@ -82,5 +82,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c index 57da70341519b..97dd1029d9945 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s2_tft/pins.c @@ -78,5 +78,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c index 9f4db1e897283..7eeffa79da483 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s3_reverse_tft/pins.c @@ -82,5 +82,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c b/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c index 57da70341519b..97dd1029d9945 100644 --- a/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c +++ b/ports/espressif/boards/adafruit_feather_esp32s3_tft/pins.c @@ -78,5 +78,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_funhouse/pins.c b/ports/espressif/boards/adafruit_funhouse/pins.c index 6522dbad74a21..b6d419f32e275 100644 --- a/ports/espressif/boards/adafruit_funhouse/pins.c +++ b/ports/espressif/boards/adafruit_funhouse/pins.c @@ -55,5 +55,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c b/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c index c5a33930a559e..746a2cad4478a 100644 --- a/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c +++ b/ports/espressif/boards/adafruit_magtag_2.9_grayscale/pins.c @@ -63,6 +63,8 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, + { MP_ROM_QSTR(MP_QSTR_ACCELEROMETER_INTERRUPT), MP_ROM_PTR(&pin_GPIO9) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_box/pins.c b/ports/espressif/boards/espressif_esp32s3_box/pins.c index 0037bcccda471..a2c6651087f5e 100644 --- a/ports/espressif/boards/espressif_esp32s3_box/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_box/pins.c @@ -67,5 +67,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // boot button, also usable as a software button { MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR(&pin_GPIO0) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c b/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c index 0037bcccda471..a2c6651087f5e 100644 --- a/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_box_lite/pins.c @@ -67,5 +67,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // boot button, also usable as a software button { MP_ROM_QSTR(MP_QSTR_BOOT), MP_ROM_PTR(&pin_GPIO0) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c b/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c index 23d95048d36db..ca2439e1d40a1 100644 --- a/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_devkitc_1_n8r8_hacktablet/pins.c @@ -127,5 +127,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_eye/pins.c b/ports/espressif/boards/espressif_esp32s3_eye/pins.c index 5d3846b13738d..d756886f99175 100644 --- a/ports/espressif/boards/espressif_esp32s3_eye/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_eye/pins.c @@ -55,5 +55,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c b/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c index 5b02436b73ea6..b20fed522e3ea 100644 --- a/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_lcd_ev/pins.c @@ -106,6 +106,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(DEFAULT_I2C_BUS_SCL) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(DEFAULT_I2C_BUS_SDA) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // boot mode button can be used in SW as well { MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) }, diff --git a/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c b/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c index b57922657a33d..b7a7d65b04666 100644 --- a/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_lcd_ev_v1.5/pins.c @@ -106,6 +106,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(DEFAULT_I2C_BUS_SCL) }, { MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(DEFAULT_I2C_BUS_SDA) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // boot mode button can be used in SW as well { MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) }, diff --git a/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c b/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c index c123533ef22d8..0713000b6ff62 100644 --- a/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c +++ b/ports/espressif/boards/espressif_esp32s3_usb_otg_n8/pins.c @@ -52,5 +52,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_RX), MP_ROM_PTR(&pin_GPIO44) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/hardkernel_odroid_go/pins.c b/ports/espressif/boards/hardkernel_odroid_go/pins.c index 889c8c14b70e8..bfb893af9c2c9 100644 --- a/ports/espressif/boards/hardkernel_odroid_go/pins.c +++ b/ports/espressif/boards/hardkernel_odroid_go/pins.c @@ -61,5 +61,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_EXT4), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c b/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c index 1f0bb9fdd9699..fd0fdaba6ecc2 100644 --- a/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c +++ b/ports/espressif/boards/heltec_esp32s3_wifi_lora_v3/pins.c @@ -117,5 +117,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_OLED_SDA), MP_ROM_PTR(&pin_GPIO17) }, { MP_ROM_QSTR(MP_QSTR_OLED_SCL), MP_ROM_PTR(&pin_GPIO18) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/heltec_wireless_paper/pins.c b/ports/espressif/boards/heltec_wireless_paper/pins.c index 8a637f95b9840..908fd0f5dacbc 100644 --- a/ports/espressif/boards/heltec_wireless_paper/pins.c +++ b/ports/espressif/boards/heltec_wireless_paper/pins.c @@ -48,6 +48,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // objects { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, }; diff --git a/ports/espressif/boards/hexky_s2/pins.c b/ports/espressif/boards/hexky_s2/pins.c index 5c011252683ae..e340a645f6a52 100644 --- a/ports/espressif/boards/hexky_s2/pins.c +++ b/ports/espressif/boards/hexky_s2/pins.c @@ -57,5 +57,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/hiibot_iots2/pins.c b/ports/espressif/boards/hiibot_iots2/pins.c index 0a6fe86fe5261..c1203abdb3150 100644 --- a/ports/espressif/boards/hiibot_iots2/pins.c +++ b/ports/espressif/boards/hiibot_iots2/pins.c @@ -59,6 +59,7 @@ static const mp_rom_map_elem_t board_global_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_IO38), MP_ROM_PTR(&pin_GPIO38) }, { MP_ROM_QSTR(MP_QSTR_TFT_BL), MP_ROM_PTR(&pin_GPIO38) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_IO40), MP_ROM_PTR(&pin_GPIO40) }, { MP_ROM_QSTR(MP_QSTR_SCK), MP_ROM_PTR(&pin_GPIO40) }, diff --git a/ports/espressif/boards/lilygo_tdeck/pins.c b/ports/espressif/boards/lilygo_tdeck/pins.c index 4fe9a4a203a17..fe489d4561a49 100644 --- a/ports/espressif/boards/lilygo_tdeck/pins.c +++ b/ports/espressif/boards/lilygo_tdeck/pins.c @@ -41,6 +41,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_IO11), MP_ROM_PTR(&pin_GPIO11) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // SD card { MP_ROM_QSTR(MP_QSTR_SDCARD_CS), MP_ROM_PTR(&pin_GPIO39) }, diff --git a/ports/espressif/boards/lilygo_tdisplay_s3/pins.c b/ports/espressif/boards/lilygo_tdisplay_s3/pins.c index 781a1cfb1f6cf..55df1e6988c32 100644 --- a/ports/espressif/boards/lilygo_tdisplay_s3/pins.c +++ b/ports/espressif/boards/lilygo_tdisplay_s3/pins.c @@ -57,6 +57,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_POWER_ON), MP_ROM_PTR(&pin_GPIO15) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Battery Sense { MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO4) }, diff --git a/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c b/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c index f1ee3b81b433c..6b4cc54c9ccc7 100644 --- a/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c +++ b/ports/espressif/boards/lilygo_tdisplay_s3_pro/pins.c @@ -114,5 +114,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c b/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c index 0759082aeddb5..58cf8a71e27a8 100644 --- a/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c +++ b/ports/espressif/boards/lilygo_tembed_esp32s3/pins.c @@ -59,6 +59,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_GPIO10) }, { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO13) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // SD card control pins { MP_ROM_QSTR(MP_QSTR_SD_CS), MP_ROM_PTR(&pin_GPIO39) }, diff --git a/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c b/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c index 63048be0ecf0b..8e11cd070face 100644 --- a/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c +++ b/ports/espressif/boards/lilygo_ttgo_t8_s2_st7789/pins.c @@ -57,6 +57,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO38) }, { MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO33) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO37) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Peripheral Power control { MP_ROM_QSTR(MP_QSTR_PE_POWER), MP_ROM_PTR(&pin_GPIO14) }, diff --git a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c index a0b70b67c5e6c..199b675fe5d7f 100644 --- a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c +++ b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_16m/pins.c @@ -39,6 +39,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO23) }, { MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO4) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO16) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Battery Sense { MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO34) }, diff --git a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c index beeebccee89fe..e241d8480e889 100644 --- a/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c +++ b/ports/espressif/boards/lilygo_ttgo_tdisplay_esp32_4m/pins.c @@ -41,6 +41,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO23) }, { MP_ROM_QSTR(MP_QSTR_LCD_BCKL), MP_ROM_PTR(&pin_GPIO4) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO16) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Battery Sense { MP_ROM_QSTR(MP_QSTR_BATTERY), MP_ROM_PTR(&pin_GPIO34) }, diff --git a/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c b/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c index 1dc23f6e5dea5..9942a9e3f31c6 100644 --- a/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c +++ b/ports/espressif/boards/lilygo_twatch_2020_v3/pins.c @@ -55,5 +55,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/lilygo_twatch_s3/pins.c b/ports/espressif/boards/lilygo_twatch_s3/pins.c index ba7ef60ebe7e0..942d3c27e6869 100644 --- a/ports/espressif/boards/lilygo_twatch_s3/pins.c +++ b/ports/espressif/boards/lilygo_twatch_s3/pins.c @@ -21,6 +21,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO38) }, { MP_ROM_QSTR(MP_QSTR_TFT_BL), MP_ROM_PTR(&pin_GPIO45) }, { MP_ROM_QSTR(MP_QSTR_TFT_SPI), MP_ROM_PTR(&board_tft_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // TOUCH { MP_ROM_QSTR(MP_QSTR_TOUCH_INT), MP_ROM_PTR(&pin_GPIO16) }, diff --git a/ports/espressif/boards/lolin_s2_pico/pins.c b/ports/espressif/boards/lolin_s2_pico/pins.c index 0ac86b6f63413..b182639d56588 100644 --- a/ports/espressif/boards/lolin_s2_pico/pins.c +++ b/ports/espressif/boards/lolin_s2_pico/pins.c @@ -60,5 +60,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO37) },// Not labelled on booard, on schematic { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_atoms3/pins.c b/ports/espressif/boards/m5stack_atoms3/pins.c index 1e8f38865d743..e369ffffd3d85 100644 --- a/ports/espressif/boards/m5stack_atoms3/pins.c +++ b/ports/espressif/boards/m5stack_atoms3/pins.c @@ -53,6 +53,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_cardputer/pins.c b/ports/espressif/boards/m5stack_cardputer/pins.c index 85693c1d3e18f..ba309e0dcbff1 100644 --- a/ports/espressif/boards/m5stack_cardputer/pins.c +++ b/ports/espressif/boards/m5stack_cardputer/pins.c @@ -81,5 +81,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, // Display object + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_core2/pins.c b/ports/espressif/boards/m5stack_core2/pins.c index 59bdf2bcf1fcc..5deaba82f4f74 100644 --- a/ports/espressif/boards/m5stack_core2/pins.c +++ b/ports/espressif/boards/m5stack_core2/pins.c @@ -96,5 +96,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_core_basic/pins.c b/ports/espressif/boards/m5stack_core_basic/pins.c index 6c6cf33d2e88c..c56375242f353 100644 --- a/ports/espressif/boards/m5stack_core_basic/pins.c +++ b/ports/espressif/boards/m5stack_core_basic/pins.c @@ -94,5 +94,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_core_fire/pins.c b/ports/espressif/boards/m5stack_core_fire/pins.c index cf14cd40c1a3b..700b20c91ec38 100644 --- a/ports/espressif/boards/m5stack_core_fire/pins.c +++ b/ports/espressif/boards/m5stack_core_fire/pins.c @@ -95,5 +95,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_cores3/pins.c b/ports/espressif/boards/m5stack_cores3/pins.c index b0fa61c608d61..2ebb225277ded 100644 --- a/ports/espressif/boards/m5stack_cores3/pins.c +++ b/ports/espressif/boards/m5stack_cores3/pins.c @@ -95,5 +95,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_dial/pins.c b/ports/espressif/boards/m5stack_dial/pins.c index 9dfe194be8225..a3ea099f22801 100644 --- a/ports/espressif/boards/m5stack_dial/pins.c +++ b/ports/espressif/boards/m5stack_dial/pins.c @@ -58,5 +58,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_m5paper/pins.c b/ports/espressif/boards/m5stack_m5paper/pins.c index 819e4488455f2..f474a993e1852 100644 --- a/ports/espressif/boards/m5stack_m5paper/pins.c +++ b/ports/espressif/boards/m5stack_m5paper/pins.c @@ -78,5 +78,8 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + + // TODO: Uncomment once the display initialization code is added. + // { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_stick_c/pins.c b/ports/espressif/boards/m5stack_stick_c/pins.c index 396c630df651f..6386004156b8e 100644 --- a/ports/espressif/boards/m5stack_stick_c/pins.c +++ b/ports/espressif/boards/m5stack_stick_c/pins.c @@ -60,5 +60,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SYS_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_stick_c_plus/pins.c b/ports/espressif/boards/m5stack_stick_c_plus/pins.c index d054b76cb6ea7..53fd6a731cfaa 100644 --- a/ports/espressif/boards/m5stack_stick_c_plus/pins.c +++ b/ports/espressif/boards/m5stack_stick_c_plus/pins.c @@ -63,5 +63,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SYS_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_PORTA_I2C), MP_ROM_PTR(&board_porta_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/m5stack_stick_c_plus2/pins.c b/ports/espressif/boards/m5stack_stick_c_plus2/pins.c index 167450e90b0c0..7459482176576 100644 --- a/ports/espressif/boards/m5stack_stick_c_plus2/pins.c +++ b/ports/espressif/boards/m5stack_stick_c_plus2/pins.c @@ -50,6 +50,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO5) }, { MP_ROM_QSTR(MP_QSTR_LCD_BL), MP_ROM_PTR(&pin_GPIO27) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, // Battery voltage sense { MP_ROM_QSTR(MP_QSTR_G38), MP_ROM_PTR(&pin_GPIO38) }, diff --git a/ports/espressif/boards/makerfabs_tft7/pins.c b/ports/espressif/boards/makerfabs_tft7/pins.c index cea024875423f..ccc72b23e47b8 100644 --- a/ports/espressif/boards/makerfabs_tft7/pins.c +++ b/ports/espressif/boards/makerfabs_tft7/pins.c @@ -125,6 +125,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SDIO_CMD), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_SDIO_D0), MP_ROM_PTR(&pin_GPIO13) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // boot mode button can be used in SW as well { MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO1) }, diff --git a/ports/espressif/boards/morpheans_morphesp-240/pins.c b/ports/espressif/boards/morpheans_morphesp-240/pins.c index fd49860c34109..cbdccfd325833 100644 --- a/ports/espressif/boards/morpheans_morphesp-240/pins.c +++ b/ports/espressif/boards/morpheans_morphesp-240/pins.c @@ -60,6 +60,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO10) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO9) }, { MP_ROM_QSTR(MP_QSTR_LCD_D_C), MP_ROM_PTR(&pin_GPIO14) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/oxocard_artwork/pins.c b/ports/espressif/boards/oxocard_artwork/pins.c index 0f872a2149af4..39036909ef80a 100644 --- a/ports/espressif/boards/oxocard_artwork/pins.c +++ b/ports/espressif/boards/oxocard_artwork/pins.c @@ -37,6 +37,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_ACC_INT1), MP_ROM_PTR(&pin_GPIO34) }, { MP_ROM_QSTR(MP_QSTR_ACC_INT2), MP_ROM_PTR(&pin_GPIO35) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, diff --git a/ports/espressif/boards/oxocard_connect/pins.c b/ports/espressif/boards/oxocard_connect/pins.c index 0c878d382ad40..3a1a88786c14d 100644 --- a/ports/espressif/boards/oxocard_connect/pins.c +++ b/ports/espressif/boards/oxocard_connect/pins.c @@ -20,6 +20,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO4) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO8) }, { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO5) }, diff --git a/ports/espressif/boards/oxocard_galaxy/pins.c b/ports/espressif/boards/oxocard_galaxy/pins.c index 0f872a2149af4..2aab9629dec6e 100644 --- a/ports/espressif/boards/oxocard_galaxy/pins.c +++ b/ports/espressif/boards/oxocard_galaxy/pins.c @@ -24,6 +24,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO27) }, { MP_ROM_QSTR(MP_QSTR_LCD_CS), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO4) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_MISO), MP_ROM_PTR(&pin_GPIO8) }, { MP_ROM_QSTR(MP_QSTR_MOSI), MP_ROM_PTR(&pin_GPIO5) }, diff --git a/ports/espressif/boards/oxocard_science/pins.c b/ports/espressif/boards/oxocard_science/pins.c index 0a24b1c229c9c..b47cdf38d8ea5 100644 --- a/ports/espressif/boards/oxocard_science/pins.c +++ b/ports/espressif/boards/oxocard_science/pins.c @@ -37,6 +37,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_AMB_INT), MP_ROM_PTR(&pin_GPIO35) }, { MP_ROM_QSTR(MP_QSTR_VOC_RST), MP_ROM_PTR(&pin_GPIO20) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, diff --git a/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c b/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c index af704e32ec1a7..a811f9fa7669f 100644 --- a/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c +++ b/ports/espressif/boards/spotpear_esp32c3_lcd_1_44/pins.c @@ -40,5 +40,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { // Objects { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sqfmi_watchy/pins.c b/ports/espressif/boards/sqfmi_watchy/pins.c index fe67c5eb4b970..e37ff7d5a1d34 100644 --- a/ports/espressif/boards/sqfmi_watchy/pins.c +++ b/ports/espressif/boards/sqfmi_watchy/pins.c @@ -28,6 +28,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_ACC_INT_2), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_RTC_INT), MP_ROM_PTR(&pin_GPIO27) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, diff --git a/ports/espressif/boards/sunton_esp32_2424S012/pins.c b/ports/espressif/boards/sunton_esp32_2424S012/pins.c index 2685bfbd27457..8843fbdb7c1da 100644 --- a/ports/espressif/boards/sunton_esp32_2424S012/pins.c +++ b/ports/espressif/boards/sunton_esp32_2424S012/pins.c @@ -43,5 +43,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_2432S024C/pins.c b/ports/espressif/boards/sunton_esp32_2432S024C/pins.c index e5b5af4bdf13e..a69f3150e9248 100644 --- a/ports/espressif/boards/sunton_esp32_2432S024C/pins.c +++ b/ports/espressif/boards/sunton_esp32_2432S024C/pins.c @@ -62,6 +62,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_lcd_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_2432S028/pins.c b/ports/espressif/boards/sunton_esp32_2432S028/pins.c index df2ed2447b905..b852ab11e04c2 100644 --- a/ports/espressif/boards/sunton_esp32_2432S028/pins.c +++ b/ports/espressif/boards/sunton_esp32_2432S028/pins.c @@ -65,6 +65,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_lcd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_TOUCH_SPI), MP_ROM_PTR(&board_touch_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_2432S032C/pins.c b/ports/espressif/boards/sunton_esp32_2432S032C/pins.c index 02201158af1c5..5d1561bfd38af 100644 --- a/ports/espressif/boards/sunton_esp32_2432S032C/pins.c +++ b/ports/espressif/boards/sunton_esp32_2432S032C/pins.c @@ -64,6 +64,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_lcd_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_SD_SPI), MP_ROM_PTR(&board_sd_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_8048S050/pins.c b/ports/espressif/boards/sunton_esp32_8048S050/pins.c index 0b97c80b73005..fa5a0fdfa37d4 100644 --- a/ports/espressif/boards/sunton_esp32_8048S050/pins.c +++ b/ports/espressif/boards/sunton_esp32_8048S050/pins.c @@ -131,5 +131,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/sunton_esp32_8048S070/pins.c b/ports/espressif/boards/sunton_esp32_8048S070/pins.c index 006351319bb74..697eff9b8ef6b 100644 --- a/ports/espressif/boards/sunton_esp32_8048S070/pins.c +++ b/ports/espressif/boards/sunton_esp32_8048S070/pins.c @@ -131,5 +131,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/vidi_x/pins.c b/ports/espressif/boards/vidi_x/pins.c index 5a92e6b41762d..3f9aa105e728d 100644 --- a/ports/espressif/boards/vidi_x/pins.c +++ b/ports/espressif/boards/vidi_x/pins.c @@ -138,5 +138,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_VIDIIC), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c b/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c index a40f6857575a1..9b9b91d8f64d7 100644 --- a/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c +++ b/ports/espressif/boards/waveshare_esp32_c6_lcd_1_47/pins.c @@ -65,5 +65,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c b/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c index ebc80022bc24c..6e7b08b2d6467 100644 --- a/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c +++ b/ports/espressif/boards/waveshare_esp32_s2_pico_lcd/pins.c @@ -79,6 +79,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c b/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c index e7dd35c5ba473..01c3baf8c9f8f 100644 --- a/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c +++ b/ports/espressif/boards/waveshare_esp32_s3_geek/pins.c @@ -78,6 +78,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO9) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO7) }, { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO8) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c b/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c index ea02a7ac2260c..51943badf03e5 100644 --- a/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c +++ b/ports/espressif/boards/waveshare_esp32_s3_lcd_1_28/pins.c @@ -69,5 +69,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/clue_nrf52840_express/pins.c b/ports/nordic/boards/clue_nrf52840_express/pins.c index 7b0d22a010715..f05ce0d37187e 100644 --- a/ports/nordic/boards/clue_nrf52840_express/pins.c +++ b/ports/nordic/boards/clue_nrf52840_express/pins.c @@ -117,6 +117,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/espruino_banglejs2/pins.c b/ports/nordic/boards/espruino_banglejs2/pins.c index 9bc379a3d5369..c84f7430161a5 100644 --- a/ports/nordic/boards/espruino_banglejs2/pins.c +++ b/ports/nordic/boards/espruino_banglejs2/pins.c @@ -41,6 +41,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PRESSURE_SDA), MP_ROM_PTR(&pin_P1_13) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/hiibot_bluefi/pins.c b/ports/nordic/boards/hiibot_bluefi/pins.c index 142338fd72d70..73f046bffad42 100644 --- a/ports/nordic/boards/hiibot_bluefi/pins.c +++ b/ports/nordic/boards/hiibot_bluefi/pins.c @@ -184,6 +184,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c b/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c index 92f74bde0073c..bd2b6800afd14 100644 --- a/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c +++ b/ports/nordic/boards/makerdiary_nrf52840_m2_devkit/pins.c @@ -118,6 +118,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/nordic/boards/ohs2020_badge/pins.c b/ports/nordic/boards/ohs2020_badge/pins.c index d3b162205f4ec..8817a3fada927 100644 --- a/ports/nordic/boards/ohs2020_badge/pins.c +++ b/ports/nordic/boards/ohs2020_badge/pins.c @@ -26,6 +26,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_BUTTON_SW1), MP_ROM_PTR(&pin_P0_29) }, { MP_ROM_QSTR(MP_QSTR_BUTTON_SW2), MP_ROM_PTR(&pin_P0_03) }, diff --git a/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c b/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c index 2f403f685b71c..82cbb7322e492 100644 --- a/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c +++ b/ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c @@ -57,6 +57,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_D2N), MP_ROM_PTR(&pin_GPIO22) }, { MP_ROM_QSTR(MP_QSTR_D2P), MP_ROM_PTR(&pin_GPIO23) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].framebuffer_display)}, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, diff --git a/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c b/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c index f89a1bddcb4db..cfeb426e31ad4 100644 --- a/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c +++ b/ports/raspberrypi/boards/adafruit_floppsy_rp2040/pins.c @@ -56,6 +56,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_GPIO27) }, { MP_OBJ_NEW_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_GPIO27) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].framebuffer_display)}, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, diff --git a/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c b/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c index 71492dabc5cd0..f5330dd9de0f3 100644 --- a/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c +++ b/ports/raspberrypi/boards/adafruit_macropad_rp2040/pins.c @@ -54,5 +54,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_STEMMA_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c b/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c index 3fde9679907d9..3aef009ab5d63 100644 --- a/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c +++ b/ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/pins.c @@ -118,6 +118,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_VID), MP_ROM_PTR(&board_vid_obj) }, }; diff --git a/ports/raspberrypi/boards/hack_club_sprig/pins.c b/ports/raspberrypi/boards/hack_club_sprig/pins.c index 8fd26de165312..e5ce147839890 100644 --- a/ports/raspberrypi/boards/hack_club_sprig/pins.c +++ b/ports/raspberrypi/boards/hack_club_sprig/pins.c @@ -90,6 +90,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_WHITE_LED), MP_ROM_PTR(&pin_GPIO28) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c b/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c index 513f317ac517d..139c5c40952fb 100644 --- a/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c +++ b/ports/raspberrypi/boards/heiafr_picomo_v2/pins.c @@ -100,5 +100,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c b/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c index 4c53265049cf9..eb1a1ec1d41db 100644 --- a/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c +++ b/ports/raspberrypi/boards/heiafr_picomo_v3/pins.c @@ -105,5 +105,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { {MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj)}, {MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj)}, + {MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c b/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c index bf58e206d67fb..8b8f7ce09db9d 100644 --- a/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c +++ b/ports/raspberrypi/boards/lilygo_t_display_rp2040/pins.c @@ -73,6 +73,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RESET), MP_ROM_PTR(&pin_GPIO0) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO4) }, { MP_ROM_QSTR(MP_QSTR_LCD_DC), MP_ROM_PTR(&pin_GPIO1) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, { MP_ROM_QSTR(MP_QSTR_VOLTAGE_MONITOR), MP_ROM_PTR(&pin_GPIO26) }, diff --git a/ports/raspberrypi/boards/pajenicko_picopad/pins.c b/ports/raspberrypi/boards/pajenicko_picopad/pins.c index f409fb066a88f..4bd6d1411c70e 100644 --- a/ports/raspberrypi/boards/pajenicko_picopad/pins.c +++ b/ports/raspberrypi/boards/pajenicko_picopad/pins.c @@ -114,6 +114,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { {MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_CYW1)}, {MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_CYW0)}, {MP_ROM_QSTR(MP_QSTR_VBUS_SENSE), MP_ROM_PTR(&pin_CYW2)}, + {MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/pimoroni_badger2040/pins.c b/ports/raspberrypi/boards/pimoroni_badger2040/pins.c index bca9e34dc9b68..081cda8669100 100644 --- a/ports/raspberrypi/boards/pimoroni_badger2040/pins.c +++ b/ports/raspberrypi/boards/pimoroni_badger2040/pins.c @@ -50,6 +50,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c b/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c index fead43b9ecb23..5b35a48a28585 100644 --- a/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c +++ b/ports/raspberrypi/boards/pimoroni_badger2040w/pins.c @@ -68,6 +68,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, // GP10 }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c b/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c index d8105279cc6cb..8ff1cad58bfa7 100644 --- a/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c +++ b/ports/raspberrypi/boards/pimoroni_inky_frame_5_7/pins.c @@ -90,6 +90,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, // GP2 { MP_ROM_QSTR(MP_QSTR_KEYCODES), MP_ROM_PTR(&board_keycodes_obj)}, }; diff --git a/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c b/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c index ad47c79ac909c..f615be4d413c7 100644 --- a/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c +++ b/ports/raspberrypi/boards/pimoroni_inky_frame_7_3/pins.c @@ -92,6 +92,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].epaper_display)}, { MP_ROM_QSTR(MP_QSTR_ENABLE_DIO), MP_ROM_PTR(&enable_pin_obj)}, // GP2 { MP_ROM_QSTR(MP_QSTR_KEYCODES), MP_ROM_PTR(&board_keycodes_obj)}, }; diff --git a/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c b/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c index bc24d7d3b3b45..7fde8f33e8747 100644 --- a/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c +++ b/ports/raspberrypi/boards/pimoroni_pico_dv_base/pins.c @@ -91,6 +91,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_D2P), MP_ROM_PTR(&pin_GPIO13) }, { MP_ROM_QSTR(MP_QSTR_DV_HPD), MP_ROM_PTR(&pin_GPIO17) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].framebuffer_display)}, }; diff --git a/ports/raspberrypi/boards/pimoroni_picosystem/pins.c b/ports/raspberrypi/boards/pimoroni_picosystem/pins.c index 6f4c0ea0fe8d7..2d00646c607b4 100644 --- a/ports/raspberrypi/boards/pimoroni_picosystem/pins.c +++ b/ports/raspberrypi/boards/pimoroni_picosystem/pins.c @@ -49,6 +49,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) }, { MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/ugame22/pins.c b/ports/raspberrypi/boards/ugame22/pins.c index 5d13ebd2e2726..3ca97e921a928 100644 --- a/ports/raspberrypi/boards/ugame22/pins.c +++ b/ports/raspberrypi/boards/ugame22/pins.c @@ -33,5 +33,6 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)} }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c b/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c index 077ed7828adf9..8fa4f56051e40 100644 --- a/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2040_geek/pins.c @@ -72,6 +72,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO25) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c b/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c index 88cb2df952424..bd3a831034501 100644 --- a/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2040_lcd_0_96/pins.c @@ -53,6 +53,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DIN), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BL), MP_ROM_PTR(&pin_GPIO25) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Power pins { MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_GPIO23) }, diff --git a/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c b/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c index 077ed7828adf9..8fa4f56051e40 100644 --- a/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2350_geek/pins.c @@ -72,6 +72,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BACKLIGHT), MP_ROM_PTR(&pin_GPIO25) }, { MP_ROM_QSTR(MP_QSTR_LCD_SPI), MP_ROM_PTR(&board_spi_obj) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c b/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c index 88cb2df952424..bd3a831034501 100644 --- a/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c +++ b/ports/raspberrypi/boards/waveshare_rp2350_lcd_0_96/pins.c @@ -53,6 +53,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_LCD_DIN), MP_ROM_PTR(&pin_GPIO11) }, { MP_ROM_QSTR(MP_QSTR_LCD_RST), MP_ROM_PTR(&pin_GPIO12) }, { MP_ROM_QSTR(MP_QSTR_LCD_BL), MP_ROM_PTR(&pin_GPIO25) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display) }, // Power pins { MP_ROM_QSTR(MP_QSTR_SMPS_MODE), MP_ROM_PTR(&pin_GPIO23) }, diff --git a/ports/stm/boards/meowbit_v121/pins.c b/ports/stm/boards/meowbit_v121/pins.c index 27f489e619c91..8460215c0906a 100644 --- a/ports/stm/boards/meowbit_v121/pins.c +++ b/ports/stm/boards/meowbit_v121/pins.c @@ -73,6 +73,7 @@ static const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_P0), MP_ROM_PTR(&pin_PA00) }, { MP_ROM_QSTR(MP_QSTR_P3), MP_ROM_PTR(&pin_PB00) }, + { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_PTR(&displays[0].display)}, { MP_ROM_QSTR(MP_QSTR_INTERNAL_SPI), MP_ROM_PTR(&supervisor_flash_spi_bus) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/py/circuitpy_mpconfig.h b/py/circuitpy_mpconfig.h index 2533792989278..aaead443e0bf3 100644 --- a/py/circuitpy_mpconfig.h +++ b/py/circuitpy_mpconfig.h @@ -615,10 +615,6 @@ void background_callback_run_all(void); #define CIRCUITPY_MIN_GCC_VERSION 13 #endif -#ifndef MICROPY_MODULE_ATTR_DELEGATION -#define MICROPY_MODULE_ATTR_DELEGATION (CIRCUITPY_DISPLAYIO || MICROPY_PY_SYS_ATTR_DELEGATION || MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES) -#endif - #if defined(__GNUC__) && !defined(__ZEPHYR__) #if __GNUC__ < CIRCUITPY_MIN_GCC_VERSION // (the 3 level scheme here is required to get expansion & stringization diff --git a/shared-bindings/board/__init__.c b/shared-bindings/board/__init__.c index 67e90af225982..c985d85217530 100644 --- a/shared-bindings/board/__init__.c +++ b/shared-bindings/board/__init__.c @@ -17,9 +17,6 @@ #if CIRCUITPY_BOARD_UART #include "shared-bindings/busio/UART.h" #endif -#if CIRCUITPY_DISPLAYIO -#include "shared-module/displayio/__init__.h" -#endif //| """Board specific pin names //| @@ -102,31 +99,6 @@ static mp_obj_t board_uart_0(void) { #endif MP_DEFINE_CONST_FUN_OBJ_0(board_uart_obj, board_uart_0); -//| DISPLAY: object | None -//| """Returns the board's first display, if configured, or None otherwise -//| -//| The display can be of any supported display type, such as `busdisplay.BusDisplay`.""" - -// Note: If DISPLAYIO is enabled, this module delegation returns the first -// display, if configured; else, it returns None. If DISPLAYIO is not enabled, -// CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS includes a table entry for DISPLAY that -// is None. In either case, the board pins file doesn't need to do anything with DISPLAY. -#if CIRCUITPY_DISPLAYIO -extern void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest); -void mp_module_board_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) { - if (attr == MP_QSTR_DISPLAY && dest[0] == MP_OBJ_NULL) { - mp_obj_base_t *first_display = &displays[0].display_base; - if (first_display->type != &mp_type_NoneType && first_display->type != NULL) { - dest[0] = MP_OBJ_FROM_PTR(first_display); - } else { - dest[0] = mp_const_none; - } - } -} - -MP_REGISTER_MODULE_DELEGATION(board_module, mp_module_board_attr); -#endif - const mp_obj_module_t board_module = { .base = { &mp_type_module }, .globals = (mp_obj_dict_t *)&board_module_globals, diff --git a/shared-bindings/board/__init__.h b/shared-bindings/board/__init__.h index ca20462d261d2..7c9a59d2dbd0d 100644 --- a/shared-bindings/board/__init__.h +++ b/shared-bindings/board/__init__.h @@ -38,15 +38,6 @@ MP_DECLARE_CONST_FUN_OBJ_0(board_uart_obj); } \ MP_DEFINE_CONST_FUN_OBJ_0(board_##name##_obj, board_##name); -#if CIRCUITPY_DISPLAYIO -#define CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS \ - /* expands to nothing, the DISPLAY property is handled by mp_module_board_attr */ -#else -#define CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS \ - { MP_ROM_QSTR(MP_QSTR_DISPLAY), MP_ROM_NONE }, -#endif - #define CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS \ { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_board) }, \ - { MP_ROM_QSTR(MP_QSTR_board_id), MP_ROM_PTR(&board_module_id_obj) }, \ - CIRCUITPYTHON_BOARD_DICT_DISPLAYIO_ITEMS + { MP_ROM_QSTR(MP_QSTR_board_id), MP_ROM_PTR(&board_module_id_obj) }, diff --git a/shared-bindings/displayio/__init__.h b/shared-bindings/displayio/__init__.h index 33987ebe38ae5..6a9095cbf2a70 100644 --- a/shared-bindings/displayio/__init__.h +++ b/shared-bindings/displayio/__init__.h @@ -23,6 +23,7 @@ typedef enum displayio_colorspace { } displayio_colorspace_t; void common_hal_displayio_release_displays(void); +mp_obj_t common_hal_displayio_get_primary_display(void); extern const mp_obj_type_t displayio_colorspace_type; extern const cp_enum_obj_t displayio_colorspace_RGB888_obj; diff --git a/shared-bindings/supervisor/Runtime.c b/shared-bindings/supervisor/Runtime.c index 9332cacb3eccd..1c6fceaa04b8f 100644 --- a/shared-bindings/supervisor/Runtime.c +++ b/shared-bindings/supervisor/Runtime.c @@ -20,6 +20,10 @@ #include "supervisor/shared/status_leds.h" #include "supervisor/shared/bluetooth/bluetooth.h" +#if CIRCUITPY_DISPLAYIO +#include "shared-bindings/displayio/__init__.h" +#endif + #if CIRCUITPY_TINYUSB #include "tusb.h" #endif @@ -183,7 +187,6 @@ MP_PROPERTY_GETSET(supervisor_runtime_ble_workflow_obj, //| after the current code finishes and the status LED is used to show //| the finish state.""" //| -//| static mp_obj_t supervisor_runtime_get_rgb_status_brightness(mp_obj_t self) { return MP_OBJ_NEW_SMALL_INT(get_status_brightness()); } @@ -204,6 +207,29 @@ MP_PROPERTY_GETSET(supervisor_runtime_rgb_status_brightness_obj, (mp_obj_t)&supervisor_runtime_get_rgb_status_brightness_obj, (mp_obj_t)&supervisor_runtime_set_rgb_status_brightness_obj); +#if CIRCUITPY_DISPLAYIO +//| display: Any +//| """The first configured displayio display, if any. Read-only. +//| +//| If the board has a display that is configured in board setup, in boot.py, +//| or in a previous invocation of code.py, it is available here. +//| +//| The display can be of any supported display type, such as `busdisplay.BusDisplay`. +//| +//| If no display is configured, this property is always `None`. +//| +//| On boards without displayio, this property is present but the value is always `None`.""" +//| +//| +static mp_obj_t supervisor_runtime_get_display(mp_obj_t self) { + return common_hal_displayio_get_primary_display(); +} +MP_DEFINE_CONST_FUN_OBJ_1(supervisor_runtime_get_display_obj, supervisor_runtime_get_display); + +MP_PROPERTY_GETTER(supervisor_runtime_display_obj, + (mp_obj_t)&supervisor_runtime_get_display_obj); +#endif + static const mp_rom_map_elem_t supervisor_runtime_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_usb_connected), MP_ROM_PTR(&supervisor_runtime_usb_connected_obj) }, { MP_ROM_QSTR(MP_QSTR_serial_connected), MP_ROM_PTR(&supervisor_runtime_serial_connected_obj) }, @@ -213,6 +239,11 @@ static const mp_rom_map_elem_t supervisor_runtime_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_autoreload), MP_ROM_PTR(&supervisor_runtime_autoreload_obj) }, { MP_ROM_QSTR(MP_QSTR_ble_workflow), MP_ROM_PTR(&supervisor_runtime_ble_workflow_obj) }, { MP_ROM_QSTR(MP_QSTR_rgb_status_brightness), MP_ROM_PTR(&supervisor_runtime_rgb_status_brightness_obj) }, + #if CIRCUITPY_DISPLAYIO + { MP_ROM_QSTR(MP_QSTR_display), MP_ROM_PTR(&supervisor_runtime_display_obj) }, + #else + { MP_ROM_QSTR(MP_QSTR_display), MP_ROM_NONE }, + #endif }; static MP_DEFINE_CONST_DICT(supervisor_runtime_locals_dict, supervisor_runtime_locals_dict_table); diff --git a/shared-module/displayio/__init__.c b/shared-module/displayio/__init__.c index 3e1246b087600..b11c31b44b788 100644 --- a/shared-module/displayio/__init__.c +++ b/shared-module/displayio/__init__.c @@ -434,3 +434,12 @@ primary_display_bus_t *allocate_display_bus_or_raise(void) { } mp_raise_RuntimeError(MP_ERROR_TEXT("Too many display busses; forgot displayio.release_displays() ?")); } + + +mp_obj_t common_hal_displayio_get_primary_display(void) { + mp_obj_base_t *first_display = &displays[0].display_base; + if (first_display->type != &mp_type_NoneType && first_display->type != NULL) { + return MP_OBJ_FROM_PTR(first_display); + } + return mp_const_none; +} From 83415e7e2524614f5820c494c555fb3f60b39cb3 Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Thu, 13 Feb 2025 13:17:37 -0600 Subject: [PATCH 19/19] Make primary display settable, defaults to None unless set by board_init --- main.c | 7 ++++ shared-bindings/displayio/__init__.h | 2 + shared-bindings/supervisor/Runtime.c | 22 +++++++--- shared-module/displayio/__init__.c | 63 ++++++++++++++++++++++++---- 4 files changed, 81 insertions(+), 13 deletions(-) diff --git a/main.c b/main.c index 7ac4194a75f04..763a3c1e0c197 100644 --- a/main.c +++ b/main.c @@ -772,6 +772,9 @@ static bool __attribute__((noinline)) run_code_py(safe_mode_t safe_mode, bool *s #if CIRCUITPY_ALARM if (fake_sleeping) { board_init(); + #if CIRCUITPY_DISPLAYIO + common_hal_displayio_auto_primary_display(); + #endif // Pretend that the next run is the first run, as if we were reset. *simulate_reset = true; } @@ -1053,6 +1056,10 @@ int __attribute__((used)) main(void) { // displays init after filesystem, since they could share the flash SPI board_init(); + #if CIRCUITPY_DISPLAYIO + common_hal_displayio_auto_primary_display(); + #endif + mp_hal_stdout_tx_str(line_clear); // This is first time we are running CircuitPython after a reset or power-up. diff --git a/shared-bindings/displayio/__init__.h b/shared-bindings/displayio/__init__.h index 6a9095cbf2a70..88e9650cf44a9 100644 --- a/shared-bindings/displayio/__init__.h +++ b/shared-bindings/displayio/__init__.h @@ -24,6 +24,8 @@ typedef enum displayio_colorspace { void common_hal_displayio_release_displays(void); mp_obj_t common_hal_displayio_get_primary_display(void); +void common_hal_displayio_set_primary_display(mp_obj_t o); +void common_hal_displayio_auto_primary_display(void); extern const mp_obj_type_t displayio_colorspace_type; extern const cp_enum_obj_t displayio_colorspace_RGB888_obj; diff --git a/shared-bindings/supervisor/Runtime.c b/shared-bindings/supervisor/Runtime.c index 1c6fceaa04b8f..15a0096361013 100644 --- a/shared-bindings/supervisor/Runtime.c +++ b/shared-bindings/supervisor/Runtime.c @@ -209,14 +209,18 @@ MP_PROPERTY_GETSET(supervisor_runtime_rgb_status_brightness_obj, #if CIRCUITPY_DISPLAYIO //| display: Any -//| """The first configured displayio display, if any. Read-only. +//| """The primary configured displayio display, if any. Read-only. //| -//| If the board has a display that is configured in board setup, in boot.py, -//| or in a previous invocation of code.py, it is available here. +//| If the board has a display that is hard coded, or that was explicitly set +//| in boot.py or code.py (including a previous run of code.py), it is +//| available here until it is released with ``displayio.releasee_displays()``. //| //| The display can be of any supported display type, such as `busdisplay.BusDisplay`. //| -//| If no display is configured, this property is always `None`. +//| If no display is configured, this property is `None`. +//| +//| In a future release of CircuitPython, any display that is not the primary display +//| will be automatically released at the end of running a code file. //| //| On boards without displayio, this property is present but the value is always `None`.""" //| @@ -225,9 +229,15 @@ static mp_obj_t supervisor_runtime_get_display(mp_obj_t self) { return common_hal_displayio_get_primary_display(); } MP_DEFINE_CONST_FUN_OBJ_1(supervisor_runtime_get_display_obj, supervisor_runtime_get_display); +static mp_obj_t supervisor_runtime_set_display(mp_obj_t self, mp_obj_t new_primary_display) { + common_hal_displayio_set_primary_display(new_primary_display); + return mp_const_none; +} +MP_DEFINE_CONST_FUN_OBJ_2(supervisor_runtime_set_display_obj, supervisor_runtime_set_display); -MP_PROPERTY_GETTER(supervisor_runtime_display_obj, - (mp_obj_t)&supervisor_runtime_get_display_obj); +MP_PROPERTY_GETSET(supervisor_runtime_display_obj, + (mp_obj_t)&supervisor_runtime_get_display_obj, + (mp_obj_t)&supervisor_runtime_set_display_obj); #endif static const mp_rom_map_elem_t supervisor_runtime_locals_dict_table[] = { diff --git a/shared-module/displayio/__init__.c b/shared-module/displayio/__init__.c index b11c31b44b788..4b467b75589d1 100644 --- a/shared-module/displayio/__init__.c +++ b/shared-module/displayio/__init__.c @@ -44,6 +44,9 @@ #include "supervisor/spi_flash_api.h" #endif +// The default indicates no primary display +static int primary_display_number = -1; + primary_display_bus_t display_buses[CIRCUITPY_DISPLAY_LIMIT]; primary_display_t displays[CIRCUITPY_DISPLAY_LIMIT]; @@ -108,10 +111,16 @@ void displayio_background(void) { } -void common_hal_displayio_release_displays(void) { +static void common_hal_displayio_release_displays_impl(bool keep_primary) { // Release displays before busses so that they can send any final commands to turn the display // off properly. + if (!keep_primary) { + primary_display_number = -1; + } for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) { + if (i == primary_display_number) { + continue; + } mp_const_obj_t display_type = displays[i].display_base.type; if (display_type == NULL || display_type == &mp_type_NoneType) { continue; @@ -177,7 +186,14 @@ void common_hal_displayio_release_displays(void) { supervisor_stop_terminal(); } +void common_hal_displayio_release_displays(void) { + common_hal_displayio_release_displays_impl(false); +} + void reset_displays(void) { + // In CircuitPython 10, release secondary displays before doing anything else: + // common_hal_displayio_release_displays_impl(true); + // The SPI buses used by FourWires may be allocated on the heap so we need to move them inline. for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) { mp_const_obj_t display_bus_type = display_buses[i].bus_base.type; @@ -392,10 +408,13 @@ void displayio_gc_collect(void) { } } +static bool is_display_active(mp_obj_base_t *display_maybe) { + return display_maybe->type != &mp_type_NoneType && display_maybe->type != NULL; +} + primary_display_t *allocate_display(void) { for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) { - mp_const_obj_t display_type = displays[i].display_base.type; - if (display_type == NULL || display_type == &mp_type_NoneType) { + if (!is_display_active(&displays[i].display_base)) { // Clear this memory so it is in a known state before init. memset(&displays[i], 0, sizeof(displays[i])); // Default to None so that it works as board.DISPLAY. @@ -435,11 +454,41 @@ primary_display_bus_t *allocate_display_bus_or_raise(void) { mp_raise_RuntimeError(MP_ERROR_TEXT("Too many display busses; forgot displayio.release_displays() ?")); } - mp_obj_t common_hal_displayio_get_primary_display(void) { - mp_obj_base_t *first_display = &displays[0].display_base; - if (first_display->type != &mp_type_NoneType && first_display->type != NULL) { - return MP_OBJ_FROM_PTR(first_display); + if (primary_display_number == -1 || primary_display_number >= CIRCUITPY_DISPLAY_LIMIT) { + return mp_const_none; + } + mp_obj_base_t *primary_display = &displays[primary_display_number].display_base; + if (is_display_active(primary_display)) { + return MP_OBJ_FROM_PTR(primary_display); } return mp_const_none; } + +void common_hal_displayio_set_primary_display(mp_obj_t new_primary_display) { + if (new_primary_display == mp_const_none) { + primary_display_number = -1; + return; + } + for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) { + mp_obj_t display = MP_OBJ_FROM_PTR(&displays[i]); + if (new_primary_display == display && is_display_active(display)) { + primary_display_number = i; + return; + } + } + // object was not a display after all... + mp_raise_TypeError_varg(MP_ERROR_TEXT("%q must be of type %q or %q, not %q"), MP_QSTR_Display, MP_QSTR_AnyDisplay, MP_QSTR_None, mp_obj_get_type(new_primary_display)->name); +} + +void common_hal_displayio_auto_primary_display(void) { + if (primary_display_number != -1) { + return; + } + for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) { + if (is_display_active(&displays[i].display_base)) { + primary_display_number = i; + return; + } + } +} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy