summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-04-21 13:46:03 -0500
committerJeff Epler <jepler@gmail.com>2020-04-21 13:48:34 -0500
commit507e17fbf15715b28d17cc69aab54a48dd001c52 (patch)
tree8cb29c32753c53d5331215474d2ef4d0828bbb01
parenta4d86b96fd1e60b807258a30cd765b48f0372b6d (diff)
displayio: Fix "bus type" problem introduced at 8cba145c9029
When allocate_display_bus_or_raise was factored out, the assignment of the bus's Python type was lost. Restore it. This would have affected displays of any type other than RGBMatrix, when they were created dynamically. Boards with displays configured in flash were unaffected. Closes: #2792
-rw-r--r--shared-bindings/displayio/FourWire.c1
-rw-r--r--shared-bindings/displayio/I2CDisplay.c1
-rw-r--r--shared-bindings/displayio/ParallelBus.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/shared-bindings/displayio/FourWire.c b/shared-bindings/displayio/FourWire.c
index 1cd51b2e2..6ad162411 100644
--- a/shared-bindings/displayio/FourWire.c
+++ b/shared-bindings/displayio/FourWire.c
@@ -84,6 +84,7 @@ STATIC mp_obj_t displayio_fourwire_make_new(const mp_obj_type_t *type, size_t n_
mp_obj_t spi = args[ARG_spi_bus].u_obj;
displayio_fourwire_obj_t* self = &allocate_display_bus_or_raise()->fourwire_bus;
+ self->base.type = &displayio_fourwire_type;
uint8_t polarity = args[ARG_polarity].u_int;
if (polarity != 0 && polarity != 1) {
diff --git a/shared-bindings/displayio/I2CDisplay.c b/shared-bindings/displayio/I2CDisplay.c
index dd3333f6d..963e8377c 100644
--- a/shared-bindings/displayio/I2CDisplay.c
+++ b/shared-bindings/displayio/I2CDisplay.c
@@ -73,6 +73,7 @@ STATIC mp_obj_t displayio_i2cdisplay_make_new(const mp_obj_type_t *type, size_t
mp_obj_t i2c = args[ARG_i2c_bus].u_obj;
displayio_i2cdisplay_obj_t* self = &allocate_display_bus_or_raise()->i2cdisplay_bus;
+ self->base.type = &displayio_i2cdisplay_type;
common_hal_displayio_i2cdisplay_construct(self,
MP_OBJ_TO_PTR(i2c), args[ARG_device_address].u_int, reset);
diff --git a/shared-bindings/displayio/ParallelBus.c b/shared-bindings/displayio/ParallelBus.c
index 4d9ffb0a1..bdafdaef6 100644
--- a/shared-bindings/displayio/ParallelBus.c
+++ b/shared-bindings/displayio/ParallelBus.c
@@ -84,6 +84,7 @@ STATIC mp_obj_t displayio_parallelbus_make_new(const mp_obj_type_t *type, size_t
mcu_pin_obj_t *reset = validate_obj_is_free_pin(args[ARG_reset].u_obj);
displayio_parallelbus_obj_t* self = &allocate_display_bus_or_raise()->parallel_bus;
+ self->base.type = &displayio_parallelbus_type;
common_hal_displayio_parallelbus_construct(self, data0, command, chip_select, write, read, reset);
return self;