I have still not been able to test my cell because I wanted to make sure I had my mystat calibrated correctly. For this I wanted to implement a calibration wizard. Unfortunately I was not prepared to deal with the very large single file, single layer codebase of the mystat control software. I therefore had to start refactoring this code. My progress is visible here: https://codeberg.org/sepi/mystat/src/branch/feat-refactor-modular
The advantages of my refactor are amongst others the following:
- less global state, easier to understand code
- multiple smaller modules making it easier to find code
- layered architecture, separating concerns more cleanly
- "plugin" system for easier extension
- easier testing of both hardware code and gui code due to decoupling into layers. A mock hardware class could be implemented to test the gui or other Tabd could be implemented as new classes
- availability of decoupled hardware layer that can be used independently of the gui
- easier implementation of new "Tab plugins" by subclassing and using the hardware and gui layer.
This is still work in progress and probably pretty buggy. I tried not to touch any of the implemented logic but there afe surely some problems left. Once I'm done with the refactor, I would like to write a wizard for calibration hoping to make it obsolete to consult the original paper for reference.
I'm open for comments and suggestions now and help with testing once my branch has stabilised a bit.

