Open todbot opened 2 years ago
2+ displays really isn't supported so I'm not sure what could be the issue. The next step I'd take is to use a JLink on the RP2040 to determine the backtrace of where it hangs. On the S3 you could do a debug build and see what backtrace is output to the UART.
I think this may be linked to #2204 - I would expect it to crash when you add a fourth display - I've put a PR in to fix this
Probably fixed by #7983. needs re-test.
CircuitPython version
Code/REPL
Behavior
On
adafruit_qtpy_rp2040
, system simply hangs on creation of fourth display_bus:On
adafruit_qtpy_esp32s3
, it actually triggers the HardFaultHandler:Description
When adding
#define CIRCUITPY_DISPLAY_LIMIT (4)
tompconfigboard.h
, recompiling, and using resulting UF2, CircuitPython crashes when trying to create a fourthdisplayio.I2CDisplay
display bus. Tested onadafruit_qtpy_rp2040
andadafruit_qtpy_esp32s3
.Additional information
I've been poking around
shared-module/displayio/__init__.c
and I don't see anything obviously wrong. Perhaps the loopfor (uint8_t j = i + 1; j < CIRCUITPY_DISPLAY_LIMIT; j++) {
inreset_displays()
? I don't understand it yet but it seems like it could make trouble. :)