From 030d5fefa02bfc0a5b243facb7d77a6fea193d9f Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 3 May 2022 09:23:36 -0500 Subject: [PATCH 1/4] Ignore SH1107 quirk if not 1bpp --- shared-module/displayio/Display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-module/displayio/Display.c b/shared-module/displayio/Display.c index 579dca49fc..255cd49e06 100644 --- a/shared-module/displayio/Display.c +++ b/shared-module/displayio/Display.c @@ -74,7 +74,7 @@ void common_hal_displayio_display_construct(displayio_display_obj_t *self, self->first_manual_refresh = !auto_refresh; self->data_as_commands = data_as_commands; self->backlight_on_high = backlight_on_high; - self->SH1107_addressing = SH1107_addressing; + self->SH1107_addressing = SH1107_addressing && color_depth == 1; self->native_frames_per_second = native_frames_per_second; self->native_ms_per_frame = 1000 / native_frames_per_second; From b292a925d5f776ecd2e865345c46d3b3287dda7c Mon Sep 17 00:00:00 2001 From: Jeff Epler Date: Tue, 3 May 2022 09:23:47 -0500 Subject: [PATCH 2/4] remove stray semicolon --- shared-bindings/displayio/Display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c index f7b3305439..b187d1329f 100644 --- a/shared-bindings/displayio/Display.c +++ b/shared-bindings/displayio/Display.c @@ -172,7 +172,7 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a primary_display_t *disp = allocate_display_or_raise(); displayio_display_obj_t *self = &disp->display; - ; + self->base.type = &displayio_display_type; common_hal_displayio_display_construct( self, From ae8347f5e58c27de027863d1c504f3a0893e79e5 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 13 May 2022 12:54:46 -0400 Subject: [PATCH 3/4] add error msg for SH1107 fix --- locale/circuitpython.pot | 6 +++++- shared-bindings/displayio/Display.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot index 3bec8b622b..ed60df4069 100644 --- a/locale/circuitpython.pot +++ b/locale/circuitpython.pot @@ -107,6 +107,10 @@ msgstr "" msgid "%q must be %d-%d" msgstr "" +#: shared-bindings/displayio/Display.c +msgid "%q must be 1 when %q is True" +msgstr "" + #: py/argcheck.c shared-bindings/gifio/GifWriter.c msgid "%q must be <= %d" msgstr "" @@ -623,7 +627,7 @@ msgstr "" msgid "Buffer length must be a multiple of 512" msgstr "" -#: ports/stm/common-hal/sdioio/SDCard.c +#: ports/stm/common-hal/sdioio/SDCard.c shared-bindings/floppyio/__init__.c msgid "Buffer must be a multiple of 512 bytes" msgstr "" diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c index b187d1329f..11621211e0 100644 --- a/shared-bindings/displayio/Display.c +++ b/shared-bindings/displayio/Display.c @@ -170,6 +170,12 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a mp_raise_ValueError(translate("Display rotation must be in 90 degree increments")); } + const bool sh1107_addressing = args[ARG_SH1107_addressing].u_bool; + const mp_int_t color_depth = args[ARG_color_depth].u_int; + if (sh1107_addressing && color_depth != 1) { + mp_raise_ValueError_varg(translate("%q must be 1 when %q is True"), MP_QSTR_color_depth, MP_QSTR_SH1107_addressing); + } + primary_display_t *disp = allocate_display_or_raise(); displayio_display_obj_t *self = &disp->display; @@ -177,7 +183,7 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a common_hal_displayio_display_construct( self, display_bus, args[ARG_width].u_int, args[ARG_height].u_int, args[ARG_colstart].u_int, args[ARG_rowstart].u_int, rotation, - args[ARG_color_depth].u_int, args[ARG_grayscale].u_bool, + color_depth, args[ARG_grayscale].u_bool, args[ARG_pixels_in_byte_share_row].u_bool, args[ARG_bytes_per_cell].u_bool, args[ARG_reverse_pixels_in_byte].u_bool, @@ -194,7 +200,7 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a args[ARG_auto_refresh].u_bool, args[ARG_native_frames_per_second].u_int, args[ARG_backlight_on_high].u_bool, - args[ARG_SH1107_addressing].u_bool + sh1107_addressing ); return self; From 28b14e05e3b362cf21cf0909cb7f2c7932d9f73f Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Fri, 13 May 2022 15:45:12 -0400 Subject: [PATCH 4/4] shrink thunderpack_v12 --- ports/espressif/esp-idf | 2 +- ports/stm/boards/thunderpack_v12/mpconfigboard.mk | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/espressif/esp-idf b/ports/espressif/esp-idf index 121ddb87e5..944c01eef4 160000 --- a/ports/espressif/esp-idf +++ b/ports/espressif/esp-idf @@ -1 +1 @@ -Subproject commit 121ddb87e5130314e4fcc5e9cb260a81b7d30d36 +Subproject commit 944c01eef4fbba693f991f9d033cda3f59ca82c9 diff --git a/ports/stm/boards/thunderpack_v12/mpconfigboard.mk b/ports/stm/boards/thunderpack_v12/mpconfigboard.mk index 526415ca30..f7905f6945 100644 --- a/ports/stm/boards/thunderpack_v12/mpconfigboard.mk +++ b/ports/stm/boards/thunderpack_v12/mpconfigboard.mk @@ -14,6 +14,7 @@ EXTERNAL_FLASH_DEVICES = GD25Q16C CIRCUITPY_NVM = 1 CIRCUITPY_BITMAPTOOLS = 0 CIRCUITPY_BLEIO_HCI = 0 +CIRCUITPY_ONEWIREIO = 0 CIRCUITPY_ZLIB = 0 MCU_SERIES = F4