that is the point. what if the du command is not successful? there could be cases that the du call is fine from the python perspective but the result is not a successful or expected result. therefore avoid getting the indexes from array unless you definitely know there is the index.
FULL volume is 1500. Unlikely to be less than 1500 as fills tend to overshoot a little (they don't stop until at least 1500). Add new #define for a max start value - maybe 1575 and use that instead.
Yes. The pump minimum target is 3, attempting to set smaller than that limit results in the pump being turned off.
The underlying issue is that stepConcentratePumpToTargetSpeed does not initialize speedIncrease or hasTgtBeenReached, or update the currentPumpSpeed target unless the currentToTargetDiff is < nearly zero. Since the speeds are quantized, we'll see zero more frequently than expected. Particularly when stopping the pump, the Diff will be zero, and currentPumpSpeed may never be updated, leading to odd transient conditions.
By increasing the "zero" level, and adding the initialization and else clauses for zero error and stopping the pump, we guarantee that the speed setting is always set intentionally. Also we already have a minimum speed parameter, used to determine when to stop the motor, and attempts at motor control at these low levels.
It is fine for now, but as a comment, the part that calls the du command and checks the length and gets the size value should be a function. Please consider for later improvements.
It is fine for now, but as a comment, the part that calls the du command and checks the length and gets the size value should be a function. Please consider for later improvements.
Will there be any worst-case scenario that the temperature never come down (say below 60) and get into a cyclic loop between cancel path and cool idle state?
Consider turning these into bits like the commanded states above. Dialin can convert them to separate valve state flags on receipt and UI can do the same for logging. Discuss with Dara and Michael.
Let's try not to use words like enable/disable unless we're literally doing just that (e.g. disable x alarm). I think the core of this test config is "use wet cartridge".