summaryrefslogtreecommitdiff
path: root/shared-module
diff options
context:
space:
mode:
authorFoamyGuy <foamyguy@gmail.com>2020-09-21 17:58:05 -0500
committerFoamyGuy <foamyguy@gmail.com>2020-09-21 17:58:05 -0500
commitff1a90a9c3bcdb9b9c89e56f95807ac4139a3770 (patch)
tree19c02733440bd7bb4f37e8cdcd8461bf20126f8a /shared-module
parente114b5ab54e3c7f4a36a03dae2913cb76804efa3 (diff)
parentdf067b498d05ed2acd20ba39b7e4f97ebe4fae6a (diff)
Merge branch 'adafruit_main' into sdcard_odb_fix
Diffstat (limited to 'shared-module')
-rw-r--r--shared-module/displayio/FourWire.c4
-rw-r--r--shared-module/displayio/I2CDisplay.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/shared-module/displayio/FourWire.c b/shared-module/displayio/FourWire.c
index 17e8cfa1d..726116208 100644
--- a/shared-module/displayio/FourWire.c
+++ b/shared-module/displayio/FourWire.c
@@ -76,7 +76,9 @@ void common_hal_displayio_fourwire_deinit(displayio_fourwire_obj_t* self) {
common_hal_reset_pin(self->command.pin);
common_hal_reset_pin(self->chip_select.pin);
- common_hal_reset_pin(self->reset.pin);
+ if (self->reset.pin) {
+ common_hal_reset_pin(self->reset.pin);
+ }
}
bool common_hal_displayio_fourwire_reset(mp_obj_t obj) {
diff --git a/shared-module/displayio/I2CDisplay.c b/shared-module/displayio/I2CDisplay.c
index 0c8f2e69a..5bd03dcd6 100644
--- a/shared-module/displayio/I2CDisplay.c
+++ b/shared-module/displayio/I2CDisplay.c
@@ -53,6 +53,7 @@ void common_hal_displayio_i2cdisplay_construct(displayio_i2cdisplay_obj_t* self,
// Probe the bus to see if a device acknowledges the given address.
if (!common_hal_busio_i2c_probe(i2c, device_address)) {
+ self->base.type = &mp_type_NoneType;
mp_raise_ValueError_varg(translate("Unable to find I2C Display at %x"), device_address);
}
@@ -71,7 +72,9 @@ void common_hal_displayio_i2cdisplay_deinit(displayio_i2cdisplay_obj_t* self) {
common_hal_busio_i2c_deinit(self->bus);
}
- common_hal_reset_pin(self->reset.pin);
+ if (self->reset.base.type == &digitalio_digitalinout_type) {
+ common_hal_digitalio_digitalinout_deinit(&self->reset);
+ }
}
bool common_hal_displayio_i2cdisplay_reset(mp_obj_t obj) {