1.8 KiB
1.8 KiB
VersaMCU – Dokumentations-Index
Jede Datei deckt eine Firmware-Komponente ab. Für Claude: die relevante(n) Dateien zu Beginn einer Aufgabe lesen statt die gesamten Quelldateien zu scannen.
| Datei | Inhalt |
|---|---|
| 00_architecture.md | Loop-Ablauf, Datenfluss, Key-ID-Schema, globale Invarianten (kein Heap, kein Float, packed Structs, aligned NVM) |
| 01_matrix.md | 5×5-Scan, Debounce, Key-ID-Berechnung |
| 02_encoder.md | Quadratur-Dekodierung, LUT, ISR-Aufbau, Halbschritt-Akkumulator |
| 03_action_engine.md | SAction-Struct, ActionType, execute_action, Tap-Only-Modell, HOST_COMMAND-Pfad |
| 04_macro_system.md | SMacroTable, NVM Row 1, Slot-Konvention, aligned-Buffer-Pflicht |
| 05_led_system.md | 2-Schicht-Modell, alle Animationen, Hue-Arithmetik (kein Float), Render-Pipeline, Bit-Bang vs. DMA |
| 06_nvm_config.md | Flash-Layout, SDeviceConfig-Byte-Map, CRC16-CCITT, Schreib-Mechanik, Defaults |
| 07_serial_protocol.md | 8-Byte-Pakete, alle Command/Event-IDs, Chunked Transfer, Ring-Buffer |
Schnell-Referenz: Was steht wo?
- Warum packed? → 03_action_engine.md, 06_nvm_config.md
- Warum kein Float? → 05_led_system.md, 00_architecture.md
- Warum Bit-Bang statt DMA? → 05_led_system.md
- Aligned-Buffer bei NVM-Write? → 04_macro_system.md, 06_nvm_config.md
- Warum on_press/on_release leer? → 03_action_engine.md
- Kein Hold-Support? → 03_action_engine.md
- USB nach SWD-Flash nicht erkannt? → 07_serial_protocol.md