Harden firmware state and transfer handling
This commit is contained in:
+3
-5
@@ -45,11 +45,9 @@ static void isr_enc0_b() { handle_encoder(0); }
|
||||
- ISR-Wrapper führen nur Dekodierung und Queue-Push aus; sie rufen kein USB,
|
||||
NVM, LED-Rendering oder `delay()` auf
|
||||
|
||||
Wichtig: Die Queue wird zusätzlich vom Matrixcallback im Loop beschrieben.
|
||||
Ein Encoderinterrupt kann diesen Push unterbrechen. Die Implementierung ist
|
||||
damit nicht streng Single-Producer und besitzt für diesen Fall aktuell keinen
|
||||
Interruptschutz. Details:
|
||||
[09_known_limitations.md](09_known_limitations.md).
|
||||
Die Queue wird zusätzlich vom Matrixcallback im Loop beschrieben. Dieser
|
||||
Loop-Push läuft in einer kurzen Critical Section; gleichpriorisierte
|
||||
Encoder-ISRs unterbrechen sich auf dem Cortex-M0+ nicht gegenseitig.
|
||||
|
||||
## Initialisierung
|
||||
|
||||
|
||||
Reference in New Issue
Block a user