2 bugs, or not 2 bugs, that is the question (Arduino 'insane')

I am not sure where to post this, but I was able to spend a few hours this weekend, trying to do developments related to Holey Calibration.

There have been several posts by @jimr about difficulty initializing the machine following a calibration. So, I had it in my mind that I would try to address this if I encountered it. I didn’t actually make any progress on Holey Calibration because I did run into an issue similar to @jimr. Further, in my digging, I found quite a bit of stuff that was questionable. I didn’t pursue a quick solution, and I tried to dig in to understand a root-cause. The issues I encountered are new to the v1.26 updates, and were not present in the GC and Firmware Update versions.

  1. There was the issue of initializing the machine after calibration. The issue I ran into was: the Distance Between Motors was different from the default (12 ft vs. 10 ft), and the initial chain-lengths resulted in an x,y position that was off the board. The only way I was able to recover from this (without resetting the chain-length) was I commented Kinematics::_verifyValidTarget on line 73.
  2. After this, when the machine started, it would not respond to any g-code commands. If I executed a command like “B10L”, it did not respond in any way. The only way to make this work was to hit the stop (red stop sign button in the GUI), which re-initialized the Firmware, and it was then functional, and would respond to “B10L”.
  3. Despite (2), even though the Firmware would receive the command and respond, it did not display values in the GUI via the (I think) runPeriodically function, line 326
  4. After digging in, I found some stuff that appeared off.
    a) The function runPeriodically, line 326, parses the text in the line to determine how to handle it, and something is going wrong.
    b) The function, getLeftChainLength, line 173, looks like it sends a B10R (Requests the right chain-length). This makes no sense.
  5. I still wasn’t able to et the Firmware to respond to many commands; the [Home] button, for example.

Following this work, I would like to identify a strategy moving forward. There are quite a few bugs in the code, and improvement opportunities. I am not sure where or how these issues came about, or if they are just things nobody has seen because they were moving too fast to stop and notice. I don’t have any answers, unfortunately.

3 Likes