-
Notifications
You must be signed in to change notification settings - Fork 299
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
Probing improvements #237
Comments
The branch dev-237-probing-improvements is available for test. This branch is submitted as PR #240 |
Fantastic and a quick job again! Thank you guys. |
i did some tests the last days. I do have problems with the probe pin changing logic or being always "true" after some quick toggles. testing: and after some tries in5 gets always true but oszi is toggeling 0v <> 3.2v probing fails with {"er":{"fb":100.19,"st":254,"msg":"Probe is already tripped - probe error"}} Any clues if my physical setup is incorrect? |
another test, i got {in5:n} always reporting true. then i disconnected the touchplate and connected a bare wire between pin and GND. But {in5:n} is still "true" then bare wire to pin and 3.3v switches to false, changing to GND, false again... |
Can you try running the in5 test again, only from a reset? It could be a few different things that would be good to isolate:
If you can eliminate 1 and 2 then 3 is the likely culprit. |
Sorry for the long delay, I disassembled my whole cnc setup because i got huge problems calibrating the motors (bad running, lost steps, squeeking, no torque...) after a lot of days i now definitively hunted it down to the Arduino DUE as signal source. Maybe my problems with probing do get influenced by this. Will then come back with my result in Probing |
Hey alden, i reassembled my CNC now.
this is reproducable probe setup is RG174 coax wire with gnd on shield. and 4.7k pull-up near input pin on arduino. |
g2core is 100.21 merged with 237-probing-improvements
|
I'm running 100.26 built from edge today; this is the first time I've gotten g2core running. I am experiencing what sounds like the same or similar probing issue. I have added a 4.7k pullup and 0.22uF cap to the probe input pin, which may or may not have helped a bit. I did some further experimentation, and these are the symptoms I'm seeing - I think this is generally consistent with what others have experienced but maybe the details could help isolate the specific issue:
|
Hi Folks, Any known workaround? PLATFORM= DUE Thanks in advance. |
I am experiencing this issue as well on a v9 board |
Too bad this never got solved. I'm experiencing it too. Did pretty much same tests as @hurr1k4ne . Running 101.03 on DUE. |
This should be fixed in edge-preview. The probing subsystem has be revamped, and gpio has been reworked as well since edge. For example, the new action system only doesn't act during the lockout, and edge detection is suspended: https://github.com/synthetos/g2/blob/edge-preview/g2core/gpio.h#L494 But polling of the value still directly consults the pin, so a pin in a status report will always be accurate: https://github.com/synthetos/g2/blob/edge-preview/g2core/gpio.h#L423 I have found a few extreme cases, such as if you test a probe by bouncing a grounded wrench gently against the side of the tool, you'll get an extreme bounce situation that wasn't handled well in edge but is now. That applies to probing and homing. Another case that's handled now but wasn't before is when probing very slow and to a rigid material it is possible to disconnect the circuit in the 1-2 step back off and before the probe is tested. That's handled now by storing the probe state and not polling again. This makes it more sensitive to glitches, but prevents missed polling. IOW, if it fails, it'll fail thinking it hit not assuming it didn't. Again, this is all in edge-preview. We're working and getting that pushed to edge, but I don't have a timeline yet. -Rob |
Thanks! I actually noticed the newer discussion about this issue just after posting this. I've used a modified shapeoko2 settings for my DUE until this but preview edge-branch doesn't compile with it (compiles ok with default) so I need to redo my setting file to verify if this got fixed on my setup too. Looks good based on the other thread. I noticed the bug in normal plain PCB probing, using a 3mm screw as a test probe, so not an extreme case in my case. |
The handler is passed the value that triggered it along with the edge it detected: https://github.com/synthetos/g2/blob/edge-preview/g2core/gpio.h#L520 The probe cycle checks the pin before the move, and then accepts that any change would be the one it's looking for after that. It was also changed to decode that it saw the pin change ignoring the actual pin state in the case of excessive bouncing: https://github.com/synthetos/g2/blob/edge-preview/g2core/cycle_probing.cpp#L137 Between those two probing should be very robust, and in case of a bounce failure it should always fail to stopping not fail to ignoring a glitch. |
Thanks for the explanation! Took June 22 commit based on the discussion on the other thread as the head didn't compile. This didn't work for me tho. I think it's better to continue in #470 as it has more recent info on this in general. |
This issue is opened to document some changes to improve the probing functions. This issue is related to issue #232
First off, need to get rid of the hard-wired probing input (current set to whatever input is used for Z homing) and be able to select the probe input using digital input function assignment: for example {difn5:4} to assign digital input 5 as the probing input (function = 4)
Second - fix probing to work in coordinate system offsets (as it used to)
The text was updated successfully, but these errors were encountered: