Failed to enable endstops - not related to Firmware update
-
Hello,
I faced a strange problem today.
Background:
- Firmware 3.3 - reinstalled it also to check if something is wrong with that -> no help
- I have got config files work properly on Duet 3 mainboard with SBC (rasperry).
- I've used the same config.g file with the Standalone version and tested that all worked well.
- Today I uploaded the latest changes by uploading the config.g and other files, but after that Duet keep saying that Failed to enable endstops.
- I went through all the files -> there are no other M574 in any files, no config-override, nothing.
- I have restarted the machine several times in all different ways
Can it be possible that Duet board for some reason doesn't read the config.g file but keeps popping up some old version of it? Because I also noticed that removing 'disable jogging without homing' function from config.g didn't have effect.
This is the part of the config.g where the endstops are defined - so yes, those are properly configured by Firmware 3. And like I said, it works already on other machine with SBC and also it did on Standalone setup (without SBC) before the latest upload.
; Configure Drives M569 P0 S1 ; Drive 0 goes forwards - X-axis M569 P1 S1 ; Drive 1 goes forwards - Y1-axis M569 P2 S1 ; Drive 2 goes forwards - Y2-axis M569 P3 S1 ; Drive 3 goes forwards - Z-axis M584 X0 Y1:2 Z3 ; Apply drive mapping to axes ; Configure Axes M92 X400 Y400 Z400 ; Set steps per mm M350 X16 Y16 Z16 I1 ; Configure microstepping M566 X500 Y500 Z500 ; Set maximum instantaneous speed changes (mm/min) M203 X4000 Y4000 Z1500 ; Set maximum speeds (mm/min) M201 X150 Y150 Z150 ; Set accelerations (mm/s^2) M906 X3000 Y3000 Z3000 I30 ; Set motor currents (mA) ; Configure Axis Limits M208 X0 Y0 Z0 S1 ; Set axis minima M208 X860 Y850 Z150 S0 ; Set axis maxima ; Configure Endstops - nollakohta M574 X1 S1 P"io1.in" ; X min active high endstop switch M574 Y1 S1 P"io2.in" ; Y min active high endstop switch M574 Z1 S1 P"io3.in" ; Z min active high endstop switch
-
Can you send M122 and M98 P"config.g" and post the results?
When does it say "failed to enable endstops?"
-
@phaedrux Thanks for quick reply, will send the results soon. I have send M119 to check the endstop status -> result: 'no endstop' on any axis.
The given error 'Failed to enable endstops' comes if I try to home x/y axis. But the problem seems to be it doesn't recognize the configuration from config.g so from Duet perspective there's no endstops, hence cannot do the homing.
-
There seem to be the problem in meta commands... will fix that and try again.
M98 P"config.g" Error: in file macro line 20 column 6: meta command: 'else' did not follow 'if'
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956BA-NA3TN-6J9F0-3S46Q-1BALS Used output buffers: 1 of 40 (11 max) === RTOS === Static ram: 150904 Dynamic ram: 90544 of which 256 recycled Never used RAM 109632, free system stack 206 words Tasks: NETWORK(ready,31.8%,212) ETHERNET(notifyWait,0.1%,126) HEAT(delaying,0.0%,405) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,333) TMC(notifyWait,7.4%,93) MAIN(running,60.5%,1272) IDLE(ready,0.1%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:02:16 ago, cause: power up Last software reset at 2022-01-04 15:56, reason: User, GCodes spinning, available RAM 109632, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Step timer max interval 135 MCU temperature: min 15.8, current 29.6, max 29.7 Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0 Driver 0: position 0, standstill, reads 37831, writes 11 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 37832, writes 11 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 37832, writes 11 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 37832, writes 11 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 37832, writes 11 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 37832, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2022-01-05 10:17:25 Slowest loop: 11.26ms; fastest: 0.04ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.2ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by 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 Code queue is empty. === CAN === Messages queued 681, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 681/0/0 Tx timeouts 0,0,680,0,0,0 last cancelled message type 30 dest 127 === Network === Slowest loop: 13.85ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions HTTP sessions: 1 of 8 - Ethernet - State: active Error counts: 0 0 1 0 0 Socket states: 5 2 2 2 2 0 0 0
-
@jene_jan post your complete config.g
-
@jay_s_uk The problem got solved, I had ' if else ' formula in the beginning of the config.g file that wasn't formatted right. I removed it and then the config.g started to work -> endstops got recognized.
The thing was that it didn't say it in any place that there's mistake. But the when loaded with M98 command the error became visible and that helped to solve the problem.
-
-