How to better prevent overflow #384
Labels
dosing algorithms
high priority
performance
Performance of Python app, databases, MQTT, or any other program
safety
user interface
what-happened
Completed
1. UI: Improve the response time between UI click and action
Problem: suppose a user is adding media continuously. They hit [stop] because the level is getting high, or is already overflowing. Any lag between the action and stopping dosing can cause damage.
Solutions
2. If MQTT disconnects, we stop the pumps
3. UI suggestion: when clicking [continuously], always run waste pump, too.
If waste pump is automatically run with pump X, users don't need to think about sequence of actions (run waste -> run pump X -> stop pump X -> stop waste), nor make the mistake of forgetting to run waste pump until it's too late.
Q: What are the situations where we don't want to run waste pump with pump X?
Q: What are the situations where we do want to run waste pump with pump X?
4. UI suggestion: redesign the pump modal to encourage best practices
The current modal is too low level, and is a footgun. We can design it to support common routines (cycling, cleaning, etc) and put safety nets in those routines, which can help solve all of the above.
5. Pumps: when running waste pump and X concurrently, if rate of X > rate of removal, an overflow can occur.
Solutions
Note: There's always going to be a difference between the pumps: users could add a "super" pump as media, and a small pump as waste, and we can't prevent overflow without proper calibrations.
6. During a dosing automation, we track the vial volume, and produce a warning if the volume >= 17ml. We also halt dosing if the volume will exceed 18ml
The text was updated successfully, but these errors were encountered: