[3.6.0-rc.3] sticky probe with 1HCL board
-
@dc42 OK,
Ran the test again. Watched the LED labeled ACI flash during normal probe moves (before stuck)
When stuck and manually triggering the probe the LED labeled ACI does not flash or turn on/off.
Did M122 and M122 B50.0 once stuck,
after the 3rd step above,
and after the latest commands you gave me.The Probe is once again functional after the latest command, confirmed by running a probe, as well as watching the ACI LED.
5/12/2025, 11:03:03 AM: M118 P0 S{"Stuck Probe Confirmed"} L2: Stuck Probe Confirmed 5/12/2025, 11:03:09 AM: M122 B50.0: Diagnostics for board 50: Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3 (2025-04-29 14:20:58) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 51300, free system stack 154 words Tasks: EncCal(1,nWait 6,0.0%,469) Move(3,nWait 7,0.0%,119) CLSend(3,nWait 6,0.0%,149) TMC(2,nWait 6,64.5%,313) HEAT(2,nWait 6,0.0%,107) CanAsync(5,nWait 4,0.0%,66) CanRecv(3,nWait 1,0.0%,31) CanClock(5,nWait 1,0.0%,63) MAIN(1,running,34.5%,249) IDLE(0,ready,0.0%,29) AIN(2,nWait 2,0.9%,255), total 100.0% Owned mutexes: Last reset 02:38:14 ago, cause: power up Last software reset time unknown, reason: HardFault zeroDiv, available RAM 51444, slot 2 Software reset code 0x0060 HFSR 0x40000000 CFSR 0x02000000 ICSR 0x00000803 BFAR 0xe000ed38 SP 0x20002cc0 Task TMC Freestk 366 ok Stack: 00000000 20002d2f 00000000 00000000 00000000 00026359 00026368 41000000 0018a715 00024de3 20019948 20019948 00000001 00025d53 00025d3d 2001a874 001ceac9 00027c73 01601008 a0180030 08004d84 41c31e52 05c80021 3a341809 002ad181 2001a7c0 001ceac9 Moves scheduled 3003, hiccups 0 (0.00/0.00ms), segs 3, step errors 0 (types 0x0), maxLate 0 maxPrep 12, ebfmin 0.00 max 0.00 Phase step loop runtime (us): min=6, max=250, frequency (Hz): min=2767, max=17857 Sync err accum 68, peak jitter -4/4, peak Rx delay 180, resyncs 0/0, next timer interrupt due in 11 ticks, enabled, next step interrupt due in 4251168817 ticks, disabled VIN voltage: min 24.4, current 24.4, max 24.4 V12 voltage: min 12.2, current 12.2, max 12.2 MCU temperature: min 23.4C, curDriver 0: pos -7356, 10060.2 steps/mm, standstill, SG min 0, mspos 824, reads 35839, writes 2 timeouts 0 Last sensors broadcast 0x00000000 found 0 72 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 555, send timeouts 0, received 309, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 38, error reg 0 dup 0, oos 0/0/0/0, rxMotionDelay 290, adv 36182/37178 Closed loop driver 0 mode: open loop, pre-error threshold: 7.50, error threshold: 50.00, encoder type linearComposite, position 1742 Shaft: Encoder reverse polarity: yes, full rotations 3, last angle 7017, minCorrection=-15.4, maxCorrection=10.9, agc 16, mag 4759, no error Lin: Encoder reverse polarity: no, raw count 1742 Accelerometer: none I2C bus errors 0, naks 0, contentions 0, other errors 0 5/12/2025, 11:03:15 AM: M122: === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.6.0-rc.3 (2025-04-30 14:42:33) running on Duet 3 Mini5plus Ethernet (standalone mode) Board ID: G5729-TU8LU-F65J0-409NU-3F03Z-7U6T6 Used output buffers: 1 of 40 (38 max) === RTOS === Static ram: 94764 Dynamic ram: 117524 of which 0 recycled Never used RAM 28988, free system stack 136 words Tasks: NETWORK(1,ready,23.3%,143) ETHERNET(5,nWait 7,0.0%,569) HEAT(3,nWait 6,0.0%,357) Move(4,nWait 6,0.0%,241) TMC(4,nWait 6,0.8%,65) CanReceiv(6,nWait 1,0.0%,755) CanSender(5,nWait 7,0.0%,324) CanClock(7,delaying,0.0%,337) MAIN(1,running,75.1%,659) IDLE(0,ready,0.0%,29) USBD(3,blocked,0.0%,147) AIN(4,delaying,0.8%,261), total 100.0% Owned mutexes: === Platform === Last reset 02:38:19 ago, cause: power up Last software reset at 2025-05-09 12:14, reason: User, Gcodes spinning, available RAM 30268, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 MCU temperature: min 20.6, current 35.4, max 40.4 Supply voltage: min 22.8, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/37, heap memory allocated/used/recyclable 2048/1516/816, gc cycles 770 Events: 0 queued, 0 completed Date/time: 2025-05-12 11:03:14 Slowest loop: 1038.30ms; fastest: 0.16ms === Storage === Free file entries: 19 SD card 0 detected, requested/actual speed: 25.0/24.0MBytes/sec SD card longest read time 5.7ms, write time 163.5ms, max retries 0 === Move === Segments created 8, maxWait 7451243ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 1, ebfmin 0.00, ebfmax 0.00 Pos req/act/dcf: 0.00/0/0.00 12721.00/12721/0.00 248.00/247/0.98 570.00/570/-0.00 26666.00/26666/0.00 No step interrupt scheduled Driver 0: standstill, SG min 0, r/w errs 0/0, ifcnt 18, reads/writes 41195/18, timeouts 0, DMA errs 0, CC errs 0 Driver 1: standstill, SG min 0, r/w errs 0/0, ifcnt 18, reads/writes 41195/18, timeouts 0, DMA errs 0, CC errs 0 Driver 2: standstill, SG min 0, r/w errs 0/0, ifcnt 18, reads/writes 41195/18, timeouts 0, DMA errs 0, CC errs 0 Driver 3: standstill, SG min 0, r/w errs 0/0, ifcnt 10, reads/writes 41202/10, timeouts 0, DMA errs 0, CC errs 0 Driver 4: standstill, SG min 0, r/w errs 0/0, ifcnt 10, reads/writes 41203/10, timeouts 0, DMA errs 0, CC errs 0 Driver 5: not present Driver 6: not present === DDARing 0 === Scheduled moves 96, completed 96, LaErrors 0, Underruns [0, 0, 0] Segments left 0, axes/extruders owned 0x00000003, drives owned 0x00000003 Code queue is empty === DDARing 1 === Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0] Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000 Code queue is empty === Heat === Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 === CAN === Messages queued 58847, received 136738, lost 0, ignored 0, errs 4447, boc 0 Longest wait 265ms for reply type 6041, peak Tx sync delay 23632, free buffers 26 (min 25), ts 45023/45018/0 Tx timeouts 0,0,4,0,0,0 last cancelled message type 30 dest 127 === Network === Slowest loop: 192.81ms; fastest: 0.03ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 0 0 0 Socket states: 6 2 2 2 2 0 0 0 0 5/12/2025, 11:03:31 AM: m122 b50 p1007 a{0x40002800} R16: Address 0x40002800: 00000002 00000000 00000000 00002008 00002008 00000000 00000000 0000b000 00b00000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5/12/2025, 11:03:49 AM: m122 b50 p1007 a{0x4000280c} v{0x00002000} 5/12/2025, 11:07:10 AM: M118 P0 S{"Changed Probe state"} L2: Changed Probe state 5/12/2025, 11:07:18 AM: M122 B50.0: Diagnostics for board 50: Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3 (2025-04-29 14:20:58) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 51300, free system stack 154 words Tasks: EncCal(1,nWait 6,0.0%,469) Move(3,nWait 7,0.0%,119) CLSend(3,nWait 6,0.0%,149) TMC(2,nWait 6,64.5%,313) HEAT(2,nWait 6,0.0%,107) CanAsync(5,nWait 4,0.0%,66) CanRecv(3,nWait 1,0.0%,31) CanClock(5,nWait 1,0.0%,63) MAIN(1,running,34.6%,249) IDLE(0,ready,0.0%,29) AIN(2,nWait 2,0.9%,255), total 100.0% Owned mutexes: Last reset 02:42:23 ago, cause: power up Last software reset time unknown, reason: HardFault zeroDiv, available RAM 51444, slot 2 Software reset code 0x0060 HFSR 0x40000000 CFSR 0x02000000 ICSR 0x00000803 BFAR 0xe000ed38 SP 0x20002cc0 Task TMC Freestk 366 ok Stack: 00000000 20002d2f 00000000 00000000 00000000 00026359 00026368 41000000 0018a715 00024de3 20019948 20019948 00000001 00025d53 00025d3d 2001a874 001ceac9 00027c73 01601008 a0180030 08004d84 41c31e52 05c80021 3a341809 002ad181 2001a7c0 001ceac9 Moves scheduled 3003, hiccups 0 (0.00/0.00ms), segs 3, step errors 0 (types 0x0), maxLate 0 maxPrep 0, ebfmin 0.00 max 0.00 Phase step loop runtime (us): min=6, max=78, frequency (Hz): min=5395, max=17441 Sync err accum 78, peak jitter -4/5, peak Rx delay 183, resyncs 0/0, next timer interrupt due in 9 ticks, enabled, next step interrupt due in 4064199594 ticks, disabled VIN voltage: min 24.4, current 24.4, max 24.4 V12 voltage: min 12.2, current 12.2, max 12.2 MCU temperature: min 23.4C, currenDriver 0: pos -7356, 10060.2 steps/mm, standstill, SG min n/a, mspos 824, reads 35605, writes 0 timeouts 0 Last sensors broadcast 0x00000000 found 0 114 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 2040, send timeouts 0, received 1191, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 38, error reg 0 dup 0, oos 0/0/0/0, rxMotionDelay 0 Closed loop driver 0 mode: open loop, pre-error threshold: 7.50, error threshold: 50.00, encoder type linearComposite, position 1741 Shaft: Encoder reverse polarity: yes, full rotations 3, last angle 7020, minCorrection=-15.4, maxCorrection=10.9, agc 16, mag 4750, no error Lin: Encoder reverse polarity: no, raw count 1741 Accelerometer: none I2C bus errors 0, naks 0, contentions 0, other errors 0 5/12/2025, 11:07:34 AM: m122 b50 p1007 a{0x40002800} R16: Address 0x40002800: 00000002 00000000 00000000 00000008 00000008 00002000 00000000 0000b000 00b00000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5/12/2025, 11:09:13 AM: m122 b50 p1007 a{0x40002810} v{0x00002000} 5/12/2025, 11:09:57 AM: M122 B50.0: Diagnostics for board 50: Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3 (2025-04-29 14:20:58) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 51300, free system stack 154 words Tasks: EncCal(1,nWait 6,0.0%,469) Move(3,nWait 7,0.0%,119) CLSend(3,nWait 6,0.0%,149) TMC(2,nWait 6,1.7%,313) HEAT(2,nWait 6,0.0%,107) CanAsync(5,nWait 4,0.0%,66) CanRecv(3,nWait 1,0.0%,31) CanClock(5,nWait 1,0.0%,63) MAIN(1,running,98.2%,249) IDLE(0,ready,0.0%,29) AIN(2,nWait 2,0.0%,255), total 100.0% Owned mutexes: Last reset 02:45:02 ago, cause: power up Last software reset time unknown, reason: HardFault zeroDiv, available RAM 51444, slot 2 Software reset code 0x0060 HFSR 0x40000000 CFSR 0x02000000 ICSR 0x00000803 BFAR 0xe000ed38 SP 0x20002cc0 Task TMC Freestk 366 ok Stack: 00000000 20002d2f 00000000 00000000 00000000 00026359 00026368 41000000 0018a715 00024de3 20019948 20019948 00000001 00025d53 00025d3d 2001a874 001ceac9 00027c73 01601008 a0180030 08004d84 41c31e52 05c80021 3a341809 002ad181 2001a7c0 001ceac9 Moves scheduled 3003, hiccups 0 (0.00/0.00ms), segs 3, step errors 0 (types 0x0), maxLate 0 maxPrep 0, ebfmin 0.00 max 0.00 Phase step loop runtime (us): min=6, max=146, frequency (Hz): min=4838, max=17441 Sync err accum 70, peak jitter -5/4, peak Rx delay 183, resyncs 0/0, next timer interrupt due in 13 ticks, enabled, next step interrupt due in 3945272543 ticks, disabled VIN voltage: min 24.4, current 24.4, max 24.4 V12 voltage: min 12.2, current 12.2, max 12.2 MCU temperature: min 23.4C, currDriver 0: pos -7356, 10060.2 steps/mm, standstill, SG min n/a, mspos 824, reads 15703, writes 0 timeouts 0 Last sensors broadcast 0x00000000 found 0 184 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 1352, send timeouts 0, received 762, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 38, error reg 0 dup 0, oos 0/0/0/0, rxMotionDelay 0 Closed loop driver 0 mode: open loop, pre-error threshold: 7.50, error threshold: 50.00, encoder type linearComposite, position 1741 Shaft: Encoder reverse polarity: yes, full rotations 3, last angle 7019, minCorrection=-15.4, maxCorrection=10.9, agc 16, mag 4750, no error Lin: Encoder reverse polarity: no, raw count 1741 Accelerometer: none I2C bus errors 0, naks 0, contentions 0, other errors 0 5/12/2025, 11:10:02 AM: M122: === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.6.0-rc.3 (2025-04-30 14:42:33) running on Duet 3 Mini5plus Ethernet (standalone mode) Board ID: G5729-TU8LU-F65J0-409NU-3F03Z-7U6T6 Used output buffers: 1 of 40 (38 max) === RTOS === Static ram: 94764 Dynamic ram: 117524 of which 0 recycled Never used RAM 28988, free system stack 136 words Tasks: NETWORK(1,ready,23.7%,143) ETHERNET(5,nWait 7,0.1%,569) HEAT(3,nWait 6,0.0%,357) Move(4,nWait 6,0.0%,241) TMC(4,nWait 6,0.8%,65) CanReceiv(6,nWait 1,0.0%,755) CanSender(5,nWait 7,0.0%,324) CanClock(7,delaying,0.0%,337) MAIN(1,running,74.6%,659) IDLE(0,ready,0.0%,29) USBD(3,blocked,0.0%,147) AIN(4,delaying,0.8%,261), total 100.0% Owned mutexes: === Platform === Last reset 02:45:06 ago, cause: power up Last software reset at 2025-05-09 12:14, reason: User, Gcodes spinning, available RAM 30268, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 MCU temperature: min 34.3, current 34.3, max 35.4 Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/37, heap memory allocated/used/recyclable 2048/1540/840, gc cycles 770 Events: 0 queued, 0 completed Date/time: 2025-05-12 11:10:01 Slowest loop: 70.55ms; fastest: 0.16ms === Storage === Free file entries: 19 SD card 0 detected, requested/actual speed: 25.0/24.0MBytes/sec SD card longest read time 3.3ms, write time 3.8ms, max retries 0 === Move === Segments created 8, maxWait 0ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00 Pos req/act/dcf: 0.00/0/0.00 12721.00/12721/0.00 248.00/247/0.98 570.00/570/-0.00 26666.00/26666/0.00 No step interrupt scheduled Driver 0: standstill, SG min 16, r/w errs 0/0, ifcnt 18, reads/writes 21421/0, timeouts 0, DMA errs 0, CC errs 0 Driver 1: standstill, SG min 14, r/w errs 0/0, ifcnt 18, reads/writes 21421/0, timeouts 0, DMA errs 0, CC errs 0 Driver 2: standstill, SG min 14, r/w errs 0/0, ifcnt 18, reads/writes 21420/0, timeouts 0, DMA errs 0, CC errs 0 Driver 3: standstill, SG min 0, r/w errs 0/0, ifcnt 10, reads/writes 21421/0, timeouts 0, DMA errs 0, CC errs 0 Driver 4: standstill, SG min 0, r/w errs 0/0, ifcnt 10, reads/writes 21421/0, timeouts 0, DMA errs 0, CC errs 0 Driver 5: not present Driver 6: not present === DDARing 0 === Scheduled moves 96, completed 96, LaErrors 0, Underruns [0, 0, 0] Segments left 0, axes/extruders owned 0x00000003, drives owned 0x00000003 Code queue is empty === DDARing 1 === Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0] Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000 Code queue is empty === Heat === Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 === CAN === Messages queued 1949, received 3386, lost 0, ignored 0, errs 0, boc 0 Longest wait 8ms for reply type 6024, peak Tx sync delay 228, free buffers 26 (min 25), ts 1929/1929/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 5.18ms; fastest: 0.04ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 0 0 0 Socket states: 2 6 2 2 2 0 0 0 0 5/12/2025, 11:15:19 AM: M118 P0 S{"Probe Now Functional"} L2: Probe Now Functional
-
@ironhydroxide thanks.
Unfortunately I haven't succeeded in reproducing your issue, and I can't see anything wrong with the software. My best guess is that intermittent contact between the blade and the tube is generating several interrupts in succession, and this is temporarily locking up the interrupt system. I can try changing a few things to see if this can be avoided.
My first attempt is the new 1HCL firmware at https://www.dropbox.com/scl/fo/dumsdufoej44q97ek9joo/AIBRnU-wtKfMrbWPzZwH_XY?rlkey=idmyinvvcuiwmycbb1l2obz38&dl=0. Please try it.
-
@dc42 said in [3.6.0-rc.3] sticky probe with 1HCL board:
My best guess is that intermittent contact between the blade and the tube is generating several interrupts in succession,
I would say this is more likely the problem.
I'll test with the rc3+1 and let you know what happens, but at this point I think I will probably go back to the mainboard connected probe and see if I can get it to be happier there with trying the filtered vs unfiltered settings.The system I'm trying to replace with this has a weird capacitive pump setup and measures the difference in voltage after a delay, timed to the pump cycling. But that system is 8bit, was hoping something modern would be able to handle a simpler setup.
-
@ironhydroxide it's likely that we could solve this using a R-C network to filter the input from the probe; but we should be able to solve this in software too. There is a debounce facility available in the MCU that I will try enabling if necessary.
We're hoping to release 3.6.0 stable later this week. It would be good to get this issue fixed first.
-
@dc42 Well I'm willing to work with you on it if you feel like it'd be beneficial for the project as a whole. I don't know how many people will have such a dirty probe input/debounce as this one probably is (i really need to get a scope setup on this to see just how bad it is)
As for a debounce facility, that's likely going to expect going from open to closed and staying closed. I can't guarantee this "probe" will do that, as the blade is removing material.
So it's almost as if (for this setup alone) I need something that'll fire the interrupt on first cross of the setpoint, but not fire again until the next probe command is sent. I'm not sure what that might do for/against accuracy, if it even is feasible to setup in such a way.Tested with the rc3+1, still stuck the probe after a while. I have the event log from it, though didn't take the extra steps after stuck as last time.
I'm down for whatever tests you'd like me to try.
-
@ironhydroxide thanks for testing rc3+1. I'd really like to get this solved in time for the 3.6 stable release, so I'll keep working on it. Expect another test version tomorrow.
-
@ironhydroxide thanks again for your patience. Please try the latest firmware at https://www.dropbox.com/scl/fo/dumsdufoej44q97ek9joo/AIBRnU-wtKfMrbWPzZwH_XY?rlkey=idmyinvvcuiwmycbb1l2obz38&dl=0. After installing it,
M115 B50
should report the build date as today. -
@dc42 said in [3.6.0-rc.3] sticky probe with 1HCL board:
M115 B50
Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3+1 (2025-05-13 11:00:29)
Looks like yesterday is what I'm getting reported... Guess it is grabbing from the "old" folder in the zip.
I unzipped, removed that folder, and rezipped. now I getDuet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3+1 (2025-05-14 08:29:27)
Is there any specific outputs you want tested? or just that I don't encounter a sticky probe again?
-
@ironhydroxide just test whether the probe gets stuck again please.
-
@dc42
Interesting results.It seems as if the probe stuck, but reset itself without power cycle of mainboard.
Confirmed it was stuck, then decided to see if the green LED was still flashing or not, and manually triggering the probe caused LED to flash, after which it was no longer stuck.
Doing more testing to see if I get the same result again.
-
@dc42 Yup, second time did the exact same thing.
Stuck probe, but on the first "retrigger" the probe came back to life.
My probe is inverted, so that might be a pertinent factor in this.
when voltage at pin is low, probe triggered. -
@ironhydroxide do you mean that it failed to trigger when it made contact, but when you broke and remade contact then it did trigger?
-
@ironhydroxide please try this EXP1HCL binary, which has debouncing enabled. After installation, M115 B50 should report the build date/time as 2025-05-13 11:05:26.
The debouncing in this build adds a latency of about 250us to the trigger detection. If this build fixes the issue then i can try reducing the latency.
-
@dc42 said in [3.6.0-rc.3] sticky probe with 1HCL board:
do you mean that it failed to trigger when it made contact, but when you broke and remade contact then it did trigger?
that it remained triggered after a probe was completed, and my script went through 5 instances of probe, seeing the probe triggered and backing off more from the tube. then it aborts the print if the probe points aren't close enough together.
So, probe success,
probe stays triggered,
probe commanded but errors due to already contacted,
backs off the tube a bit,
Probe commanded but errors due to already contacted
repeat 4x more.
Abort print,I find probe in triggered state after abort
confirm voltage at pin is high (~3v)
manually ground the pin and watch the green light on 1HCL show up.
unground the pin and watch the green light go out, as well as probe status in DWC go from 1000 to 0.I'll test that bin and let you know.
-
@dc42 said in [3.6.0-rc.3] sticky probe with 1HCL board:
M115 B50 should report the build date/time as 2025-05-13 11:05:26.
I'm getting
Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3+1 (2025-05-14 08:29:27)Downloaded twice, and loaded rc1, then this download just to make sure it's loaded correct.
-
@ironhydroxide I'm sorry, that was the correct firmware but I sent the M115 to the wrong board to check it, also the build date was being updated but not the build time. Here's another one, this time with build date 2025-05-15 08:01:41.
-
@dc42 Ah, no worries.
Loaded the latest, 5/15 build date,
Almost immediately the same symptoms.
Probe is good, then probe remains triggered,
next probe errors for already triggered,Stays triggered until I manually trigger the probe and it resets.
Ran this 3x, symptoms the same each time.
and subjectively felt the occurrence to be much earlier in the run.
-
@ironhydroxide thanks. It looks like there were two issues:
-
Interrupt system getting locked up so that it doesn't detect further state changes. The last few builds have fixed this.
-
The remaining issue is that t doesn't detect a transition (i.e. probe contact) so you have to break contact, then it will detect the next contact. I think I have worked out what causes this, and how to fix it. I expect to have another firmware build to test this afternoon.
-
-
@ironhydroxide please try this build. The build time is 09:23 today.
-
@ironhydroxide did you have a chance to try this build? We plan to release 3.6.0-stable this week and I would like to include a fix for this issue in it.