-
Notifications
You must be signed in to change notification settings - Fork 16
Refactor GUI into a webpage using a HTTP-API #40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
= switch to compressed log
…was not thought of)
+ Add stop-button + Add fullscreen-mode for graph
…oints for logs and configs and a new ConfigFilesPanel
…one. This allowed the fix of B-Mode
- Add documentation for new GUI / wulpus controller
Add gitlab runner build of a all-in-one exe using pyinstaller
…at there were only as many measurement columns as there were rows.
… only sending ws-message on change) + adding warning about offline-server to ui
(+ fix build by removing unnecessary import)
|
@13Bytes , thank you for the contribution to the WULPUS project. It is great to see your alternative GUI. Our team is currently in a conference trip, we will review your pull request proposal in early October. |
+ Add Matlab import script + make logfiles more tracable to wulpus by appending connection details
Add support for multiple WULPUS in parallel
|
@13Bytes , sorry for the delayed reply on this pull request. Unfortunately, I could not review it on time, and since late November I am no longer a member of the PULP-BIO organization nor a maintainer of the WULPUS repository. I hope others can take it over and merge your contributions. Thank you again for your hard work. Best, |
To increase the usability of the UI and also make it easier to extend the code, I created a big refactor of the python-part of wulpus.

It has feature-parity with some quality-of-life improvements.
The code-structure is as following:
Ther's now a main
Wulpus-class, which only represents a wulpus-board and its states, without any user-interface.The user-facing API is served via HTTP using FastAPI in
main.py, which gets used by the react frontend.The frontend can therefore take advantage of all the benefits of a browsers rendering engine.
This also increased the overall reliability of the program (at least on my system) a bunch.
It uses the same config-structure, but allows quick editing of all parameters in parallel without any reload.
It also includes an integrated log-browser with replay-functionality.
I added support for integrated bluetooth-adapters and extended the log-format so it also stores e.g. the capture-time and the used config, which allows for easier reconstruction and synchronization between different measurements.
Ther's now also an automatic build of the application (into an .exe) of every commit, which allows users who don't need the dev-environment to just run it. (Can be found as an artifact on the summary-page of every workflow run)