28 Commits

Author SHA1 Message Date
c81f4cd139
properly test protobuf structure packaging options
this should all be tested now:
1. invoking against precompiled _pb2.py files provided by user
2. invoking against .proto files provided by user which must be compiled
3. invoking with a special option to use shipped (by us) .proto files
   which must be compiled
4. erroring because none of the above occurred

this took some reorganization, but this should finally give me stability
in using this in GP2040-CE's build process

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-12-18 08:46:14 -06:00
975afbbd6c
add twine to dev dependencies, for packaging to pypi
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-05-21 13:13:34 -05:00
90a5f879df
specify to package the protobuf snapshot
the REUSE stuff made simple discovery not work, so setuptools had to be
corrected, this has probably been wrong since then
2024-04-13 23:29:05 -05:00
5022616f1d
summarize-gp2040ce --- print information about firmware
can be read from a file or over USB

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-12 20:13:38 -05:00
65ae51af72
rename visualize-storage as visualize-config
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-12 10:39:29 -05:00
ba620c87ca
fix pyproject.toml package find the proper way
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-12 10:23:18 -05:00
0789dd8c9d
follow reuse lint
Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-12 01:46:25 -05:00
624a7e72e3
use the SPDX descriptor for the license
seems to display better on PyPI

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-04-12 00:05:25 -05:00
b900e1dd04
relicense as GPLv3
prior MIT-licensed versions can be obtained from the Git history; this
does not revoke those versions

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-03-08 00:02:43 -06:00
b3f6f86950
ship precompiled protobuf files for convenience
current libraries seem to have problems on Windows with thinking files
are duplicated when they are not, making it impossible to compile .proto
files at runtime in this tool on that platform. this adds a fallback of
using shipped, precompiled files in the package. I was already intending
on providing this as an option anyway, so might as well start doing it
now.

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-01-09 09:40:07 -06:00
1a7672b826
link to changelog in the package metadata 2023-07-12 19:21:06 -05:00
b7bb437ae8
command to dump whole GP2040-CE image from USB 2023-07-11 16:27:01 -05:00
ef842032f1
add textual-dev to dev dependencies 2023-07-11 11:44:47 -05:00
7a9d5ad1d1
dump-config tool to easily backup a board's config section
doesn't require picotool, doesn't include padding, does include the
footer
2023-07-07 20:09:00 -05:00
772ae953f0
add method to reboot a pico (in BOOTSEL) 2023-07-06 16:07:06 -05:00
6580990380
pyproject.toml tweaks for publishing as a package 2023-07-05 23:56:59 -05:00
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
51445163a8
add mypy (with some overrides) to tox 2023-06-28 12:55:50 -05:00
85d84144fc
concatenate command: combine firmware and storage into one file 2023-06-26 15:32:32 -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
e6f6a888a5
bump minimum python to 3.9, we're using subscriptable type hints 2023-06-21 09:11:05 -05:00
a088cdcd73
unit tests for config parsing out of storage
closes #1
2023-06-20 20:01:22 -05:00
54035de00a
add pytest, test creation/import of config_pb2 module 2023-06-20 19:57:38 -05:00
8404ec0d54
add mypy to the development tools 2023-06-20 18:26:29 -05:00
35abad327e
dynamically generate version number based on git 2023-06-20 15:43:21 -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
df3a2a5394
some project scaffolding and requirements files 2023-06-20 00:29:58 -05:00