Skip to content

A way to read and write Adafruit Macropad settings to non-volatile memory

Notifications You must be signed in to change notification settings

calbert1209/mgogo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mgogo

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)

Basic types

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.

Complex types

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>

Intended limitations

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.

About the name

Mgogo is Swahili for woodpecker, a bird with a sense of rhythm.

About

A way to read and write Adafruit Macropad settings to non-volatile memory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages