Open kobelev-tech opened 2 years ago
Agree, that it would be good to use this as an editor too.
The GUI was originally built to support more than one board, which switched the layout a bit on connect dependent what was detected. This would cause a issue, what GUI should come up when you start editing? Although I think I can remov this now. I don't have any intention to support the other firmware it could connect to anymore, it probably doesn't work great anyway, been a while since I tested it.
Set defaults is already in Master, currently wipes the flash on the board and reboots. Re-sync happens on connect to the board defaults.
If you see something you would like to change, by all means create a pull request too.
The GUI application is very similar to a classic editor of application specific data. Classic editor has memory buffer. User can load his data there, modify it using various controls and save the results of editing. This particular application has this structure:
There are 2 possible approaches to make the design consistent:
a. Treat the connected board similar to a data file. In this case it is separate from the memory buffer. Application should allow same operations like it allows on the .ini file. Application should allow full editing of configuration without any board. b. Treat the contents of the board and the memory buffer as the same thing. I.e. the buffer should be not existing when the board is not connected.
Existing design is much closer to the second case, but it is not exactly there. Let me give an example why:
In this scenario I do not have any board at all, but still I can use this application as an editor.
To make the design consistent, it is necessary to:
Not sure, maybe if this is already so:
It may look like that what I am writing is not important. Might be. My software background does not allow me not to write about this. Consistent design is consistent design. This is what the software is all about.
It does not look like this issue requires a lot of changes.