tool position freeze (3.2.2)
-
Hi !
I just update to 3.2.2 (https://github.com/Duet3D/RepRapFirmware/releases/tag/3.2.2) and I have some bugs with the web interface:- the mode stay to "FFF" even when I try to put in into CNC with:
M453 C"!out9" F100 T2 R12000
- the coordinate freeze, I can move the axis but it stay to the same position. I need to refresh the google tab to have the correct value, but it still freeze if I move after.
I run a M122:
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v1.01 or later (standalone mode) Board ID: 08DJM-956BA-NA3TJ-6J1D2-3SD6M-9B9LT Used output buffers: 1 of 40 (13 max) === RTOS === Static ram: 149788 Dynamic ram: 93284 of which 60 recycled Never used RAM 115700, free system stack 159 words Tasks: NETWORK(ready,189) ETHERNET(blocked,110) HEAT(blocked,282) CanReceiv(blocked,848) CanSender(blocked,352) CanClock(blocked,352) TMC(blocked,51) MAIN(running,1107) IDLE(ready,19) Owned mutexes: === Platform === Last reset 00:03:21 ago, cause: software Last software reset at 2021-04-15 17:13, reason: User, GCodes spinning, available RAM 115684, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 MCU temperature: min 41.7, current 43.0, max 44.6 Supply voltage: min 27.9, current 35.9, max 36.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.1, max 12.1, under voltage events: 0 Driver 0: position 125000, standstill, reads 31113, writes 11 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 31113, writes 11 timeouts 0, SG min/max 0/0 Driver 2: position 58750, standstill, reads 31113, writes 11 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 31113, writes 11 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 31114, writes 11 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 31114, writes 11 timeouts 0, SG min/max 0/0 Date/time: 2021-04-15 17:17:14 Slowest loop: 7.02ms; fastest: 0.10ms === Storage === Free file entries: 9 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 2.4ms, write time 3.1ms, max retries 0 === Move === DMs created 125, maxWait 49455ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 8, completed moves 8, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 2], 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 -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. === Network === Slowest loop: 6.76ms; 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 === CAN === Messages queued 851, send timeouts 0, received 104, lost 0, longest wait 1ms for reply type 6018, free buffers 48
How can I fix those please ?
Thanks for your answers ! -
I found what start the bug, it is this line in the config file:
M558 P8 K2 C"^!125.io0.in" F300 T3000
I wanted to make a Z probe for a toolboard.
Do you see what is bad in this line ? -
@pseud3mys said in tool position freeze (3.2.2):
I found what start the bug, it is this line in the config file:
M558 P8 K2 C"^!125.io0.in" F300 T3000
I wanted to make a Z probe for a toolboard.
Do you see what is bad in this line ?Doi you get any error message if you send that command from the DWC console?
Do you have a tool board at CAN address 125 ?
-
@dc42 No I don't get error message and yes I have a toolboard at can 125:
M115 B125 Duet TOOL1LC firmware version 3.2.2 (2021-02-12)
The freeze append instantly after I send the command in the console, I try to delete it from the config file (the coordiante and mode were correctly updated) and when I send it to the command in the console the coordinate freeze.
-
I've just tried running that command on my system, with the address changed to 121 because that is where my tool board is, and it is working for me. However, I am running firmware based on version 3.3beta2. Please can you test whether the problem still occurs after you upgrade the main board and tool board firmware to 3.3beta2.
-
This post is deleted! -
@dc42 I updated the boards to 3.3beta2 but is still freeze (I have the web interface 3.2.2).
Is there an other way to create a pin for a Z probe (it is a simple button) ? -
@dc42 rerefind what go wrong, it is the K parameter
this work fine:M558 P8 C"^!125.io0.in" F300 T3000
and this start the freeze thing:
M558 K1 P8 C"^!125.io0.in" F300 T3000
In fact this paramerter is not in the M558 doc:
https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_typebut in this section it is given as an exemple:
https://duet3d.dozuki.com/Wiki/Gcode#Section_M585_Probe_ToolNew code:
M558 K1 P5 C"!e0stop" ; create probe #1 for use with M585, active low
...
M585 X100 F600 P1 S0 ; probe X until probe #1 is triggered
-
@pseud3mys, please share your complete config.g file.
-
@pseud3mys said in tool position freeze (3.2.2):
I updated the boards to 3.3beta2 but is still freeze (I have the web interface 3.2.2).
YOu may also need DWC to match.
https://github.com/Duet3D/RepRapFirmware/releases/download/3.3beta2/DuetWebControl-SD-3.3b2.zip
-
@dc42 , this is my config file for 3.3beta2 with a little change for 3.3beta2
; executed by the firmware on start-up ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"MultiTool Cartesian" ; set printer name ;emergency stop ! M950 J0 C"^io0.in" M581 P0 T0 S1 R0 ; 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 G4 S1 ;wait for expansion boards to start ; Extruders M569 P121.0 S1 D3 V2000 ; ToolBoard drive 121.0 goes forwards M569 P122.0 S1 D3 V2000 ; ToolBoard drive 122.0 goes forwards M584 E121.0:122.0 ; set extruders drivers M350 E64:64 I0 ; configure microstepping without interpolation for extruder ; speed M92 E415.00:415.00 ; set steps per mm M203 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 E250.00:250.00 ; set accelerations (mm/s^2) M566 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M906 E800:800 ; set motor currents (mA) G10 L2 P1 X0.00 Y0.00 Z0.00 ;reset the 1st coordinate system to coorspond to the machine one ;XYZ axis M569 P41.0 S1 R0 T2.6:2.6:0:5 ; X M569 P40.0 S0 R0 T2.6:2.6:0:5 ; Y M569 P42.0 S0 R0 T2.6:2.6:0:5 ; Z M584 Y40.0 X41.0 Z42.0 ; set Y, X and Z drivers ;speed M92 X125.00 Y125.00 Z125.00 ; step per mm M203 X19200.00 Y19200.00 Z15000.00 ; maximum speeds (mm/min) M566 X900.00 Y900.00 Z900.00 ; maximum instantaneous speed changes (mm/min) M201 X1500.00 Y1200.00 Z800.00 ; accelerations (mm/s^2). théorical max: 6400 M84 S0 ; Disable motor idle current reduction ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X1000 Y950 Z500 S0 ; set axis maxima ;alarms ;X axis fail M950 J10 C"41.io2.in" ; create a GPIO pin number 2 on 1XD board at CAN address 41 for alarm reset M581 P10 S0 T10 ; invoke trigger 10 when an active-to-inactive edge is detected on input 10 ;Yaxis fail M950 J11 C"40.io2.in" ; create a GPIO pin number 2 on 1XD board at CAN address 40 for alarm reset M581 P11 S0 T11 ; invoke trigger 11 when an active-to-inactive edge is detected on input 11 ;Z axis fail M950 J12 C"42.io2.in" ; create a GPIO pin number 2 on 1XD board at CAN address 42 for alarm reset M581 P12 S1 T12 ; invoke trigger 12 when an inactive-to-active edge is detected on input 12 ; Endstops M574 X2 S1 P"41.io1.in" M574 Y1 S1 P"40.io1.in" M574 Z2 S1 P"42.io1.in" ; Z-Probe ; Spindle board Z probe ; ! All work fine without this line: ; M558 P8 K2 C"^!125.io0.in" F300 T3000 ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable 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 ; configure sensor 1 as thermistor on pin 121.temp0 M308 S1 P"121.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-12 M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1 M307 H1 B0 S0.35 ; disable bang-bang mode for heater and set PWM limit M143 H1 P1 S285 A0 ; raise a heater fault if it exceeds 285C ; configure sensor 2 as thermistor on pin 122.temp0 M308 S2 P"122.temp0" Y"thermistor" T500000 B3600 C1.196220e-7 H-15 L-12 M950 H2 C"122.out0" T2 ; create nozzle heater output on 122.out0 and map it to sensor 2 M307 H2 B0 S0.35 ; disable bang-bang mode for heater and set PWM limit M143 H1 P1 S285 A0 ; raise a heater fault if it exceeds 285C ; Fans de hotend M950 F0 C"121.out2" Q500 ; create fan 0 on pin 121.out2 and set its frequency M106 P0 S0 H1 T45 L255 ; set fan 0 value. Thermostatic control is turned on (ON/OFF, no PWM) M950 F1 C"122.out2" Q500 ; create fan 1 on pin 122.out2 and set its frequency M106 P1 S0 H2 T45 L255 ; set fan 1 value. Thermostatic control is turned on (ON/OFF, no PWM) ; Fans de filaments ; Tools M563 P0 S"Extrudeur 0" 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"Extrudeur 1" D1 H2 F1 ; 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 ; !! for version 3.3 M950 R0 C"!out9" L12000 ; Create spindle index 0, with PWM pin on heater 3 and 12000 RPM achieved at full PWM M563 P2 S"Spindle" R0 ; Create tool 1 with spindle 0 and call it "Spindle" ; !! version 3.x ; M563 P2 S"Spindle" F-1 ; define tool 2 ; M453 C"!out9" Q100 T2 R12000 G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets M5 ; relay spdindle activation M950 P8 C"out4" ; create output M42 P8 S0 ; desactivate it ;M563 P3 S"Laser" F-1 ; define tool 3 ;G10 P3 X0 Y0 Z0 ; set tool 3 axis offsets ; Triggers ; extrudeur 0 and 1 toolboard M950 J2 C"!121.button0" M581 P2 T2 S0 M950 J3 C"!121.button1" M581 P3 T3 S0 M950 J4 C"!122.button0" M581 P4 T4 S0 M950 J5 C"!122.button1" M581 P5 T5 S0 ; spindle board: M950 J6 C"!125.button0" M581 P6 T6 S0 M950 J7 C"!125.button1" M581 P7 T7 S0 ; Miscellaneous M501 ; load saved parameters from non-volatile memory M929 P"logs/log.txt" S1 ; start log
-
@phaedrux okay thank you, I will make the complete update.
-
@phaedrux the bug stay the same in 3.2.2 or in 3.3beta2 (with the right DWC version). It is the all "status" box how freeze (the status "idle" don't go to "busy", speed and coordinates don't change) just the sensors part is not impacted.
-
@pseud3mys, I'm running your config.g file with tool boards at addresses 121 and 125. I sent G92 X0 Y0 Z0 to pretend-home the printer. I un-commented the M558 K2 line.
When I command movement in X and/or Y and/or Z, the status goes busy for a short while and the coordinates in the display change as expected.
I am running in standalone mode using the main board firmware, tool board firmware and DWC at https://www.dropbox.com/sh/dupd9u1xppr1om5/AADYg4guuj2n8LJokVqtK-C7a?dl=0. Please try those files.
-
@dc42 I change the firmawre and DWC with your files and I try with my setup (3 extarnals drivers boards (CAN 40, 41, 42) and one toolboard with CAN 125) in standalone but only the busy status goes fine, the coordinate and speed still freeze after I send exactly this command (the same that in the config.g file).
M558 P8 K2 C"^!125.io0.in" F300 T3000
-
@dc42 To overcome this issues I use the 3.3beta2 metacommand:
; in my config.g file: M950 J8 C"^!125.io0.in" ; in a macros: G91 while sensors.gpIn[8].value == 0 ; this loop run fine G1 Z-0.01 F500 G0 Z20 F300 M400 while sensors.gpIn[8].value == 0 G1 Z-0.01 F100 G90
And I have one question:
- and after, can this replace a Z probe ? did the loop will stop at the exact moment the button is closed (with this 0.01 resolution) ?
Thank you for your time and help !
-
This post is deleted! -
@pseud3mys said in tool position freeze (3.2.2):
@dc42 I change the firmawre and DWC with your files and I try with my setup (3 extarnals drivers boards (CAN 40, 41, 42) and one toolboard with CAN 125) in standalone but only the busy status goes fine, the coordinate and speed still freeze after I send exactly this command (the same that in the config.g file).
M558 P8 K2 C"^!125.io0.in" F300 T3000
I managed to reproduce this by sending the command again. The Object Model browser reports the positions correctly, so this appears to be a bug in DWC. One for @chrishamm. https://github.com/Duet3D/DuetWebControl/issues/357
I found a workaround: create Z probe 0 as well.
-
@dc42 ok thank you !