- Jun 12, 2023
-
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
Contributor sign-offs: https://git.card10.badge.events.ccc.de/badge23/firmware/-/issues/5
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
This is an annoyingly large change, but the gist of it is that we: 1. Move ctx into components/ctx 2. Move uctx into usermodule/mp_uctx.c 3. Split out uctx config into ctx_config.h and share it with the simulator. 4. Delete a bunch of unused ctx files 5. Flip some ctx bits for speed. 6. Draw the rest of the owl, ie. implement a dedicated rasterizer task in components/st3m.
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
- Jun 11, 2023
-
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
-
q3k authored
This implements the 'crtc' part of the graphics stack, ie. the task responsible for blitting out a set of framebuffers over SPI as fast as possible. Currently this is still single-buffered, as the micropython API needs to be changed to support injected, per-frame ctx instances.
-
q3k authored
-
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
-