That was it!!
At some point I put that script in there as well. I didnt realize Stop.g gets called at the end of every job now.
That was it!!
At some point I put that script in there as well. I didnt realize Stop.g gets called at the end of every job now.
I'll try changing it to the 0: item again, I think I tried that and it had no effect.
the scripts are cited later in the gcode as commented code output by the slicer:
; filament_start_gcode = ";Set Bed temp\nM140 S100\nM190 S100\n\n;Set Hot End temp\nM109 S265 T0\n\n;Call Tool 0 start script\nM98 P\"/macros/jobscripts/ChamberFanHighTemp.g\"\nM98 P\"/macros/jobscripts/Start_T0.g\"\n; Filament gcode\nM106 S0 P0\nT0"
; filament_toolchange_delay = 0
; filament_type = PA-CF
; filament_unload_time = 0
; filament_unloading_speed = 90
; filament_unloading_speed_start = 100
; filament_vendor = "MH NyonX"
; filament_wipe = 1
; filament_wipe_distance = 0.5
; filament_z_hop = 0.25
; filament_z_hop_types = Normal Lift
; filename_format = {input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode
; filter_out_gap_fill = 0
; first_layer_print_sequence = 0
; flush_into_infill = 0
; flush_into_objects = 0
; flush_into_support = 1
; flush_multiplier = 0.3
; flush_volumes_matrix = 0
; flush_volumes_vector = 140,140
; full_fan_speed_layer = 0
; fuzzy_skin = none
; fuzzy_skin_first_layer = 0
; fuzzy_skin_point_distance = 0.8
; fuzzy_skin_thickness = 0.3
; gap_fill_target = everywhere
; gap_infill_speed = 100
; gcode_add_line_number = 0
; gcode_comments = 0
; gcode_flavor = reprapfirmware
; gcode_label_objects = 1
; has_scarf_joint_seam = 0
; head_wrap_detect_zone =
; high_current_on_filament_swap = 0
; hole_to_polyhole = 0
; hole_to_polyhole_threshold = 0.01
; hole_to_polyhole_twisted = 1
; host_type = duet
; hot_plate_temp = 100
; hot_plate_temp_initial_layer = 100
; independent_support_layer_height = 1
; infill_anchor = 400%
; infill_anchor_max = 20
; infill_combination = 0
; infill_direction = 45
; infill_jerk = 9
; infill_wall_overlap = 30%
; inherits_group = "0.28mm Extra Draft @MyRRF";"My Generic PA-CF";"MyRRF 0.4 nozzle"
; initial_layer_acceleration = 1000
; initial_layer_infill_speed = 105
; initial_layer_jerk = 9
; initial_layer_line_width = 0.5
; initial_layer_min_bead_width = 85%
; initial_layer_print_height = 0.25
; initial_layer_speed = 70
; initial_layer_travel_speed = 100%
; inner_wall_acceleration = 5000
; inner_wall_jerk = 9
; inner_wall_line_width = 0.45
; inner_wall_speed = 100
; interface_shells = 0
; internal_bridge_flow = 1
; internal_bridge_speed = 150%
; internal_solid_infill_acceleration = 100%
; internal_solid_infill_line_width = 0.5
; internal_solid_infill_pattern = zig-zag
; internal_solid_infill_speed = 200
; ironing_angle = -1
; ironing_flow = 10%
; ironing_pattern = zig-zag
; ironing_spacing = 0.15
; ironing_speed = 30
; ironing_type = no ironing
; is_infill_first = 0
; layer_change_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
; layer_height = 0.25
; line_width = 0.5
; machine_end_gcode = ;Call Unload/End Script\nM98 P\"/macros/jobscripts/EndJob.g\"
; machine_load_filament_time = 0
; machine_max_acceleration_e = 3000,5000
I retyped out the line from scratch and it still throws the error for some reason.
@clegg78 I did more testing and it doesnt matter which slicer exports the gcode (Orca, PS, S3D) The very weird thing is that is runs the entire script it errors on. So it's not like it doesn't run it, the script executes completely. So, for now, its just an annoyance error, since it all seems to be operating as expected. But still very curious.
@droftarts Sounds great, just wanted to be sure I wasn't pulling from the wrong repo or anything
So this was moved to the Beta Firmware channel... is 3.5.1 beta?? if it was I wouldn't have installed it (been avoiding 3.5.x builds for months to avoid installing a beta version. On the github it looked like a full release.
@droftarts
They seem like straight double quotes
;WIPE_END
M486 S-1
M106 S0
;TYPE:Custom
; filament end gcode
;Call Unload/End Script
M98 P"/macros/jobscripts/EndJob.g"
M73 P100 R0
; EXECUTABLE_BLOCK_END
Then this is the actual script:
;Script for S3D to end the job
;powerdown all heaters
M104 S0 T0 ; turn off extruder
M104 S0 T1 ; turn off extruder
M104 S0 T2 ; turn off extruder
M104 S0 T3 ; turn off extruder
M140 S0 ; turn off bed
G1 E-.5 F200 ; Slight Retract to clear the nozzle
T-1 P0; Unload all tools, dont run the tool end script
;Turn off all part cooling fans
M106 P0 S0
M106 P1 S0
;Reset the filament sensors if they were disabled or changed for specific print jobs:
;Magnetic Filament Sensor - Reapply default Settings
M98 P"/macros/jobscripts/FilamentSensor.g"
M98 P"/macros/jobscripts/Chamberfan.g"
;Code to undo the MM and other tools
M579 U1 ; Unset the mirroring config for the U Axis if using Tool3
;Reset Extrusion %
M221 S100 D0 ; E0 Extrusion
M221 S100 D1 ; E1 Extrusion
;Move the Heads out of the way
M913 X50 Y50 U50 Z50 ; set lower power
G91 ; Relative positioning
G1 Z3 F6000 ; drop Z by 3mm
G90
;X Y motors to 50% of their normal current for homing
G1 X-210 Y165 U201 F8000 ;move X/Y/U
M913 X100 Y100 U100 Z100; set X Y motors to100% of their normal current for homing
;Reset any tool Z offset scripts
G10 P0 Z0
G10 P1 Z0
M84 ; disable motors
;Reset LEDs
M106 P6 S0
M106 P7 S0
M106 P5 S0 ; shutdown Pause LED if lit
The answer was stop.g being run and it had a M98 call in it without quotes.
I have macros at the start and end of my print jobs, and since going to 3.5.1 I am getting some odd errors with the macros at the end of the print job:
This is the place the script is being called:
I am confused at the line 9 column 6 reference though, there arent any intented columns in the macro:
what am I missing here?
thanks, just changed that and it seems to work at least functionally. Good to know its a known issue!
My Duet2 has been a workhorse working mostly flawlessly for the last couple years But since going to 3.5.1 today... the DWC continuously drops connection and reconnects when I am printing and sometimes when the printer is idle.
Overall the upgrade is good it seems, but this makes the printer rather unmanageable. I have a PanelDue 7i as well and I see it going into a connecting state as well at times.
My Config: (excuse all the commented out bits, this config has evolved over 3 or 4 years now)
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Wed May 13 2020 20:53:22 GMT-0600 (Mountain Daylight Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"IDEXRig v3.5.1" ; set printer name
M929 P"eventlog5.txt" S2 ; Set event log
M575 P1 S1 B57600 ; Enable Panel Due Port.
M555 P1 ; Set firmware compatibility to look like Marlin
G21 ; Work in millimetres
; Network
M552 S1 ; DHCP
;M552 P192.168.50.45 S1 ; enable network and set IP address
;M553 P255.255.255.0 ; set netmask
;M554 P192.168.50.1 ; set gateway
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; enable FTP
M586 P2 S0 ; disable Telnet
;##########Motor/Movement/Build Area##############
; Movement section
M569 P0 S0; Drive 0 goes backwards(change to S0 to reverse it) -X
M569 P1 S1 ; Drive 1 goes forwards ZL
M569 P2 S1 ; Drive 2 goes forwards ZR
M569 P3 S1 ; Drive 3 goes Forwards E0 (Changed for Hemera)
M569 P4 S1 ; Drive 4 goes forwards E1
M569 P5 S1 ; Drive 5 goes forwards U
M569 P6 S1 ; Drive 6 goes backwards Y
M569 P7 S0 ; Drive 7 goes forwards Y
;M569 P8 S1 ; Drive 8 goes forwards
;M569 P9 S1 ; Drive 9 goes forwards
; Motor Assignments
M584 X0 Y6:7 Z1:2 U5 E3:4 ; U Axis for second X stepper, dual X and Dual Y and dualZ
M350 Z16 I1;
M350 X16 Y16 U16 I1; Configure microstepping with interpolation
M92 X200.00 U200.00 Y200.00 Z1600 E397:397 ; set steps per mm (Updated for Hemera - 397 is stock - 809.00 was titan
; FEEDRATE CONVERSIONS
; 20mm/s = F1200
; 70mm/s = F4200
; 120mm/s = F7200
;200mm/s = 12000
M201 X2000 Y1600 U2000 Z200 E3000:3000; Accelerations (mm/s^2)
M203 X18000 Y18000 U18000 Z800 E7500:7500 ; Maximum speeds (mm/min)
;M205 X15 Y13 U15 Z1 E50:50 ; Maximum jerk speeds mm/sec (Lowered to 13 for X and U in testing was 15 to check for skipped steps)
M566 X800 Y700 Z40 U800 E1500:1500 P1 ; Maximum jerk speeds mm/min Set Jerk Policy to 1
;M204 P3000 T4000 ; Set printing and travel accelerations
M906 X1100 Y1400 U1100 Z1300 E1000:1000 I15; Set motor currents (mA) and motor idle factor in percent (Raised X and U to 1100 for testing to overcome skippe steps)
M84 S300 ; Set idle timeout
; Home to the Min of X, Max of Y, Max of U set that to get the center zero. Use the non home axis as travel limits.
M208 X152 Y179.7 U211.33 Z300 ; Set axis maxima (adjust to suit your machine) Add U+ to move alignment to the left. Moved to .45 from .59 after machine warmed
M208 X-215 Y-190.0 U-152 Z0 S1 ; Set axis minimum (adjust to make X=0 and Y=0 the CENTER of the bed) X Changed to 200 -3mm between the X and U wit the U being 3mm further back, so add -3 to the Y number
; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y2 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 U2 S1 P"e0stop" ; configure active-high endstop for High end on U via pin e0Endstop
;M574 Z2 S1 P"zstop" ; configure active-high endstop for low end on Y via pin zstop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
; Move Beyond Endstops:
M564 S1 ; #####Allow moving out of range. S0 Out of range, S1 In Range.
;Motor Stall Detection
M915 X Y U F0 R2 S15
M915 Z F0 R2 S30
;Code to calibrate the lead screws
M671 X-270:275 Y0:0 S1 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis Max correction of 1
; #######Z-Probe#######
M950 S0 C"duex.pwm1" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H2 F1000:50 T14000 R0.3 A4 S-1 ; set Z probe type to bltouch and the dive height + speeds
;removed S0.005 from the M558 to see about speeding up probing? A10
;G31 P25 X16 Y28 Z1.53 ; Aero Left Set Z probe trigger value (Higher the number the closer to the nozzle) Increased from 1.67 before last change
G31 P25 X35 Y36 Z2.12 ; Hemera w/ V6 Left Set Z probe trigger value (Higher the number the closer to the nozzle) Increased from 1.67 before last change
M557 X-150:150 Y-150:150 P8:8 ; define mesh grid
M376 H8 ; Taper off compensation over 10mm of height
; ##########Heaters/Sensors###################
;BED HEADTER
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat"T0 Q10 ; create bed heater output on bedheat and map it to sensor 0 - 10hz Frequency
M143 H0 S135 ; set temperature limit for heater 0 to 135C
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
;E0
;V6 Thermistor Cartridge E0
;M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
;V6 PT1000
;M308 S1 P"e0temp" Y"pt1000" ; temp Sensor for V6 E0 with PT1000
;Revo 40W
M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.060000e-8
M950 H1 C"e0heat" T1 Q100 ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S300 ; set temperature limit for heater 1 to 400C - Copper Block,NozzleX, Ti Heatbreak, 40W Precision Heater.
M307 H1 B0 S1.00; disable bang-bang mode for heater and set PWM limit
;45W Calibration:
;M307 H1 R3.659 K0.633:0.447 D2.10 E1.35 S1.00 B0 V24.0
;60W Calibration:
;M307 H1 R4.956 K1.098:0.294 D2.85 E1.35 S1.00 B0 V24.0
;E1
;V6 Thermistor Cartridge E1
;M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e1temp
;V6 E1 PT1000
;M308 S2 P"e1temp" Y"pt1000" ; temp Sensor for V6 E0 with PT1000
;Revo E1 40W
M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.060000e-8
M950 H2 C"e1heat" T2 Q100 ; create nozzle heater output on e1heat and map it to sensor 2
M143 H2 S300 ; set temperature limit for heater 2 to 400C
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
;45W Calibration:
;M307 H2 R3.847 K0.497:0.124 D1.75 E1.35 S1.00 B0 V24.0
;60W Calibration:
;M307 H2 R4.574 K0.418:0.119 D2.57 E1.35 S1.00 B0 V24.0
;PT1000 calibration sensor
;M308 S8 P"duex.e5temp" Y"pt1000" A"Calibration"; sensor 8 (disabled for when not being used)
;Virtual Sensors
M308 S3 P"mcu-temp" Y"mcu-temp" A"MCU" ; set virtual heater for MCU
M308 S4 P"drivers" Y"drivers" A"Driver" ; set virtual heater for stepper drivers
;DHT Sensor
M308 S5 P"duex.cs6" Y"dht22" A"Chamber Temp"
M308 S6 P"S5.1" Y"dhthumidity" A"Chamber Humidity"
; ##########Fans#############
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 C"E0 Part Fan" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 C"E1 Part Fan" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off
M950 F2 C"fan2" Q1 ; create fan 2 on pin fan2 and set its frequency
M106 P2 C"System Board Fans" S0 H3:4 T44:55 L50 X255 ; set fan 2 name and value. Thermostatic control is turned on
M950 F3 C"duex.fan3" Q500 ; create fan 3 on pin duex.fan3 and set its frequency
M106 P3 C"E0 HE Fan" S1 H1 T80 L0 X255 ; set fan 3 name and value. Thermostatic control is turned on
M950 F4 C"duex.fan4" Q500 ; create fan 4 on pin duex.fan4 and set its frequency
M106 P4 C"E1 HE Fan" S1 H2 T80 L0 X255 ; set fan 4 name and value. Thermostatic control is turned on
M950 F5 C"duex.fan5" Q500 ; create fan 5 on pin duex.fan5 and set its frequency
;#####LEDS###########
M106 P5 C"Pause LED" S0 H-1 ; set fan 5 name and value. Thermostatic control is turned off
M950 F6 C"duex.fan6" Q500 ; create fan 6 on pin duex.fan6 and set its frequency
M106 P6 C"E0 LED" S0 H-1 ; set fan 6 name and value. Thermostatic control is turned off
M950 F7 C"duex.fan7" Q500 ; create fan 7 on pin duex.fan7 and set its frequency
M106 P7 C"E1 LED" S0 H-1 ; set fan 7 name and value. Thermostatic control is turned off
M950 F8 C"duex.fan8" Q500 ; create fan 8 on pin duex.fan8 and set its frequency
;M106 P8 C"Bed LED" S0 H-1 ; ###Commented out, no longer bed fan####set fan 8 name and value. Thermostatic control is turned off (### Going to bereplaced with chamber fan script)
;##### 24v Duex Heaters as Fan outputs
;M950 H3 C"duex.e3heat" Q500 T8
;M141 H3 P0; Set chamber heater Not needed right now
;M106 P9 C"DummyHeater" S255 H-1
;M950 F10 C"duex.e4heat" Q500
;M106 P10 C"HeaterLED2" S255 H-1
;M950 F11 C"duex.e5heat" Q500
;M106 P11 C"HeaterLED3" S255 H-1
;M950 F12 C"duex.e6heat" Q500
;M106 P12 C"HeaterLED4" S255 H-1
;############Call Chamber Fans##########
M98 P"/macros/jobscripts/ChamberFan.g"
;############Call Filament Sensor Configurations########
M98 P"/macros/jobscripts/FilamentSensor.g"
;############Call Pressure Advance ########
M98 P"/macros/jobscripts/PressureAdvance.g"
;############Call InputShaping ########
M98 P"/macros/jobscripts/InputShaping.g"
;########Cold Extrusion Limit##########
M302 S185 R185
;Filament settings
M404 N1.75 D0.4
;############Extend TEMPERATURE FAULT WARNINGS - ONLY FOR Nozzle/Tool changes
;M570 H1 P90 T80 ;Heater 1 (E0) Extended Fault Warnings
;M570 H2 P90 T80 ;Heater 2 (E1) extended fault warnings
;Disable heater warnings for
;###TOOL DEFINITIONS####
; Tool 0 X - Left hand Extruder
M563 P0 D0 H1 F0 X0 S"Left Hemera XS" ; tool 0 uses extruder 0 and heater 1 and maps X to X, use fan 2 as the print cooling fan
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
;G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
;Tool 1 U - Right hand Extruder Hemera
M563 P1 D1 H2 X3 F1 S"Right Hemera XS" ; tool 1 uses extruder 1 and heater 2 and maps X to U, use fan 1 as the print cooling fan
G10 P1 X0 Y-7.7 Z0.00 ; Set initial tool 1 active and standby temperatures to 0C (Higher the negative number the futher back in the Y the U axis alings) Offset was -7.64Y
;G10 P1 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
; Duplication Tool 2
M563 P2 D0:1 H1:2 X0:3 F0:1 S"Dual Duplication Print" ; tool 2 uses both extruders and hot end heaters, maps X to both X and U, and uses both print cooling fans
G10 P2 X70 Y0 U-80 Z0 ; set tool offsets and temperatures for tool 2
;G10 P2 R0 S0
M567 P2 E1:1 ; set mix ratio 100% on both extruders
; Mirror Tool 3
M563 P3 D0:1 H1:2 X0:3 F0:1 S"Dual Mirror Print" ; tool 2 uses both extruders and hot end heaters, maps X to both X and U, and uses both print cooling fans
G10 P3 X85 Y0 U-85 Z0 ; set tool offsets and temperatures for tool 2 (+10mm offset for clearance due to the mirroring movements)
;G10 P3 R0 S0
M567 P3 E1:1 ; set mix ratio 100% on both extruders
; Miscellaneous
M501
My Diagnostics
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet Ethernet 1.02 or later + DueX5
Board ID: 08DGM-917NK-F23T0-6J1F6-3SD6T-1GBWD
Used output buffers: 1 of 26 (26 max)
=== RTOS ===
Static ram: 23256
Dynamic ram: 72556 of which 224 recycled
Never used RAM 13604, free system stack 124 words
Tasks: NETWORK(1,ready,26.8%,179) HEAT(3,nWait 5,0.1%,328) Move(4,nWait 5,0.8%,258) DUEX(5,nWait 5,0.0%,24) MAIN(1,running,71.9%,714) IDLE(0,ready,0.4%,29), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:14:08 ago, cause: power up
Last software reset at 2024-05-08 22:21, reason: User, Gcodes spinning, available RAM 13308, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x0c
Aux0 errors 0,0,0
MCU temperature: min 41.5, current 46.0, max 46.5
Supply voltage: min 23.8, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/12, heap memory allocated/used/recyclable 2048/1624/960, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: ok, SG min 35
Driver 1: ok, SG min 0
Driver 2: ok, SG min 0
Driver 3: standstill, SG min 0
Driver 4: standstill, SG min n/a
Driver 5: standstill, SG min 281
Driver 6: ok, SG min 102
Driver 7: ok, SG min 125
Driver 8: standstill, SG min n/a
Driver 9: standstill, SG min n/a
Driver 10:
Driver 11:
Date/time: 2024-05-08 22:35:52
Cache data hit count 4294967295
Slowest loop: 416.08ms; fastest: 0.17ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 8
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 16.1ms, write time 19.9ms, max retries 0
=== Move ===
DMs created 83, segments created 27, maxWait 210041ms, bed compensation in use: mesh, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.00
next step interrupt due in 8 ticks, disabled
Moves shaped first try 324, on retry 20, too short 1267, wrong shape 997, maybepossible 185
=== DDARing 0 ===
Scheduled moves 3010, completed 2970, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 0 is on, I-accum = 0.2
Heater 1 is on, I-accum = 0.3
=== GCodes ===
Movement locks held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is doing "G1 Z.65 F21000" 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
Q0 segments left 1
Code queue 0 is empty
=== Filament sensors ===
check 2705980 clear 1965844
Extruder 0: pos 13756.29, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
Extruder 1: pos 2160.00, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
=== DueX ===
Read count 1, 0.07 reads/min
=== Network ===
Slowest loop: 397.18ms; fastest: 0.01ms
Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
Interface state active, link 100Mbps full duplex
Socket states: 1 2 2 2 2 2
Not sure what to do now other than roll back to 3.4.6 if this is going to be unworkable.
@dc42 I upgraded to the 3.4.1 RC that is posted and it seems to have remedied a most of the disconnections! I am seeing the max Output buffers go to 26, but in general no (or many less) crashes or reconnections like was happening before.
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.1rc1 (2022-05-03 09:34:00) running on Duet Ethernet 1.02 or later + DueX5
Board ID: 08DGM-917NK-F23T0-6J1F6-3SD6T-1GBWD
Used output buffers: 7 of 26 (26 max)
=== RTOS ===
Static ram: 23868
Dynamic ram: 74972 of which 0 recycled
Never used RAM 9088, free system stack 96 words
Tasks: NETWORK(ready,203.0%,218) HEAT(notifyWait,5.1%,307) Move(notifyWait,209.7%,283) DUEX(notifyWait,0.0%,24) MAIN(running,149.4%,425) IDLE(ready,0.1%,30), total 567.3%
Owned mutexes:
=== Platform ===
Last reset 23:10:43 ago, cause: software
Last software reset at 2022-05-14 14:04, reason: User, GCodes spinning, available RAM 9256, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x0c
Aux0 errors 0,1,0
Step timer max interval 0
MCU temperature: min 42.8, current 45.7, max 46.8
Supply voltage: min 23.8, current 23.9, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/3, heap memory allocated/used/recyclable 2048/670/646, gc cycles 0
Events: 1 queued, 1 completed
Driver 0: standstill, SG min 3
Driver 1: ok, SG min 0
Driver 2: ok, SG min 0
Driver 3: standstill, SG min 0
Driver 4: ok, SG min 0
Driver 5: ok, SG min 37
Driver 6: ok, SG min 9
Driver 7: ok, SG min 10
Driver 8: standstill, SG min n/a
Driver 9: standstill, SG min n/a
Driver 10:
Driver 11:
Date/time: 2022-05-15 13:15:30
Cache data hit count 4294967295
Slowest loop: 350.13ms; fastest: 0.14ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 8
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 22.2ms, write time 10.3ms, max retries 0
=== Move ===
DMs created 83, segments created 54, maxWait 25947876ms, bed compensation in use: mesh, comp offset 0.000
=== MainDDARing ===
Scheduled moves 18853, completed 18813, hiccups 0, stepErrors 0, LaErrors 0, Underruns [356, 0, 0], CDDA state 3
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
Heater 0 is on, I-accum = 0.0
Heater 2 is on, I-accum = 0.7
=== 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 doing "G1 X-24.463 Y21.930 E0.0324" 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
=== Filament sensors ===
Extruder 0: pos 2.11, errs: frame 1 parity 0 ovrun 0 pol 0 ovdue 0
Extruder 1: pos 328.01, errs: frame 0 parity 0 ovrun 0 pol 1 ovdue 0
=== DueX ===
Read count 1, 0.00 reads/min
=== Network ===
Slowest loop: 161.96ms; fastest: 0.00ms
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
@dc42 Here is my config:
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"JK3D.us IDEXRig v3.4.0" ; set printer name
M929 P"eventlog2.txt" S1 ; Set event log
M575 P1 S1 B57600 ; Enable Panel Due Port.
M555 P2 ; Set firmware compatibility to look like Marlin
G21 ; Work in millimetres
; Network
M552 S1 ; DHCP
;M552 P192.168.50.45 S1 ; enable network and set IP address
;M553 P255.255.255.0 ; set netmask
;M554 P192.168.50.1 ; set gateway
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; enable FTP
M586 P2 S0 ; disable Telnet
;##########Motor/Movement/Build Area##############
; Movement section
M569 P0 S0; Drive 0 goes backwards(change to S0 to reverse it) -X
M569 P1 S1 ; Drive 1 goes forwards ZL
M569 P2 S1 ; Drive 2 goes forwards ZR
M569 P3 S0 ; Drive 3 goes backwards E0
M569 P4 S1 ; Drive 4 goes forwards E1
M569 P5 S1 ; Drive 5 goes forwards U
M569 P6 S1 ; Drive 6 goes backwards Y
M569 P7 S0 ; Drive 7 goes forwards Y
;M569 P8 S1 ; Drive 8 goes forwards
;M569 P9 S1 ; Drive 9 goes forwards
; Motor Assignments
M584 X0 Y6:7 Z1:2 U5 E3:4 ; U Axis for second X stepper, dual X and Dual Y and dualZ
M350 Z16 I1;
M350 X16 Y16 U16 I1; Configure microstepping with interpolation
M92 X200.00 U200.00 Y200.00 Z1600 E809.00:395.2 ; set steps per mm (Updated for Hemera - 409 is stock)
; FEEDRATE CONVERSIONS
; 20mm/s = F1200
; 70mm/s = F4200
; 120mm/s = F7200
;200mm/s = 12000
M201 X2000 Y1800 U2000 Z500 E7000:7000; Accelerations (mm/s^2)
M203 X18000 Y18000 U18000 Z1800 E15000:15000 ; Maximum speeds (mm/min)
M205 X15 Y13 U15 Z10 E50:50 ; Maximum jerk speeds mm/sec (Lowered to 13 for X and U in testing was 15 to check for skipped steps)
M566 P1 ; Set Jerk Policy to 1
M204 P3000 T4000 ; Set printing and travel accelerations
M906 X1200 Y1400 U1200 Z1200 E900:900 I15; Set motor currents (mA) and motor idle factor in percent (Raised X and U to 1100 for testing to overcome skippe steps)
M84 S240 ; Set idle timeout
; Home to the Min of X, Max of Y, Max of U set that to get the center zero. Use the non home axis as travel limits.
M208 X152.5 Y180.4 U203.45 Z300 ; Set axis maxima (adjust to suit your machine) Add U+ to move alignment to the left. Moved to .45 from .59 after machine warmed
M208 X-200 Y-189.5 U-152.5 Z0 S1 ; Set axis minimum (adjust to make X=0 and Y=0 the CENTER of the bed) X Changed to 200 -3mm between the X and U wit the U being 3mm further back, so add -3 to the Y number
; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y2 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 U2 S1 P"e0stop" ; configure active-high endstop for High end on U via pin e0Endstop
;M574 Z2 S1 P"zstop" ; configure active-high endstop for low end on Y via pin zstop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
;Motor Stall Detection
M915 X Y U F0 R2 S15
M915 Z F0 R2 S30
;Code to calibrate the lead screws
M671 X-265:265 Y0:0 S1 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis Max correction of 1
; #######Z-Probe#######
M950 S0 C"duex.pwm1" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H2.5 F70 T7500 A10 R0.5 S0.004 ; set Z probe type to bltouch and the dive height + speeds
G31 P25 X16 Y28 Z1.67 ; Set Z probe trigger value (Higher the number the closer to the nozzle) Increased from 1.66 to 69 on 9/22
M557 X-145:145 Y-145:145 S48.3 ; define mesh grid
M376 H8 ; Taper off compensation over 10mm of height
M564 S0 ; Allow moving out of range.
; ##########Heaters/Sensors###################
;BED HEADTER
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat"T0 Q10 ; create bed heater output on bedheat and map it to sensor 0
M143 H0 S135 ; set temperature limit for heater 0 to 135C
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
;E0
;V6 Thermistor Cartridge E0
;M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
;V6 PT1000
M308 S1 P"e0temp" Y"pt1000" ; temp Sensor for V6 E0 with PT1000
M950 H1 C"e0heat" T1 Q100 ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S400 ; set temperature limit for heater 1 to 400C - Copper Block,NozzleX, Ti Heatbreak, 40W Precision Heater.
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
;E1
;V6 Thermistor Cartridge E1
;M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin e1temp
;V6 E1 PT1000
M308 S2 P"e1temp" Y"pt1000" ; temp Sensor for V6 E0 with PT1000
M950 H2 C"e1heat" T2 Q100 ; create nozzle heater output on e1heat and map it to sensor 2
M143 H2 S400 ; set temperature limit for heater 2 to 400C
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
;PT1000 calibration sensor
;M308 S8 P"duex.e5temp" Y"pt1000" A"Calibration"; sensor 8 (disabled for when not being used)
;Virtual Sensors
M308 S3 P"mcu-temp" Y"mcu-temp" A"MCU" ; set virtual heater for MCU
M308 S4 P"drivers" Y"drivers" A"Driver" ; set virtual heater for stepper drivers
;DHT Sensor
M308 S5 P"duex.cs6" Y"dht22" A"Chamber Temp"
M308 S6 P"S5.1" Y"dhthumidity" A"Chamber Humidity"
; ##########Fans#############
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 C"E0 Part Fan" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 C"E1 Part Fan" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off
M950 F2 C"fan2" Q1 ; create fan 2 on pin fan2 and set its frequency
M106 P2 C"System Board Fans" S0 H3:4 T44:55 L50 X255 ; set fan 2 name and value. Thermostatic control is turned on
M950 F3 C"duex.fan3" Q500 ; create fan 3 on pin duex.fan3 and set its frequency
M106 P3 C"E0 HE Fan" S1 H1 T80 L0 X255 ; set fan 3 name and value. Thermostatic control is turned on
M950 F4 C"duex.fan4" Q500 ; create fan 4 on pin duex.fan4 and set its frequency
M106 P4 C"E1 HE Fan" S1 H2 T80 L0 X255 ; set fan 4 name and value. Thermostatic control is turned on
M950 F5 C"duex.fan5" Q500 ; create fan 5 on pin duex.fan5 and set its frequency
;#####LEDS###########
M106 P5 C"Pause LED" S0 H-1 ; set fan 5 name and value. Thermostatic control is turned off
M950 F6 C"duex.fan6" Q500 ; create fan 6 on pin duex.fan6 and set its frequency
M106 P6 C"E0 LED" S0 H-1 ; set fan 6 name and value. Thermostatic control is turned off
M950 F7 C"duex.fan7" Q500 ; create fan 7 on pin duex.fan7 and set its frequency
M106 P7 C"E1 LED" S0 H-1 ; set fan 7 name and value. Thermostatic control is turned off
M950 F8 C"duex.fan8" Q500 ; create fan 8 on pin duex.fan8 and set its frequency
;M106 P8 C"Bed LED" S0 H-1 ; ###Commented out, no longer bed fan####set fan 8 name and value. Thermostatic control is turned off (### Going to bereplaced with chamber fan script)
;##### 24v Duex Heaters as Fan outputs
;M950 H3 C"duex.e3heat" Q500 T8
;M141 H3 P0; Set chamber heater Not needed right now
;M106 P9 C"DummyHeater" S255 H-1
;M950 F10 C"duex.e4heat" Q500
;M106 P10 C"HeaterLED2" S255 H-1
;M950 F11 C"duex.e5heat" Q500
;M106 P11 C"HeaterLED3" S255 H-1
;M950 F12 C"duex.e6heat" Q500
;M106 P12 C"HeaterLED4" S255 H-1
;############Call Chamber Fans##########
M98 P"/macros/jobscripts/ChamberFan.g"
;############Call Filament Sensor Configurations########
M98 P"/macros/jobscripts/FilamentSensor.g"
;############Call Pressure Advance ########
M98 P"/macros/jobscripts/PressureAdvance.g"
;############Call InputShaping ########
M98 P"/macros/jobscripts/InputShaping.g"
;########Cold Extrusion Limit##########
M302 S185 R185
;Filament settings
M404 N1.75 D0.4
;############Extend TEMPERATURE FAULT WARNINGS - ONLY FOR Nozzle/Tool changes
;M570 H1 P90 T80 ;Heater 1 (E0) Extended Fault Warnings
;M570 H2 P90 T80 ;Heater 2 (E1) extended fault warnings
;Disable heater warnings for
;###TOOL DEFINITIONS####
; Tool 0 X - Left hand Extruder
M563 P0 D0 H1 F0 X0 S"Left Titan Aero" ; tool 0 uses extruder 0 and heater 1 and maps X to X, use fan 2 as the print cooling fan
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
;G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
;Tool 1 U - Right hand Extruder Hemera
M563 P1 D1 H2 X3 F1 S"Right Hemera" ; tool 1 uses extruder 1 and heater 2 and maps X to U, use fan 1 as the print cooling fan
G10 P1 X0 Y-5.38 Z0 ; Set initial tool 1 active and standby temperatures to 0C (Higher the negative number the futher back in the Y the U axis alings)
;G10 P1 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
; Duplication Tool 2
M563 P2 D0:1 H1:2 X0:3 F0:1 S"Dual Duplication Print" ; tool 2 uses both extruders and hot end heaters, maps X to both X and U, and uses both print cooling fans
G10 P2 X76 Y0 U-76 Z0 ; set tool offsets and temperatures for tool 2
;G10 P2 R0 S0
M567 P2 E1:1 ; set mix ratio 100% on both extruders
; Mirror Tool 3
M563 P3 D0:1 H1:2 X0:3 F0:1 S"Dual Mirror Print" ; tool 2 uses both extruders and hot end heaters, maps X to both X and U, and uses both print cooling fans
G10 P3 X85 Y0 U-85 Z0 ; set tool offsets and temperatures for tool 2 (+10mm offset for clearance due to the mirroring movements)
;G10 P3 R0 S0
M567 P3 E1:1 ; set mix ratio 100% on both extruders
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
Filamentsensor.g:
M591 D0 P3 C"e1_stop" S1 R40:140 L26 E60 ;
M591 D1 P3 C"connlcd.enca" S1 R40:140 L26 E60 ;
@phaedrux I am in the middle of a large set of production runs on the machine and I am not sure I have my 3.3 config saved (I should, but I need to find it) if I can get a gap I will test, but I had none of these issues before upgrading.
@ccs86 I have not. My machine is used for pretty consistent production use and the DWC thing is annoying, very annoying, but hasn't been a show stopper for it to run. And the code/config tweaks for 3.4.0 I don't want to unwind. I guess if it turns out there is no fix, I may have to go back.
@ccs86 Interesting. I also have a BLTouch. curious what bug was introduced in 3.4.0 to cause these weird behaviors.
@airscapes You have filament sensors on your printer (rotating magnet style?). I noticed tonight that my DWC instance will crash and need to reconnect if I have mine enabled, I posted about it in another thread.
Update on some testing @Phaedrux @dc42
I disabled both my filament sensors for some testing (Duet Rotating magnet sensors v1.7). 2x of them.
If I enable either of them, DWC constantly reconnects. if I enable both, it gets crazy.
If both are disabled the DWC instance is stable. You can see the sequence here, the system is stable, I enable one of the sensors, and DWC starts dropping and reconnecting.
My Tool 0 sensor: M591 D0 P3 C"e1_stop" S1 R40:140 L26 E60
My Tool 1 sensor: M591 D1 P3 C"connlcd.enca" S1 R40:140 L26 E60
This is crazy repeatable as well.
@ccs86 So... I may have stumbled on something in my case today... Disabling both filament sensors (Duet rotating magnet ones, one on each print head) = no reconnections/DWC crashes.
Enabling one = some random drops.
Enabling both = Crashes galore.
I am going to be doing more testing on this.
@owend ahh yeah! thanks I'll clean that up
I ended up with this being my config for filament-error.g. Since a rotating magnet filament sensor, "tooLittleMovement" doesnt seem to be a "status" of the sensor, so I just made a config to filter out transient issues (sensorError and noDataRecieved) and only stop the printer if those 2 status conditions are not present.
if {param.D ^ ""} = "0"
if sensors.filamentMonitors[0].status = "sensorError"
echo "SensorError-0 Continuing to Print"
M99
if sensors.filamentMonitors[0].status = "noDataReceived"
echo "noDataReceived-0 Continuing to Print"
M99
echo "Too Little Movement-0-Paused"
M291 p"Filament Sensor 0 - Too Little Movement" S1
M25 ;pause the print
if {param.D ^ ""} = "1"
if sensors.filamentMonitors[1].status = "sensorError"
echo "SensorError-1 Continuing to Print"
M99
if sensors.filamentMonitors[1].status = "noDataReceived"
echo "noDataReceived-1 Continuing to Print"
M99
echo "Too Little Movement?-Paused"
M291 p"Filament Sensor 1 - Too Little Movement" S1
M25 ;pause the print
M99
@ccs86 I've been seeing similar with DWC after going to 3.4.0. There is some real weird behavior in the UI now with resets, reconnections, crashes on saving big macros/config files, etc... Very frustrating.