- Jun 13, 2023
- Jun 12, 2023
-
-
q3k authored
-
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
-