Maslow Home Maslow Community Garden Newsletter

Holey Webcontrol Testing

I believe you mean you didn’t change them from what they are in the holey
branch, correct?

David Lang

I might not be understanding the question. The only thing different between @joshua’s firmware and the one I made was in settings.cpp, I changed 45 and 46 to 75 and 76. None of the variable names changed. In webcontrol, it sends the sled weight and chain elasticity using $75 and $76. That’s the only difference.

In Ground Control, there is a file, kinematics.py. did you update that in Web Control?

Yes. webcontrol doesn’t have the simulator so I just used your branch to pull that in.

I get the same results as you do running that test file.

1 Like

So it looks like $45 (chain elasticity) and $46 (sled weight) were previously committed to stock firmware as hard coded values with firmware keys. I didn’t realize that to be the case since they aren’t in ground control. So it looks like I have to rework optical calibration. If you test this webcontrol version out, you might have to wipe the eeprom to get it to work. I’ll working on moving things around if you all want to wait (@dlang and @johnboiles)

I think I want to get in on this. Which firmware is needed and will the holey branch webcontrol send it to the arduino?

WebControl will flash the arduino for you, including fetching it.

David Lang

1 Like

what sort of ETA are you thinking for the update?

I’ll try to get it updated tonight, but regardless, what’s there will work… just might have to wipe eeprom at some point once the new firmware keys get incorporated into main branch. Nevertheless, I’ll try to rebuild it tonight.

To be technically correct (the best kind of correct*), webcontrol has it already compiled and embedded as a file in the docker. So there’s no “fetching” needed.

*See Futurama episode, S2E14, “Hermes Requisitions His Groove Back”

@madgrizzle Just so I’m in the right place, I want to upload the “custom” firmware for WebControl w/holey, right? There are three firmware options.

Is there a “Upgrade Holey Firmware” option? if so, that’s the one.

Yes, but once the holey firmware is in place it triggers the firmware mismatch message. The “some functions will be disabled” part is why I’m double checking.

:slight_smile:

1 Like

Ideally, until holey calibration is incorporated into the stock firmware, it would present a version number different than the stock firmware… But this is for testing purposes… Since I forked the holey firmware repository, I probably will make that change on my own when this gets pushed as an official webcontrol release.

I just pushed an update version with firmware keys modified. Let me know if there are any issues.

Sorry… I forgot to push it. It’s there now.

Testing Methodology:
Starting with a wiped Arduino and fresh Pi image. I used the “Quick Configure” and “Set Sprockets Vertical” options to populate the initial configuration. Once that was complete I set the z-axis zero and executed the “Holey” pattern cut.

Initial settings:
Height to Motors: 407 Distance Between Motors: 2999

Holey Measurements: M1:971, M2:972, M3:967, M4:969, M5:703, M6:697, M7:703, M8:1191, M9:1200, M10:1201, M11:1193, M12:289

Calculated Measurements: Height of Motors:493.23422, Distance Between Motors:3604.11278, Left Chain Tolerance: -0.05903, Right Chain Tolerance:-0.12675, Calibration Error: 1

Findings:

  1. Typo under “Settings”. In “Maslow Setttings” the word “Setttings” should only have two "T"s.
  2. When setting zero on the z-axis there is no button to return to safe travel distance. Perhaps the first move in the holey g-code should insure that the bit is at least +5mm from zero.
  3. Holey suggests a HUGE deviation from the measured geometry of the machine. Any ideas how to account for this?

Please let me know what is needed next.

2 Likes

Thanks, I’ll look at it today… something seems off for sure.

To debug the GUI against the calibration, you could enter those measurements into the RunHoleyCalibration script. At least that would eliminate one potential source of error. Further, it could give you a good calibration.