A library to convert Adafruit Macropad RP4020 settings to and from binary for read and write to micro-controller non-volatile memory.
Inspired by the Redis serialization protocol specification (RESP)
type | length | prefix | notes |
---|---|---|---|
SWORD | 3 bytes | # |
short word |
WORD | 7 bytes | _ |
|
LWORD | 15 bytes | $ |
long word |
PCODE | 1 byte | + |
push code |
RCODE | 1 byte | - |
release code |
(END) | 1 byte | \n |
signals end of binary array in NVM. |
type | prefix | notes |
---|---|---|
ARRAY | *n |
of length n; may only hold a single type |
KCODE | +- |
union of PCODE | RCODE |
COMM | < |
WORD (label) + SWORD (LED color) + ARRAY<KCODE> |
PAGE | [ |
LWORD (label) + ARRAY<COMM> |
Strings beyond 15 characters in length are not supported. In actuality the display UI cannot handle strings longer than this anyway.
Unicode is not supported by the default Circuit Python font, so one byte per character should be sufficient.
Mgogo is Swahili for woodpecker, a bird with a sense of rhythm.