Merge pull request #3392 from hierophect/esp32-displayio-fix
Fix some DisplayIO crashes, add ESP32-S2 debugging capability
This commit is contained in:
commit
a60906d7df
@ -125,7 +125,7 @@ CFLAGS += $(OPTIMIZATION_FLAGS)
|
||||
|
||||
CFLAGS += $(INC) -Werror -Wall -mlongcalls -std=gnu11 -Wl,--gc-sections $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT)
|
||||
|
||||
LDFLAGS = $(CFLAGS) -Wl,-nostdlib -Wl,-Map=$@.map -Wl,-cref
|
||||
LDFLAGS = $(CFLAGS) -Wl,-nostdlib -Wl,-Map=$@.map -Wl,-cref -Wl,--undefined=uxTopUsedPriority
|
||||
LDFLAGS += -L$(BUILD)/esp-idf/esp-idf/esp32s2 \
|
||||
-Tesp32s2_out.ld \
|
||||
-L$(BUILD)/esp-idf/esp-idf/esp32s2/ld \
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user