unified_retro_keyboard/firmware/asdf/eeprom-spec.org

1.0 KiB

EEPROM management

Uses

Store current keyboard ID

Store status of various options

key repeat rates and delays
communications delays
serial baud rates
keyboard macros
keyboard specific options
all caps / upper+lower
handling of special keys

Allocate on demand

System block does not change as keyboards are changed

Items include:

current keyboard

All system block allocation must occur before any keyboard allocation may occur.

Once system EEPROM is allocated, system EEPROM is "locked"

If system EEPROM is locked, then EEPROM cannot be reallocated, although the parameters may be re-written.

provision to unlock EEPROM, for example, when firmware is updated, or during development

Keyboard block is reset whenever the keyboard changes

Any parameters specific to a keyboard, such as macros, keymap-specific settings, etc. are stored here.

This section is erased when keymap changes, but not when a keymap is loaded from EEPROM at powerup.