-
Notifications
You must be signed in to change notification settings - Fork 324
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
Start migrating to protobuf board configs #970
base: main
Are you sure you want to change the base?
Start migrating to protobuf board configs #970
Commits on Oct 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9ad0da1 - Browse repository at this point
Copy the full SHA 9ad0da1View commit details -
remove support for legacy configs
users should migrate to the previous release first, if they want to be supported without redoing their config
Configuration menu - View commit details
-
Copy full SHA for bad7d31 - Browse repository at this point
Copy the full SHA bad7d31View commit details -
support loading the board config if the user config is not present
this also adds a sanity check for the now-expanded size of the storage sections in the flash
Configuration menu - View commit details
-
Copy full SHA for b631d2a - Browse repository at this point
Copy the full SHA b631d2aView commit details -
remove the build_info for compile-time pin defines
this is no longer relevant in the protobuf-as-board-config world
Configuration menu - View commit details
-
Copy full SHA for 51b8301 - Browse repository at this point
Copy the full SHA 51b8301View commit details -
break up the board/user config loaders and splice them together
this lets a board config patched into the binary to specify values that are not in the user config, and have them be applied to the user config. essentially, on board boot, we now: 1. pb_decode in loadBoardConfig 2. this loads the defaults 3. this then populates the structure with values from the board config 4. pb_decode_ex in loadUserConfig 5. this does NOT load the defaults 6. this then splices values from the user config into the structure the BoardConfig.h files and initUnset... remain, but this will allow us to move off of that as we start getting tooling in place for the protobuf board configs
Configuration menu - View commit details
-
Copy full SHA for e51c50f - Browse repository at this point
Copy the full SHA e51c50fView commit details -
DRY the config loader, and always start with initialized config
it was possible to never call pb_decode to initialize the config with defaults (e.g. if both the board and user configs were empty), this avoids that, in which case the calls are essentially identical
Configuration menu - View commit details
-
Copy full SHA for f96eda9 - Browse repository at this point
Copy the full SHA f96eda9View commit details -
start replacing some initUnset... with proto defaults
I think this is going to be a long road, but this is the kind of thing that's possible even without a board config in place
Configuration menu - View commit details
-
Copy full SHA for 8910179 - Browse repository at this point
Copy the full SHA 8910179View commit details -
add a post-build command to patch board config into .bin/.uf2
this starts the replacement of BoardConfig.h + migration code with shipped protobuf configs. this should help cleanup some code, and one day will hopefully replace the need for per-board builds entirely, greatly speeding up the GitHub build/creation of board binaries
Configuration menu - View commit details
-
Copy full SHA for 1cdb7a8 - Browse repository at this point
Copy the full SHA 1cdb7a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed1d522 - Browse repository at this point
Copy the full SHA ed1d522View commit details -
only patch the UF2, and keep a backup of the old one
also spit out the summary info just so people can see what happened happened
Configuration menu - View commit details
-
Copy full SHA for e3935d9 - Browse repository at this point
Copy the full SHA e3935d9View commit details -
copy the .proto files into one location before running concatenate
something about the protoc compiler (maybe just on Python 3.12?) doesn't like multiple -P path arguments, and until that's fixed, it's easier to just copy the files into one spot, which works fine
Configuration menu - View commit details
-
Copy full SHA for b1bfff8 - Browse repository at this point
Copy the full SHA b1bfff8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 441031a - Browse repository at this point
Copy the full SHA 441031aView commit details