summaryrefslogtreecommitdiff
path: root/shared-bindings
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2019-01-17 18:19:07 -0800
committerScott Shawcroft <scott@tannewt.org>2019-01-17 18:19:07 -0800
commit6404aaf411d7fe5fd96f3a8cbf7a1cb7580a09e7 (patch)
treec4862f29c962e724a0df35c01ed04256df03b22a /shared-bindings
parent760bd8d8a4f0aa0ed8651e89596fb2e6effbc14f (diff)
Fix up nrf and using board.SPI in FourWire
Diffstat (limited to 'shared-bindings')
-rw-r--r--shared-bindings/displayio/Display.c3
-rw-r--r--shared-bindings/displayio/FourWire.c11
-rw-r--r--shared-bindings/displayio/ParallelBus.c3
3 files changed, 12 insertions, 5 deletions
diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c
index 21f44965e..9028c2865 100644
--- a/shared-bindings/displayio/Display.c
+++ b/shared-bindings/displayio/Display.c
@@ -83,7 +83,8 @@ STATIC mp_obj_t displayio_display_make_new(const mp_obj_type_t *type, size_t n_a
displayio_display_obj_t *self = NULL;
for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) {
- if (displays[i].display.base.type == NULL) {
+ if (displays[i].display.base.type == NULL ||
+ displays[i].display.base.type == &mp_type_NoneType) {
self = &displays[i].display;
break;
}
diff --git a/shared-bindings/displayio/FourWire.c b/shared-bindings/displayio/FourWire.c
index 9833fbc64..530eafb51 100644
--- a/shared-bindings/displayio/FourWire.c
+++ b/shared-bindings/displayio/FourWire.c
@@ -65,18 +65,23 @@ STATIC mp_obj_t displayio_fourwire_make_new(const mp_obj_type_t *type, size_t n_
mp_obj_t command = args[ARG_command].u_obj;
mp_obj_t chip_select = args[ARG_chip_select].u_obj;
- mp_obj_t reset = args[ARG_reset].u_obj;
if (command == mp_const_none || chip_select == mp_const_none) {
mp_raise_ValueError(translate("Command and chip_select required"));
}
assert_pin_free(command);
assert_pin_free(chip_select);
- assert_pin_free(reset);
+ mp_obj_t reset = args[ARG_reset].u_obj;
+ if (reset != mp_const_none) {
+ assert_pin_free(reset);
+ } else {
+ reset = NULL;
+ }
displayio_fourwire_obj_t* self = NULL;
mp_obj_t spi = args[ARG_spi_bus].u_obj;
for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) {
- if (displays[i].fourwire_bus.base.type== NULL) {
+ if (displays[i].fourwire_bus.base.type == NULL ||
+ displays[i].fourwire_bus.base.type == &mp_type_NoneType) {
self = &displays[i].fourwire_bus;
self->base.type = &displayio_fourwire_type;
break;
diff --git a/shared-bindings/displayio/ParallelBus.c b/shared-bindings/displayio/ParallelBus.c
index aa861bb81..e1079acb5 100644
--- a/shared-bindings/displayio/ParallelBus.c
+++ b/shared-bindings/displayio/ParallelBus.c
@@ -83,7 +83,8 @@ STATIC mp_obj_t displayio_parallelbus_make_new(const mp_obj_type_t *type, size_t
displayio_parallelbus_obj_t* self = NULL;
for (uint8_t i = 0; i < CIRCUITPY_DISPLAY_LIMIT; i++) {
- if (displays[i].parallel_bus.base.type== NULL) {
+ if (displays[i].parallel_bus.base.type== NULL ||
+ displays[i].parallel_bus.base.type == &mp_type_NoneType) {
self = &displays[i].parallel_bus;
self->base.type = &displayio_parallelbus_type;
break;