Semi working profiles and longer macros
This commit is contained in:
@@ -57,3 +57,31 @@ für Step 0–3:
|
||||
```
|
||||
|
||||
Die Makro-Tabelle liegt nach `setup()` im RAM (`m_macros` in CMainController). Kein NVM-Zugriff während der Ausführung.
|
||||
|
||||
---
|
||||
|
||||
## Geplante Erweiterung: 8 Steps (NVM v3)
|
||||
|
||||
### Motivation
|
||||
|
||||
4 Steps reichen für einfache Shortcuts, aber nicht für Excel-Ribbon-Navigation oder andere Sequenzen mit 5+ Tasten. Mit dem NVM-v3-Umbau (siehe [06_nvm_config.md](06_nvm_config.md)) stehen zwei vollständige Rows für die Makro-Tabelle zur Verfügung.
|
||||
|
||||
### Neues Layout
|
||||
|
||||
```cpp
|
||||
#define MACRO_SLOTS 32
|
||||
#define MACRO_MAX_STEPS 8 // war: 4
|
||||
|
||||
struct __attribute__((packed)) SMacroTable {
|
||||
SMacroStep steps[32][8]; // 32 × 8 × 2 = 512 Bytes = 2 NVM-Rows
|
||||
};
|
||||
```
|
||||
|
||||
### Neuer NVM-Speicherort
|
||||
|
||||
| Row | Adresse | Inhalt |
|
||||
|---|---|---|
|
||||
| Macro Row 0 | `0x1FB00` | SMacroTable Bytes 0–255 |
|
||||
| Macro Row 1 | `0x1FC00` | SMacroTable Bytes 256–511 |
|
||||
|
||||
`macro_config_save` muss entsprechend beide Rows löschen und 8 Pages schreiben (statt bisher 4).
|
||||
|
||||
Reference in New Issue
Block a user