Currently, editing is only allowed via the UI. It doesn't work well for bulk copy paste, and it requires new UI to be written for every bit of configuration.
A new feature would allow loading and saving configuration as YAML. This would work across multiple devices (at least within the device's capabilities) and would make it easier to add features such as intership channels etc.
The idea is to build this as a modular setup, making it easier to add new config knobs.
Each config module should be responsible for
knowing device support information (whether the feature is available, what are its valid values on this device e.g. supported directory size, and binary offsets)
interpreting parsed YAML to produce desired binary edits
interpreting data read from the device to produce YAML
the config modules should be ordered and be able to pass info to future modules via a context. This is because some config areas reference others, eg routes reference waypoints
Then:
Build a binary edit abstraction consisting of ranges that one can add read or write operations to, which can then be executed as a batch either on a device or on a DAT file in memory.
Add a feature that parses YAML, runs through modules in order, thus producing binary edits. Then apply the edits.
Add a feature that runs through modules to build binary read operations; reads them from the device or from a DAT file, and runs the modules in order again to decode the information into a YAML file.
Currently, editing is only allowed via the UI. It doesn't work well for bulk copy paste, and it requires new UI to be written for every bit of configuration.
A new feature would allow loading and saving configuration as YAML. This would work across multiple devices (at least within the device's capabilities) and would make it easier to add features such as intership channels etc.