-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/serial settings #350
Conversation
@jordens I had to refactor to the latest versions in Stabilizer. Mind taking a second look here? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused. Don't we store the main board settings (broker etc) already in the eeprom? And with this now also in flash?
Could you document somewhere the overall architecture (what's stored where in which format, what's the precedence etc)?
Correct, we did store it in EEPROM, but the EEPROM was too short to contain i.e. a DNS-named broker, so this PR is migrating existing settings over to flash.
The intent of the design is to:
That way, we don't cause users to lose their existing configs when switching from earlier booster firmware to latest. However, it does result in us carrying over a bunch of legacy EEPROM code for settings management and makes the whole process more complicated. All new settings will be written to flash and EEPROM will essentially be "frozen" after this merge. We could just entirely deprecate the old EEPROM settings and force users to reconfigure booster during the firmware update if we want to simplify.
Yeah, this is a good idea. I'll add it to one of the settings modules. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with these slight changes.
Co-authored-by: Robert Jördens <[email protected]>
Co-authored-by: Robert Jördens <[email protected]>
This is a proof-of-concept using the
serial-settings
crate to see how well it works with the API.cc @jordens