Interstitial Firmware Releases

Nice! Can you tell me what branch its on and I’ll update it in the standalone calibration tool too.

1 Like

It’s on Maslow-Main now, I’m really not sure that it’s any different than before :stuck_out_tongue:

I see what you mean. I do like the rename though :slight_smile: I think we’ll need to allow entry of the 5 magic initial numbers (tlx, rly, trx, try, and brx) to see the impact. I’ll see if I can do this.

1 Like

Here is 0.69.1 which is meant to test out a pretty radically re-thought calibration system. I would love love love to hear feedback on what you think of it.

The gist of it is that it performs a series of concentric circles while recomputing the calibration at each one. The innermost 3x3 is done using the old system, and then after that it switches to using all four belts to move around.

This hopefully improves the math’s ability to find the correct answer and also reduces the chances of the belts finding their way into the drive gears.

Here’s a quick video on how it works. It didn’t work right in the video for some reason (there are still bugs), but I’ve gotten really great results with it for the most part.

index.html.gz (155.7 KB)
firmware.bin (1.6 MB)

1 Like

I will give this a try asap, assuming this works on vertical as well as horizontal?

1 Like

Indeed! (Edit: Indeed it works on vertical and horizontal…I thought a one word answer might not be very clear :joy:)

1 Like

Not able to see the video (says “private”)

My bad! Try it now?

It is still processing up to HD, but the SD version should be working

Will give it a try! Now!

Hmm, it worked good so far. After the initial small grid, it drove around with nearly no slack. But I didn’t get any feedback in the LOG. Even after the calibration finished I got no feedback. My computer worked a few minutes and then I could see, that I had new values under the config tab. Then I tried driving around a bit, but one belt was loose, so I think the calibration wasn’t that good.

I will measure today evening my frame as good as possible and then I will recalibrate with both firmwares 0.69 and 0.69.1 again. Then we will see which gets the better results.

Bye Markus

1 Like

How do I know that 0.69.1 finished the calibration? I still don’t get any notification in the LOG.

Oh man, I nearly fell from my stool. After 10 or more minutes the maslow suddenly started moving again and went back to the home position. :grimacing:

Now that .69.1 it is calibrating in phases I think it depends on if the last phase was deemed successful. I noticed many times that if my 2nd perimeter (5x5 grid) fitness is below 5 (recommends not using those values) then the 3rd perimeter will not execute.

I also noticed that if I hit the calibrate button again it will simply continue with the 3rd perimeter anyways.

@Markus_Rinn It sounds like you are not seeing any of the calibration output for any of the phases? For me I will see 2-4 calibration outputs every time I start a new calibration because it runs 2-4 phases of calibration. The each of the calibration outputs looks like it did from the last version.

so I think part of the downside of this whole calibration process is that the first phase relies on their being a web browser connected to do the initial calibration and send the values back. I think if you are using an older phone or tablet or whatever, this could take a long while. What I did was connect to it from my office computer, then my tablet, then go out and start it with the tablet… close the tablet browser tab, then my much more powerful browser on the computer did the first calibration.

If the calibration were in the ESP32 (fluidnc) code on the device this would not be a problem but it would take a LOT longer to do as the ESP is not exactly a powerhouse at computations and the current computations are in javascript on the web browser.

1 Like

Hmm, I have an older (10 years) notebook with an i5 connected to the maslow. I did not see anything in the log. Maybe the combination Linux and Firefox is not the best. But the fan of the notebook is still venting at a higher level.

I was thinking that I’m not convinced that this two/three part solution as it is (automatic) something we want. When you have a situation like mine where more than one device (or browser tab) is connected, there is a race condition and if there are two in the race (i.e. I don’t close one) then there will be commands sent from both, which could cause issues.

I DO like what its doing, but we probably want to have some safeguards in place about ongoing browser activities vs the device. Probably at least initially have the human do a little more.

Here is one thought:

  1. start off calibration as we do now.
  2. at the end of “phase 1” (“3x3”) send out a message to the browser(s) that it is done. also, whenever any browser connects from now forward (until phase 2), ask the user if they want to calculate.
  3. the user at a browser wherever, hits “yes” and this tells the maslow the result of the initial calibrate, which puts it into “phase 2” “grid search”, and the calibration continues.

Also I was not aware that there were more than two parts. mine stopped after 2, and I’m glad, because it would have gone off the edge if it kept going.

1 Like

Hahaha, I was also surprised, that the boundaries for the calibration grid were completely ignored. I needed to put some wood under the sled and pushed my workbench out of the way… :grinning:

I will fetch my charger plug it in and go to bed. Hopefully tomorrow…
Oh, it seemingly ended…

The lower belts went loose…

For me 0.69 worked a lot better. Only the motor sound is much better on 0.69.1 .
Edit: This answer is a bit short. 0.69.1 seemed much more intelligent and worked faster and smoother, but the problem was that the grid size couldn’t be altered and I think the calibration was not as good. I really need to measure all distances and calculate the exact coordinates to compare the calibrations.

maslow_ac_0.69.1.yaml (5.2 KB)
maslow_ac_0.69.yaml (5.2 KB)

1 Like