- Jun 11, 2023
-
-
q3k authored
-
q3k authored
This replaces the original GC9A01 driver with one optimized for our usecase, implemented directly in a brand-new BSP (board support package) component. The major differences between the drivers are: 1. aware of different badge generations 2. generic: still supporting the possibility that we might have to switch to a different SPI display at some point 3. only supports writing entire screen at once from in-memory buffer: no line drawing, filling, etc. 4. spi screen blitting does not waste CPU time, instead uses ESP-IDF/FreeRTOS DMA/Interrupt logic to perform transfers efficiently. We also drive-by enable SPIRAM, as we're starting to run out of memory.
-
moon2 authored
p6, badge link: fixed pin indices. note: labels in schematic are wrong, should fix before publishing
-
moon2 authored
-
q3k authored
Also drive-by removed unnecessary git submodule crud - we can now check out all submodules without wasting time.
-
q3k authored
As part of the history rewrite we removed all unused micropython submodules, so we don't have to use their machinery anymore to only update submodules that are in use by our port.
-
q3k authored
-
q3k authored
This uses atomics to lock out concurrenct writes/reads, and fixes some potential null pointer dereferences.
-
q3k authored
We can't run this as it uses old display_* calls. For historical use we have git history.
-
q3k authored
This removes some leftover Python code that still used the old display_* calls for drawing instead of ctx. We are now left only with display_update, which we will replace by the new graphics stack soon.
-
q3k authored
Sometimes mpy code requests ctx too early, before the display (and thus ctx) are initialized. This is a quick-and-dirty workaround as we're planning on getting rid of this code path anyway.
-