When the belt length sanity check fails, don¢t leave the unit in the apply
tension state, unable to be recovered until a firmware reboot. Maybe put it
into the Unknown state (which is accurate I think?) so that tension can be
released.
good point, whenever the maslow decides it doesn’t know where it is, it should
switch to unknown
This is a great point. I would expect it to go back to the Extended Out state. I will look into that.
Unfortunately we don’t know if calibration is needed until apply tension is run. It should be a functional flow to do Extend → Apply Tension → Fails because calibration is needed → Run Calibration (without needing to retract or anything)
I’ll check that that is working right.
There certainly seems to be something in the flow which is confusing.
This is a great point. I would expect it to go back to the Extended Out state. I will look into that.
If it gets into the state where it says the belt lengths do not compute to a
valid location, I think unknown is more accurate than extended out. When you are
in extended out you should just need to apply tension, but when you have applied
tension and the belts are tight, extended out doesn’t make sense.
Unfortunately we don’t know if calibration is needed until apply tension is
run. It should be a functional flow to do Extend → Apply Tension → Fails
because calibration is needed → Run Calibration (without needing to retract
or anything)
should you be able to run calibration from state unknown?
or do we need a new state where the belt lengths are known, but do not compute
with a valid frame size?
I think that this is exactly what Extended Out means. Extended Out just means that we know how far out the belts are extended.
I’ve had a case where I extended them out and pressed “Apply Tension” only to realize that one of the belts was stuck on something. After clearing it I could just press “Apply Tension” again and it would be ready to cut.
You can also find anchor point locations after pressing apply tension.
Applying tension shouldn’t change the state if it fails, the belts are still extended and we still know how long they are
I think that this is exactly what Extended Out means. Extended Out just means
that we know how far out the belts are extended.
except if we don’t.
take the case of having a valid frame stored, you relax tension, shut down, and
start up, but the encoders have moved enough that your belt lengths are invalid.
apply tension, you are in a state where your belt lengths don’t match your
anchor locations.
you don’t know if your belt lengths are wrong, your anchor points are wrong, or
a belt got snagged on something and didn’t fully retract (as you used in your
example)