G32 ERROR
-
@moe-adams9093 said in G32 ERROR:
Yes. M574 Z2 S4
so if I can use M574 Z2 S4 how can split the axis and make one at a time when they hit max location. if you have documentation on that please share it
That's the point of S4. Stall detection for each motor independently. Check the wiki entry for m574
-
@dc42 could you please take a look at this problem I'm currently facing I will post the latest config files here to make it short as possible and not to have to go to the previous threads.
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"DIVINCI-3D (MP4560)" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P10 R1 T2:2:2:2 S1 ; physical drive 0 goes forwards M569 P11 R1 T2:2:2:2 S1 ; physical drive 1 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M569 P5 S1 ; physical drive 5 goes Backwards M569 P6 S1 ; physical drive 6 goes Backwards M569 P8 S0 ; physical drive 7 goes Backwards M569 P9 S0 ; physical drive 9 goes backwards M584 X10 Y11 Z5:6:8:9 E3:4 ; set drive mapping M671 X5.0:455.0:455.0:5.0 Y25.0:25.0:455.0:455.0 S14 ; ZBelts Near Locations M350 X32 Y32 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z410.00 E415.00:415.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z400 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1000 E500:500 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X460 Y460 Z460 S0 ; set axis maxima M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z M574 Z2 S1 P"!exp.e2stop+!exp.e3stop+!exp.e5Stop+!exp.e6stop" ; configure active-high endstop for High end on Z via pin !ystop ; Z-Probe M558 P1 C"zprobe.in" H25 F600 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X20:440 Y20:440 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 A11 C99000 D2000 B1 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"spi.cs1" Y"thermocouple-max31856" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"spi.cs2" Y"thermocouple-max31856" ; configure sensor 2 as thermocouple via CS pin spi.cs2 M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S3 P"duex.e2temp" Y"thermistor" T10000 B3950 ; configure sensor 3 as thermistor on pin duex.e2temp M950 H3 C"duex.e2heat" T3 ; create chamber heater output on duex.e2heat and map it to sensor 3 M307 H3 A11 C99000 D2000 B1 ; enable bang-bang mode for the chamber heater and set PWM limit M141 H3 ; map chamber to heater 3 ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H2 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S1 H1:2 T45 ; set fan 2 value. Thermostatic control is turned on ; Tools M563 P0 S"MAIN EXTRUDER" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 S"SECOND EXTRUDER" D1 H2 F0 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool The endstops I have are normally close Active low. when I run my M119 I get this message
2/1/2021, 10:27:05 PM: M119: Endstops - X: not stopped, Y: not stopped, Z: at max stop, Z probe: not stopped even if I remove my( !) on M574 Z2 S1 code still the same M119 Message.
here's my homeall.g files
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time) G91 ; relative positioning G1 H1 Z500 F6000 ; lift Z relative to current position G1 H1 X-465 F8000 ; move quickly to X endstop and stop there (first pass) G1 H1 Y-465 F8000 ; move quickly to Y endstop and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-465 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y-465 F360 ; then move slowly to Y axis endstop G1 H2 Z-500 F6000; G1 X235 Y235 F6000 ; Prob at Center M558 F600 A1 ; Dive fast once G30 ; probe Z M558 F300 A10 ; Slow second dive with more accuracy G30 ; probe z again so the purpose here all I want when I press home all I want the bed to go to the max side and trigger all 4 endstops to stop all 4 Z axis individually, then to travel back to the Min side and prob using DC42 IR Sensor and home all at the min side.
-
@moe-adams9093 said in G32 ERROR:
M350 X32 Y32 Z16 E16:16 I1 ; configure microstepping with interpolation
the duet 2 only supports interpolation at x16. so this statement is incorrect
M574 Z2 S1 P"!exp.e2stop+!exp.e3stop+!exp.e5Stop+!exp.e6stop"
you have a mistake you wrote e5S and e6s
-
That's not the issue this I mistakenly uploaded a back up file if you look up on my previous thread I have the correct file even Phaedrux moderator checked it
-
@fcwilt Hmm, wonder why it didnt work for him the first time?
I have no idea - this topic has gotten rather long and it's hard to remember it all.
Those names you suggested are shorter by one character each which tends to reinforce the idea of a command length limitation.
Perhaps you could speed verification of this possibility with direct communication with dc42?
Frederick
The string buffer that holds the pin name in commands that require a pin name has a limited length. AFAIR it's 50 characters. Does that explain it?
As usual, running M98 P"config.g" should reveal if this is causing a problem.
-
The string buffer that holds the pin name in commands that require a pin name has a limited length. AFAIR it's 50 characters. Does that explain it?
Yes it does as the string in question was 51 characters and the error message showed the last character was missing.
So that answers one question in regards to the OP's issues.
Thanks very much.
Frederick
-
@moe-adams9093 said in G32 ERROR:
even if I remove my( !) on M574 Z2 S1 code still the same M119 Message.
Are you removing the ! from all four pin names?
I tried this M574 Z2 S1 P"!exp.e2stop + !exp.e3stop + !exp.e4stop + !exp.e5stop"
and M119 yields this: Endstops - X: not stopped, Y: not stopped, Z: at max stop, Z probe: not stopped
I tried this M574 Z2 S1 P"exp.e2stop + exp.e3stop + exp.e4stop + exp.e5stop"
and M119 yields this: Endstops - X: not stopped, Y: not stopped, Z: at max stop, Z probe: not stopped
That was with NOTHING connected to the end stop inputs.
With your actual devices connected to the end stop inputs...
...the only way BOTH M119s could yield Endstops - X: not stopped, Y: not stopped, Z: at max stop, Z probe: not stopped..
...was if some of the Z axis devices were not active (closed) and some of them active (open).
FRederick
-
exp.e2stop etc. are not the same pins as duex.e2stop because the ones on the DueX are routed through the I2C chip.
I am increasing the limit to 100 characters in RRF 3.3.
-
PS - I've put a preview build of 3.3beta for Duet WiFi/Ethernet (without SBC) with the 100-character limit at https://www.dropbox.com/sh/qr98k8fbkj5ue0k/AABPawUF99QVzDrheBQBDSxia?dl=0.
-
exp.e2stop etc. are not the same pins as duex.e2stop because the ones on the DueX are routed through the I2C chip.
I don't understand.
They are listed together under Endstop Inputs for the DueX boards.
Yet there are no notes or markings to suggest that those with the exp.e#stop names are different from those with the duex.e#stop names.
Where is that difference mentioned?
Thanks.
Frederick
-
I don't understand.
They are listed together under Endstop Inputs for the DueX boards.They are listed as possible pins to use. They are not all equivalent in that list. For instance it lists pins on the Duet as well as the Duex. The exp pins are literally the pins on the expansion header, not the duex pins. The duex endstop pins are separate and routed differently.
So originally when using those exp endstop pin names it was never going to work because he wasn't actually using those pins. (he was using the actual duex endstop headers).
If he had 3 z axis motors and endstops instead of 4, we (you) never would have discovered this bug with the overflow.
-
Ok I'm going to make some tests today and see what I'm going to end up with. I will keep you posted
-
They are listed as possible pins to use. They are not all equivalent in that list.
I had forgotten that was the case. I got distracted by the quest to figure out why the command was getting truncated.
Perhaps you should update the documentation in that regard as there are some existing pin names that are marked with a ***** to reference a note above regarding their behavior.
It wouldn't hurt to point out the difference in these end stop pins in much the same way.
It would be more work but it might be best to have Duet pin names under a Duet heading and Duex pin names under a Duex heading.
Frederick
-
Yeah I'm going to try 3.3 and do duex.e2stop all the way to duex.e6stop and see how its going to behave
-
@dc42 So I went ahead and did an update to 3.3. I have 2 problems now My driver Number 10 is an external driver it doesn't move at all it's getting a signal because it locks but no movement in any direction and regarding endstops still the same issue. I will post
config. g
homall. g
M119
M122
M98P"config. g"
config. g
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Feb,04,2021 12:48.00 GMT-0500 (Central Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"DIVINCI-3D (MP4560)" ; set printer name M669 K1 ; select CoreXY mode ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P10 R1 T2:2:2:2 S1 ; physical drive 0 goes forwards M569 P11 R1 T2:2:2:2 S1 ; physical drive 1 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M569 P5 S1 ; physical drive 5 goes Forwards M569 P6 S1 ; physical drive 6 goes Forwards M569 P8 S1 ; physical drive 7 goes Forwards M569 P9 S1 ; physical drive 9 goes Forwards M584 X10 Y11 Z5:6:8:9 E3:4 ; set drive mapping M671 X5.0:455.0:455.0:5.0 Y25.0:25.0:455.0:455.0 S14 ; ZBelts Near Locations M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z410.00 E415.00:415.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z400 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z40.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1000 E500.00:500.00 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X460 Y460 Z460 S0 ; set axis maxima M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop M574 Z1 S2 ; configure Z-probe endstop for low end on Z M574 Z2 S1 P"!duex.e2stop+!duex.e3stop+!duex.e4stop+!duex.e5stop" ; configure Z-probe endstop for low end on Z ; Z-Probe M558 P1 C"zprobe.in" H25 F600 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X20:440 Y20:440 S20 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 A11 C99000 D2000 B1 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"spi.cs1" Y"thermocouple-max31856" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S2 P"spi.cs2" Y"thermocouple-max31856" ; configure sensor 2 as thermocouple via CS pin spi.cs2 M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M308 S3 P"duex.e2temp" Y"thermistor" T10000 B3950 ; configure sensor 3 as thermistor on pin duex.e2temp M950 H3 C"duex.e2heat" T3 ; create chamber heater output on duex.e2heat and map it to sensor 3 M307 H3 A11 C99000 D2000 B1 ; enable bang-bang mode for the chamber heater and set PWM limit M141 H3 ; map chamber to heater 3 ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H2 T45 ; set fan 1 value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 S1 H1:2 T45 ; set fan 2 value. Thermostatic control is turned on ; Tools M563 P0 S"MAIN EXTRUDER" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 S"SECOND EXTRUDER" D1 H2 F0 ; define tool 1 G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool Homeall.g
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:55 GMT-0500 (Central Daylight Time) G91 ; relative positioning G1 H1 Z500 F6000 ; lift Z relative to current position G1 H1 X-465 F8000 ; move quickly to X endstop and stop there (first pass) G1 H1 Y-465 F8000 ; move quickly to Y endstop and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-465 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y-465 F360 ; then move slowly to Y axis endstop G1 X235 Y235 F6000 ; Prob at Center M558 F600 A1 ; Dive fast once G30 ; probe Z M558 F300 A10 ; Slow second dive with more accuracy G30 ; probe z again HomeZ.g
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Tue Oct 13 2020 21:14:56 GMT-0500 (Central Daylight Time) G91 ; relative positioning G1 H1 Z500 F6000 ; lift Z relative to current position G1 H1 Z-500 F3000 ; move Z down until the endstop is triggered G92 Z0 ; set Z position to axis minimum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z0 F100 ; lift Z relative to current position ;G90 ; absolute positioning M122
M122
=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3beta running on Duet Ethernet 1.02 or later + DueX5 Board ID: 08DLM-996RU-N8PS0-7J9D8-3S86T-1B8VP Used output buffers: 6 of 24 (8 max) === RTOS === Static ram: 23436 Dynamic ram: 70168 of which 24 recycled Never used RAM 18452, free system stack 206 words Tasks: NETWORK(ready,263) HEAT(blocked,315) DUEX(blocked,29) MAIN(running,450) IDLE(ready,19) Owned mutexes: === Platform === Last reset 00:01:11 ago, cause: power up Last software reset at 2021-02-04 13:09, reason: User, GCodes spinning, available RAM 18452, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 23.6, current 25.7, max 26.1 Supply voltage: min 25.0, current 25.0, max 25.1, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: position 0, standstill, SG min/max not available Driver 1: position 0, standstill, SG min/max not available Driver 2: position 0, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0, standstill, SG min/max not available Driver 6: position 0, standstill, SG min/max not available Driver 7: position 0, standstill, SG min/max not available Driver 8: position 0, standstill, SG min/max not available Driver 9: position 0, standstill, SG min/max not available Driver 10: position 0 Driver 11: position 0 Date/time: 2021-02-04 13:12:44 Cache data hit count 110185932 Slowest loop: 6.92ms; fastest: 0.21ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 3.8ms, write time 0.0ms, max retries 0 === Move === DMs created 83, 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 = 0 -1 -1 -1, chamberHeaters = 3 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === DueX === Read count 45, 37.91 reads/min === Network === Slowest loop: 11.52ms; fastest: 0.02ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 Interface state active, link 100Mbps full duplex M119
2/4/2021, 1:14:39 PM M119 Endstops - X: not stopped, Y: not stopped, **Z: no endstop**, Z probe: not stopped Problems Key
Driver 10 external servo Motor with an encoder on 3.3FR Not moving
Endstop Still Same issue string Can't take more than 50 Characters.Thank You
-
Sorry forgot to post M98
M98P"config.g" HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: Unknown pin name 'duex.e5sto' Error: bad grid definition: Too many grid points; suggest increase spacing to 21.0mm Warning: Macro file config-override.g not found -
@moe-adams9093 said in G32 ERROR:
Error: Unknown pin name 'duex.e5sto'
It looks like that version of the firmware doesn't have the expanded command buffer - it's still dropping the last character.
Frederick
-
I just found a solution to this problem. and it's a very simple fix. All I have to do is swap Driver 9 and Duex.e6stop to Z Drive and !Zstop that will put my string under 50 Char. But first I need to go back to 3.1.1 because 3.3 is acting a little weird.
-
@moe-adams9093 said in G32 ERROR:
I just found a solution to this problem. and it's a very simple fix. All I have to do is swap Driver 9 and Duex.e6stop to Z Drive and !Zstop that will put my string under 50 Char. But first I need to go back to 3.1.1 because 3.3 is acting a little weird.
Did you have a problem with the original driver assignments under 3.1.1?
I don't recall that you did.
Thanks.
Frederick
-
Yes I did have a problem but I was using << !exp.e2stop to !exp.e6stop >> that was another issue. Anyway I haven't downgraded yet to 3.1 I will see if it works but I think it should