It cleans up a couple of the pesky issues that we saw in 1.14 and also adds automatic orientation detection and automatic calibration grid calculation to move us toward the "just press ‘Find Anchor Points’ and don’t worry about anything else goal. Orientation detection is automatic, but to have the calibration grid calculated automatically you need to set your target grid size to 0mmx0mm.
I’ve noticed that if I turn off the machine while it’s in the “Release Tension” state and then turn it back on, it boots into the “Unknown” state. That means I have to go through the whole retract–extend routine again.
However, if I turn it off while in the “Ready to Cut” state, it does not reboot into “Unknown”.
Is this expected behavior? And do other users experience the same thing?
I need to partially unhook the machine after each use, but I’d prefer not to redo the entire retract–extend routine every time.
That does sound like a bug. Would you be willing to test out the AI bug fixing system by making an issue describing what you are seeing here: GitHub · Where software is built
Feel free to literally just copy and paste what you wrote above, that should be perfect.
The AI should then automatically create a fix for it.
It won’t by default, but if you comment on the pull request “@maslowbot please build” it will build a new firmware.bin file for testing.
If you want to make any changes you can comment “@maslowbot this doesn’t work right because of XYZ” it will try to fix the issue and make a new version
That does sound like a bug. Would you be willing to test out the AI bug fixing
system by making an issue describing what you are seeing here: GitHub · Where software is built
that is actually by design.
It’s only when the belts are tight (ready-to-cut or retracted) that it’s
reasonable to keep track of the encoder position.
when you have released the tension, you don’t know if there is slack between the
spool and the encoders and so you can’t rely on the encoders being sane.
Although when you release tension and then apply tension there does not seem
to be a problem! The Maslow restores position without any problem.
when you release and apply, the maslow is tracking the movement of the encoder
the entire time
but if you release tension, turn off power, then let the belts move and then
turn the maslow on and apply tension you can run into problems.
The maslow currently only saves the encoder positions when you are ‘ready to
cut’ or ‘retracted’ (i.e. when the belts are tight)
when the maslow starts up and sees that the encoder positions were saved, it
allows for about a 1/4 turn of the encoder in either direction. If the encoders
land in the remaining 1/2 turn, the maslow detects a problem and tells you to do
a full retract/extend.
This 1/4 turn is ~10mm in either direction, then there is another 20mm that will
alarm, but if you were to have the belt go 35mm out of position, the maslow will
not detect a problem, but will be a full turn off (40mm off from where it thinks
it is)
I was being conservitive when I set these limits, because I wanted to be very
sure that it would not power up and get the wrong belt lengths.
We could change the recovery limits from ±10mm to ±20mm with no safety margine
to warn you, it would always think that it recovered the belt lengths, but could
easily be off by a multiple of 40mm.
If you change the firmware to allow for the position to be saved when the
tension is relaxed, you run the risk of being off by a multiple of 40mm when you
power on again.
Copilot has made a suggestion for a fix and compiled a new firmware. I haven’t tried it yet, but if this “feature” is not for the greater good and it messes with the precision of machine I won’t push for a change.
My use case is this: I set up the machine, finish a cut, release the tension, and unhook it to free up space in the workshop. Later that day, or the next, I might need to run another cut. In that scenario I’ll set the home position again anyway, so the precision of the saved state is less important. That’s when skipping the full retract–extend routine would really save time.
I think that it should be safe to do that. Worst case is that you would go to hook things back up and after pressing “apply tension” you would find that the belts have moved since you powered it off and you would have to start over.
I think that it should be safe to do that. Worst case is that you would go to hook things back up and after pressing “apply tension” you would find that the belts have moved since you powered it off and you would have to start over.
the worst case is that the belts have moved enough to make the machine think
they haven’t moved and end up with the belts a multiple of 40mm longer or
shorter than it thinks they are.
we could change the correction from ±10mm to ±20mm but that would mean that
there is no chance of it detecting the belts have moved too much and it will
always accept the belt lengths as valid, making it more likely that they will be
off by a multiple of 40mm
Apply tension will catch this. When it applies tension it takes a measurement and compares that to the frame dimensions stored in memory and it won’t let you proceed if they don’t match.
I’m excited to try this out. I’ve been away since v1. 7! I have tried v1. 14 quick the other day but the Maslow lost wifi during a test grid print. The calibration only used a 3x3 grid (the default) for a 4’x8’ horizontal platform. The y axis was reading about a 1/4" long for each 6 inches, and x was pretty close. Calibration ran quick.
I know what caused the wifi drop, so I’ll take care of that and get v1. 15 on tomorrow.
I am still hoping to get parts within 1/16th of spec. Let’s see.