digitalsputnik / ApolloFirmware

Micropython software for the Apollo lamps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"PySaver" - Saving Variables in python

MJoosep opened this issue · comments

Implement Save/Load functionality similar in usage to Python Pickle. Saving variables should be done by listing them in a Tuple and writing the Tuple to a file. Loading objects should be done using Tuple offsets to determine the correct position of a variable's value. This logic is hard coded into the load function. Saving should be done in under 3ms, for that the savable data should be kept ready in a string format. Saving/Loading should be possible to use from within objects themselves.

Example of using saving from within the object itself: "Output.Save(_rgbt)"

  • Implement Saving logic that works under 3ms
  • Implement Loading logic

Use cases:

  • To save Data quickly on brownout (this operation should be done under 3ms to avoid data corruption)
  • To save Data on WiFi mode change (this operation allows for more time due)