added known bugs to gui page authored by Wyatt Duberstein's avatar Wyatt Duberstein
......@@ -50,7 +50,7 @@ You can click the "Home" button in the top left to return to the mode selector p
This page is the redesign of the old balance beam GUI that exists separate of the CyDAQ Mixer. This one aims to fix a few of the issues that the other one has, such as not being able to hotplug the CyDAQ, and having lots of issues where it needs to be reconnected and restarted to work, etc.
> This version of the CyDAQ was implemented without any form of live connection to the CyDAQ, other than the wrapper. This was also a feature that we had originally planned to add, but had run out of time.
> This version of the CyDAQ was implemented without any form of live connection to the CyDAQ, other than the wrapper. This was also a feature that we had originally planned to add, but had run out of time. Read below to see what some of the known issues/bugs are.
The Balance Beam Page looks like this:
......@@ -74,6 +74,20 @@ The Pause button does what you'd think it does, it pauses and resumes the balanc
The plotting of the balance beam works by the GUI calling a method in the CLI wrapper that sends a command to the CLI tool and gets the ball's current position. It is run a lot, to simulate the data being "streamed." Again, this is because we weren't able to do a direct connection to the CyDAQ to get more accurate/efficient live data.
## Known Bugs/Issues
> Note: As of writing this, the balance beam page was never fully finished. This was due to running out of time in the project because of fighting the implementation style that we chose. Therefore, there are some bugs that haven't had the chance to be fixed that we are aware of on the balance beam page.
1. When you start the balance beam, there was supposed to be a window that would pop up and let the user know that the program is checking the CyDAQ to see if the balance beam module is connected, but when it pops up (on the main thread or otherwise) it freezes the GUI and it won't start. But it does work as expected on the first attempt. We had to disable this in order for the balance beam module to work at all.
2. When the balance beam is running, if you were to stop the balance beam and restart it, the GUI would freeze and crash. This is likely an issue with the threading that I implemented (it honestly might not be that great, I am new to it) and not properly removing/killing the threads.
3. When the balance beam is running, if you were to press a button that sends a command to the CyDAQ (e.g. any button except for the `Save Data` button), the balance beam plotter increases in speed. This keeps going every time you press a button basically until the GUI crashes.
- Possible Fix: This may have to do with the fact that I never put in a speed restriction in the while loop of the code, due to my initial tests showing that the code that I had now had decent speed metrics. If there were to be some kind of a `sleep()` function call or something like that, that could fix it.
- There also may be an issue with the data connectors used from pglive to plot the data. If there are 2 or more threads running that are plotting the data, it will just give the impression that it is running n times faster (n being the amount of threads running)
4. The Balance Beam Page is just generally buggy as I didn't have the time to go through and debug due to not finishing everything. I don't have any cases for a few special edge cases that can occur when the balance beam has an error or is disconnected, etc.
# Debug
The debug page is a page that is used to get diagnostic information from the CyDAQ as well as a space for running whatever tests are included.
......
......