9b43ac824d
add more methods for writing a config to file
...
these allow for adding a config to the proper section of an existing
binary file, or writing a config to a new config-only binary file
2023-06-29 14:43:46 -05:00
cbf0f52841
add method to generate a serialized + footer config
2023-06-28 19:21:27 -05:00
1345e8b18d
add length info to exceptions complaining about length
2023-06-28 14:38:13 -05:00
39fa558741
check the config's CRC32 checksum while reading
2023-06-28 14:38:10 -05:00
095fac19f1
properly account for combining config section with firmware
...
prior to this, the concatenate assumed it was concatenating a firmware
with a full *storage section*, e.g. the already-padded 8192 bytes, but
it's equally valuable now that I'm creating configs to have just a
config section + footer, which needs to be padded 8192. now concatenate
supports both
2023-06-28 12:52:49 -05:00
85d84144fc
concatenate command: combine firmware and storage into one file
2023-06-26 15:32:32 -05:00
229092dd66
custom config validation exceptions
...
might be useful when allowing for ignoring specific sanity checks
2023-06-22 00:08:12 -05:00
1b02e458e2
visualize-storage flag to print as JSON
...
closes #3
2023-06-21 18:21:22 -05:00
88ca5c5152
more tests for command invocations
2023-06-21 17:54:27 -05:00
5b8dc456f1
option to get the config out of a whole board dump
...
now you don't need to fiddle with specific byte ranges of a dump, you
can just dump the whole board if that's more convenient, and
visualize-storage will parse that
also more testing in general
2023-06-21 15:20:21 -05:00
d31c451d0c
tox for local CI, with coverage and bandit checks added
2023-06-21 12:31:58 -05:00
54035de00a
add pytest, test creation/import of config_pb2 module
2023-06-20 19:57:38 -05:00
0c7ed1fcea
improve storage parsing by using footer for sanity
...
magic is checked for sanity, and then the size is used for reading the
whole section rather than simply ignoring null bytes
closes #2
2023-06-20 19:57:28 -05:00
a55bea087c
add help text to the --version flag
2023-06-20 18:19:50 -05:00
dbd392cade
set up some sane-ish logging defaults
2023-06-20 18:17:46 -05:00
518aae359d
provide shortcut for the proto file path option
2023-06-20 15:45:31 -05:00
35abad327e
dynamically generate version number based on git
2023-06-20 15:43:21 -05:00
1302cb914c
correct wording of what get_config_pb2 is doing
2023-06-20 13:30:48 -05:00
8891dcc2f4
minor documentation cleanups
2023-06-20 12:59:47 -05:00
24617bf920
visualize-storage tool --- read GP2040-CE config
...
this also comes with a lot of project scaffolding for (IMO) a
well-organized python project. this should get the ball rolling for
other devs
2023-06-20 12:52:22 -05:00