Commit Graph

65 Commits

Author SHA1 Message Date
Brian S. Stephan c60a5e784d
refactor to retain field_value in case it is a message
we can save some config lookups in this case (in particular in the case
where we are working with repeateds and the lookup against an iterable
won't work)
2023-07-01 13:00:48 -05:00
Brian S. Stephan 7aee99ef4f
allow for "opening" an empty config from file 2023-06-30 23:12:53 -05:00
Brian S. Stephan 7d5052e811
add edit-config, a Textual TUI for editing a configuration
this tree UI allows for viewing and basic editing of a configuration
section from a board. it does a decent job of displaying most of the
settings, and editing is equally convenient, as in it tries to handle
enums correctly, but doesn't validate pins or handle long binary strings
well.

saving is done in place --- if a config/storage section was opened, a
config section (no padding) is what results. if a whole board was
opened, the whole binary is rewritten with the new offset config
section. this way, a whole board dump can be changed in place, or a new
config can be made for use in e.g. concatenate to build an image

many enhancements to come over time
2023-06-30 02:01:01 -05:00
Brian S. Stephan 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
Brian S. Stephan cbf0f52841
add method to generate a serialized + footer config 2023-06-28 19:21:27 -05:00
Brian S. Stephan 39fa558741
check the config's CRC32 checksum while reading 2023-06-28 14:38:10 -05:00
Brian S. Stephan 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
Brian S. Stephan 85d84144fc
concatenate command: combine firmware and storage into one file 2023-06-26 15:32:32 -05:00
Brian S. Stephan c9b443f993
test/check to make sure I don't check in PS4 stuff 2023-06-26 14:53:37 -05:00
Brian S. Stephan 229092dd66
custom config validation exceptions
might be useful when allowing for ignoring specific sanity checks
2023-06-22 00:08:12 -05:00
Brian S. Stephan 1b02e458e2
visualize-storage flag to print as JSON
closes #3
2023-06-21 18:21:22 -05:00
Brian S. Stephan 88ca5c5152
more tests for command invocations 2023-06-21 17:54:27 -05:00
Brian S. Stephan 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
Brian S. Stephan a088cdcd73
unit tests for config parsing out of storage
closes #1
2023-06-20 20:01:22 -05:00
Brian S. Stephan 54035de00a
add pytest, test creation/import of config_pb2 module 2023-06-20 19:57:38 -05:00