-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FT Motion updates #27349
FT Motion updates #27349
Conversation
7dc32cf
to
e8aabdc
Compare
b1963da
to
b062a3b
Compare
f99cb82
to
e1757c8
Compare
So you want to add Ulendo's CaaS (M494) but in this case we need an accelerometer and a PI. Why not installing Klipper? :) |
e1757c8
to
45092a1
Compare
This is a set of proposed changes submitted by Ulendo, which I needed to reorganize as a starting point to sort them out. I'm starting out by posting them more-or-less as-written, and it will be up to us to keep the good parts, fix the broken parts, and throw out any unnecessary changes here. I haven't made any specific choices yet, except probably to merge the time-based endstop monitoring. I need to tweak I don't think the |
Regarding endstops management, the code was already proposed in #26848 then removed because of bugs. I deliberately didn't include M494 when I submit #26848 as an external device is needed to tweak the shaper (Raspberry PI). |
244bdec
to
52bc3db
Compare
Too bad that isn't true for everyone 😄 We have several open FT Motion bugs right now.
This is incompatible with LPC-based configs and is now sanity checked (#27302), so it's not universal. |
@thisiskeithb , not sure that sounding is a bug. For sensorless homing, I'm still thinking of a setting problem (it was that for me). For LPC motherboard, in the datasheet LPC has external interrupt pins as I'm not an electronic engineer, so I think OK, it will work :) |
4e2d7ac
to
ef268b5
Compare
@thinkyhead , @thisiskeithb , I have a question regarding endstops. |
Lack of a pullup/pulldown can leave a pin floating, making it more susceptible to EMF induction, and in general this is more of a problem for NO switches versus NC switches. Keeping the endstop isolated from the stepper motor wires can help, as can adding a tiny capacitor or even a tiny resistor. A ferrite core would also help. |
@thinkyhead , many thanks for your answer. As my motherbord have pullups on all endstops pins, I suppose (fear) that Microprobe failure is related to excessive sensibility per hardware design to EMF generated by FTM processing. |
5415831
to
163d367
Compare
163d367
to
70167ab
Compare
f89ac1c
to
b20197e
Compare
This is now reduced to a small number of effective changes:
The main thing we're concerned about is to ensure homing and probing will work. A move duration may be very very long, but generally less than a minute, so we just want to make sure our time checking logic isn't impacted by the clock turning over, overflowing, or being too small a type to track longer durations. Referring to the original code linked in the OP, it wasn't clear what parts were reverted on purpose and what parts were reverted by mistake due to generating the code by diffing against older code. We favor using the existing states in the Stepper class to track axis-moved and axis-direction so these states properly reflect the DIR / MOVED states set most recently by FT Motion. With that in mind, I took great care to sort out what should be kept, so we should be very close in that respect. Only one or two questions remain. I'll be back after a break to install this on the BIQU BX for testing, and it shouldn't take too long to see whether it's working or not. Once we get past this exciting challenge, it's straight on to figuring out how to eliminate those loud overtones. Fun! |
@thinkyhead , I just test it. Sensorless homing is OK (still OK). Z homing with BLTouch and Bed Leveling with HS mode are OK (still OK). The diagonal move when homing with G28 (homing all axes) is ultra fast now. Biqu Microprobe still fails as before. I do not notice any difference with the current bugfix as this PR is a revival of old code that has already worked for me. Regarding homing and probing, there are too few reports of reel bugs to have an exact idea of the problem : which probes, which kind of endstops really fail. |
@thinkyhead , in if (stepper.abort_current_block) {
if (sts_stepperBusy) return; // Wait until motion buffers are emptied
discard_planner_block_protected();
reset();
blockProcRdy = false; // Set queueing to look for next block.
stepper.abort_current_block = false; // Abort finished.
} blockProcReady is already set to false in |
That's a recent bug that exists outside of this PR. I just ran a couple prints on my BX today with ecfff50 and noticed the same issue and planned to track down which commit it was after the last round of prints was complete. The linked Issue below could also be a symptom of recent changes since they are having troubles with fast homing (or random failing): |
I'll be sure to address that in my testing … also on the BX. |
@thinkyhead , finally, I have found the solution for Biqu Microprobe and |
That seems really odd that Z homing current needs to be reduced/sanity checked with only this probe & motion type. Are you sure it's not something else? |
@thisiskeithb , as I said in a previous post, the microprobe was triggered without any physical contact soon after it was deployed when the motion starts. The microprobe works fine with FT_MOTION disabled. I suspect electromagnetic interference generated by FTM processing. I try to adapt |
@vovodroid , there is a misunderstanding, I was only talking about Z homing with the Biqu Microprobe. If your sensorless homing problem is solved, please give it a try. And if not, you can home X and Y axis with FT_MOTION disabled, enable it and then home Z. |
I tracked the bug down to 89b0143. Resetting to right before that commit (i.e. 0790a9d), stops the really fast X/Y travel move to Issuing a Without starting a full print, I can reproduce this on my BIQU BX and Prusa Bear after flashing & resetting the EEPROM by sending the following commands: G28
M203 X500 Y500 Z10 E120 ; pulled from slicer g-code
G28 As noted above, reverting back to 0790a9d fixes this broken behavior. edit: @rq3 confirmed that this also fixes delta homing/ |
@thisiskeithb — Maybe it's enough to revert one line from that commit. In - const feedRate_t xy_feedrate = fr_mm_s ?: feedRate_t(PLANNER_XY_FEEDRATE_MM_S);
+ const feedRate_t xy_feedrate = fr_mm_s ?: feedRate_t(XY_PROBE_FEEDRATE_MM_S); |
A As this PR is confirmed working just fine on our own setups, I'll merge it for wider testing. A round of bug fixes is in order over the coming weeks, as we will soon make a pre-release version just for testers to bang on. |
Proposed updates to FT Motion from @ulendoalex to address miscellaneous reported issues. There may be some extraneous code reversions that we can sort out as we clean this up, test, and discuss.
Based on S2AUlendo/Marlin-migration-test