Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. wschadow
    • Profile
    • Following 0
    • Followers 0
    • Topics 18
    • Posts 65
    • Best 3
    • Controversial 0
    • Groups 0

    wschadow

    @wschadow

    3
    Reputation
    13
    Profile views
    65
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    wschadow Unfollow Follow

    Best posts made by wschadow

    • Not all M291 messages displayed on PanelDue 3.5.1

      When I recall correctly the initial bug was related to DWC, that is why am reporting this here again. On some occastions when pressing a button on the PanelDue the message related to this is displayed only, whereas the PanelDue shows only "busy"
      1df5f818-3b5b-4ba5-af38-b4e2e5f94d27-image.png

      8289ce30-d05a-4125-a889-d8a831c38223-image.png

      This is pretty annoying when you sit in front of the printer and don't what the printer is waiting for. Especially when the computer is in the next room...

      This is the ressurection of an older bug that was fixed.

      posted in Duet Web Control
      wschadowundefined
      wschadow
    • Leading blanks are not written to file RRF 3.2

      When writing to a file the leading blanks and tabs are not written.

      ; =========================================================================================================
      ;
      M28 "/sys/AutoloadStatus"                          ; open file for output
      M950 J1 C"nil"                                     ; free input 1 e0 filament sensor 
      if sensors.filamentMonitors[0].enabled = true      ; if filament sensor is active
          M591 D0 P2 C"e0stop" S1                        ; filament runout sensor;
      M29                                                ; close file
      ;
      ; =========================================================================================================
      
      

      The output looks like this

      M950 J1 C"nil"                                     
      if sensors.filamentMonitors[0].enabled = true      
      M591 D0 P2 C"e0stop" S1                        
      

      The if statement is not executed properly. Any ideas?
      Thanks, Wolfgang

      posted in Gcode meta commands
      wschadowundefined
      wschadow
    • Inquire if a file exists

      With M470, M471 and now since fw 3.5 we have M472 for file operations. It would be nice to have something like

      M473 P"test"
      set var.file_status = {output}
      

      which checks if the file "test" exists and assigns the variable file_status to the output (integer 0/1 or boolean true/false)

      posted in Gcode meta commands
      wschadowundefined
      wschadow

    Latest posts made by wschadow

    • RE: 3.6.0-b2: z-Position wrong after pause

      @dc42

      ; =========================================================================================================
      ;
      ; Configuration file for CaribouIDEX with LGX and Duet 3 Mini 5+ (firmware version 3.4 and higher)
      ;
      ; for 0.9° motors on xy, and 0.9° or 1.8° motor on e
      ;
      ; for CaribouIDEX220 Duet3Mini5+ LGX Mosquito 0.9° - E3d or SE Thermistor - SuperPINDA
      ;
      ; CariboDuetConfiguration Release : "0.1.0"
      ;                           Build :   177
      ;
      ; Copyright Caribou Research & Development 2023. Licensed under GPL3.
      ; Source code and release notes are available on github: https://github.com/Caribou3d/CaribouIDEX-Configuration-and-Macros
      ;
      ; =========================================================================================================
      ;
      ; global variables 
      ; 
      global IdleCounter = 0                                                 ; counts idle time
      global ExtruderTempActive_Old0 = 0                                     ; stores extruder 0 temperature for idle check
      global ExtruderTempActive_Old1 = 0                                     ; stores extruder 1 temperature for idle check
      global BedTempActive_Old = 0                                           ; stores bed temperature for idle check
      global OldStateStatus = 0                                              ; stores the status of the printer, processing = 1
      global ToolSelected = -1                                               ; stores the selected tool
      global HeatStatus1 = -1                                                ; stores the status of heater 1
      global HeatStatus2 = -1                                                ; stores the status of heater 2
      global HeatStatus3 = -1                                                ; stores the status of tool2
      global HeaterActive1 = 0                                               ; stores the active temperature of heater 1
      global HeaterStandby1 = 0                                              ; stores the standby temperature of heater 1
      global HeaterActive2 = 0                                               ; stores the active temperature of heater 2
      global HeaterStandby2 = 0                                              ; stores the standby temperature of heater 2
      global HeaterActive3 = 0                                               ; stores the active temperature of tool 2
      global HeaterStandby3 = 0                                              ; stores the standby temperature of tool 2
      global HeatStatusTr1 = -1                                              ; stores the status of heater 1
      global HeatStatusTr2 = -1                                              ; stores the status of heater 2
      global HeatStatusTr3 = -1                                              ; stores the status of tool2
      global HeaterActiveTr1 = 0                                             ; stores the active temperature of heater 1
      global HeaterStandbyTr1 = 0                                            ; stores the standby temperature of heater 1
      global HeaterActiveTr2 = 0                                             ; stores the active temperature of heater 2
      global HeaterStandbyTr2 = 0                                            ; stores the standby temperature of heater 2
      global HeaterActiveTr3 = 0                                             ; stores the active temperature of tool 2
      global HeaterStandbyTr3 = 0                                            ; stores the standby temperature of tool 2
      global ToolToActOn = -1                                                ; stores tool for load / unload / change / filament
      global zlifted = 0                                                     ; stores status of the z axis
      global success = 0                                                     ; stores status of load / unload / change
      global purge = 0                                                       ; stores status to purge when autoloading
      global AskToChange = 1                                                 ; ask if filament should be changed?
      global zLiftDistance = 0                                               ; stores distance for lifting z axis
      global waitForExtruderTemperature0 = false                             ; beeps when pre-heat temperature is reached
      global waitForExtruderTemperature1 = false                             ; beeps when pre-heat temperature is reached
      global waitForExtruderTemperature2 = false                             ; beeps when pre-heat temperature is reached
      global waitForBedTemperature = false                                   ; beeps when pre-heat temperature is reached
      global x_accel = 0                                                     ; stores x accelerations (mm/s^2)
      global x_jerk = 0                                                      ; stores x maximum instantaneous speed changes (mm/min)
      global y_accel = 0                                                     ; stores y accelerations (mm/s^2)
      global y_jerk = 0                                                      ; maximum y instantaneous speed changes (mm/min)
      global filamentErrorIgnore0 = 0                                        ; enable / disable execution of filament-error.g
      global filamentTriggerIgnore0 = 0                                      ; enable / disable execution of trigger2.g
      global filamentErrorIgnore1 = 0                                        ; enable / disable execution of filament-error.g
      global filamentTriggerIgnore1 = 0                                      ; enable / disable execution of trigger2.g
      global SkipCalibration=0                                               ; enable / disable claibration at the beginning of a print
      global pausex=0
      global pausey=0
      global pauseu=0
      global pausez=0
      ;
      ; general settings
      ;
      M111 S0                                                                ; debugging off
      G21                                                                    ; work in millimetres
      ;
      ; =========================================================================================================
      ; network settings
      ; =========================================================================================================
      ;
      M550 P"AM-Xfuse2"                                         ; set printer name
      ;
      M552 S1                                                                ; enable network
      M586 P0 S1                                                             ; enable HTTP
      M586 P1 S1                                                             ; enable FTP
      M586 P2 S0                                                             ; disable Telnet
      M575 P1 S1 B57600                                                      ; enable support for PanelDue
      ;
      ; =========================================================================================================
      ; drives
      ; =========================================================================================================
      ;
      M569 P0.1 S1 D3 V1000                                                  ; physical drive 0.0 goes backwards - x-axis
      M569 P0.2 S0 D3 V1000                                                  ; physical drive 0.0 goes forwards  - u-axis
      M569 P0.3 S0 D3 V1000                                                  ; physical drive 0.1 goes backwards - y-axis
      M569 P0.0 S0 D3 V10                                                    ; physical drive 0.2 goes backwards - z-left
      M569 P0.4 S0 D3 V10                                                    ; physical drive 0.3 goes backwards - z-right
      M569 P20.0 S0 D3 V1000                                                 ; physical drive 0.3 goes forwards  - extruder
      M569 P21.0 S0 D3 V1000                                                 ; physical drive 0.4 goes forwards  - extruder
      ;
      ; motor Configuration
      ;
      M584 U0.1 X0.2 Y0.3 Z0.0:0.4 E20.0:21.0                                ; set drive mapping
      M671 X-125.1:369.9 Y0:0 S1.00                                          ; leadscrews at left (connected to z) and right (connected to E1) of X axis
      ;
      ; set Microsteps and steps / mm
      ;
      M350 X16 U16 Y16 Z16 E16 I1                                            ; configure microstepping with interpolation
      ;M92 X200.00 U200.00 Y200.00 Z800.00 E704.00                           ; set steps per mm
      ;M92 X200.00 U200.00 Y200.00 Z800.00 E706.00:706.00                     ; set steps per mm
      M92 X200.00 U200.00 Y200.00 Z800.00 E567.00:567.00                     ; set steps per mm
      ;
      ; set motor currents
      ;
      ;M906 X1400 U1400 Y1400 Z1200 E650 I40                                 ; set motor currents (mA) and motor idle factor in percent
      M906 X1250 U1250 Y1400 Z1300 E650 I100                                ; set motor currents (mA) and motor idle factor in percent
      
      ;
      M84 S60                                                                ; set idle timeout
      ;
      ; set speeds
      ;
      M201 X3000 U3000 Y3000 Z500 E500                                       ; set accelerations (mm/s^2)
      M203 X12000 U12000 Y12000 Z1000 E3600                                  ; set maximum speeds (mm/min)
      M204 P2000 T2000                                                       ; set print and travel accelerations (mm(s^2)
      M566 X600 U600 Y600 Z48 E300                                           ; set maximum instantaneous speed changes (mm/min)
      ;
      set global.x_accel = move.axes[0].acceleration                         ; save accelerations (mm/s^2)
      set global.x_jerk = move.axes[0].jerk                                  ; save maximum instantaneous speed changes (mm/min)
      ;
      set global.y_accel = move.axes[1].acceleration                         ; save accelerations (mm/s^2)
      set global.y_jerk = move.axes[1].jerk                                  ; save maximum instantaneous speed changes (mm/min)
      ;
      M564 H0                                                                ; allow unhomed movement
      ;
      ; =========================================================================================================
      ; axis limits
      ; =========================================================================================================
      ;
      M208 X-72.8 U-37 Y-24.0 Z0 S1                                           ; set axis minima
      M208 X251.0 U286.8 Y210.0 Z217.50 S0                                    ; set axis maxima
      ;
      ; =========================================================================================================
      ; endstops
      ; =========================================================================================================
      ;
      M574 X1 S1 P"io2.in"                                                   ; configure active high endstop switch for low end on x
      M574 U2 S1 P"io3.in"                                                   ; configure active high endstop switch for low end on u
      M574 Y1 S3                                                             ; configure sensorless endstop for low end on y
      ;
      ; =========================================================================================================
      ;
      ; SuperPINDA 
      ;
      M558 P8 C"^20.io2.in" H1.5 F600 T8000 A3 S0.03                         ; set z probe to SuperPINDA
      M557 X30:240 Y0:200 S30:40                                              ; define mesh grid
      ;
      ; =========================================================================================================
      ;
      ; stallguard sensitivy
      ;
      M915 X S2 F0 H400 R0                                                   ; set x axis sensitivity
      M915 Y S1 F0 H200 R0                                                   ; set y axis sensitivity
      M915 Z S1 F0 H200 R0                                                   ; set z axis sensitivity
      M915 U S2 F0 H400 R0                                                   ; set x axis sensitivity
      ;
      ; =========================================================================================================
      ; heaters & fans
      ; =========================================================================================================
      ;
      ; heated bed
      ; =========================================================================================================
      ;
      M308 S0 P"temp0" Y"thermistor" T100000 B4138 A"Bed"                    ; configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" Q50 T0                                                 ; create bed heater output on bedheat and map it to sensor 0
      M143 H0 S110                                                           ; set temperature limit for heater 0 to 110°C
      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
      ;
      ; extruder
      ; =========================================================================================================
      ;
      ; Hotend 1 (Mosquito or Mosquito Magnum with E3d Thermistor) 
      ;
      M308 S1 P"20.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 A"Nozzle E0" ; E3d configure sensor 1 as thermistor on pin temp1
      ;
      M950 H1 C"20.out0" T1                                                  ; create nozzle heater output on out1 and map it to sensor 1
      M307 H1 B0 S1.00                                                       ; disable bang-bang mode for heater 1 and set PWM limit
      M143 H1 S280                                                           ; set temperature limit for heater 1 to 280°C
      ;
      ; Hotend 2 (Mosquito or Mosquito Magnum with E3d Thermistor) 
      ;
      M308 S2 P"21.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 A"Nozzle E1" ; E3d configure sensor 2 as thermistor on pin temp2
      ;
      M950 H2 C"21.out0" T2                                                  ; create nozzle heater output on out2 and map it to sensor 2
      M307 H2 B0 S1.00                                                       ; disable bang-bang mode for heater 2 and set PWM limit
      M143 H2 S280                                                           ; set temperature limit for heater 2 to 280°C
      ;
      ; =========================================================================================================
      ;
      M308 S4 P"mcu-temp" Y"mcu-temp" A"MCU"                                 ; set virtual heater for MCU
      M308 S5 P"drivers" Y"drivers" A"Driver"                                ; set virtual heater for stepper drivers
      ;
      ; =========================================================================================================
      ; fans
      ; =========================================================================================================
      ;
      ;
      ; cooling fans
      ;
      M950 F0 C"20.out1" Q500                                                ; create fan 0 on pin fan1 and set its frequency
      ;
      M950 F1 C"21.out1" Q500                                                ; create fan 1 on pin fan1 and set its frequency
      ;
      ; extruder fans (temperature controlled)
      ;
      M950 F2 C"20.out2" Q500                                                ; create fan 2 on pin out5 and set its frequency
      M106 P2 H1 T50                                                         ; set fan 2 value. Thermostatic control is turned on
      ;
      M950 F3 C"21.out2" Q500                                                ; create fan 3 on pin out6 and set its frequency
      M106 P3 H2 T50                                                         ; set fan 3 value. Thermostatic control is turned on
      ;
      ; ========================================================================================================
      ; tools
      ; =========================================================================================================
      ;
      M563 P0 D0 H1                                                          ; define tool 0
      G10 P0 X0 Y0 Z0                                                        ; set tool 0 axes offsets
      M568 P0 S0 R0 A0                                                       ; turn off tool 0, set active and standby temperature to 0°C
      ;
      M563 P1 D1 H2 X3                                                       ; define tool 1 (maps x to u)
      G10 P1 X0 Y0 Z0                                                        ; set tool 1 axes offsets
      M568 P1 S0 R0 A0                                                       ; turn off tool 1, set active and standby temperature to 0°C
      ;
      M563 P2 D0:1 H1:2 X0:3 F0:1 S"Tool 2 (copy mode)"                      ; define tool 2 (copies x to u)
      G10 P2 X0 Y0 U-110 S0 R0                                               ; set tool 2 axes offsets
      M568 P2 S0 R0 A0                                                       ; turn off tool 2, set active and standby temperature to 0°C
      M567 P2 E1:1                                                           ; set mixing
      ;
      M302 S80 R80                                                           ; allow extrusions starting from 80°C and retractions from 80°C
      ;
      
      ; =========================================================================================================
      ; filament handling
      ; =========================================================================================================
      ;
      ; execute macro that determines the status of the filament sensor
      ;
      ;M591 D0 P3 C"20.io0.in" S1 R70:150 L78.5 
      ;M591 D1 P3 C"21.io0.in" S1 R70:150 L78.5
      ;
      ; calculated values is L77.75
      ;
      ;M98 P"0:/sys/00-Functions/FilamentsensorStatus"
      ;
      ; =========================================================================================================
      ; other settings
      ; =========================================================================================================
      ;
      M18 XUY                                                                ; release / unlock x, y
      M501                                                                   ; load config-override (for thermistor parameters and other settings)
      G90                                                                    ; absolute positioning
      M83                                                                    ; relative extruder moves
      ;
      ; =========================================================================================================
      ;
      ; offsets - place off-sets for x and y here. z-offsets are handled in the print sheet macros
      ;
      G31 P1000 X0 Y5
      G10 P0 X0                                                              ; set offset for tool 0
      ;G10 P1 X0 Y0.08 U34.22 Z0                                              ; set offset for tool 1 
      g10 p1 x0 u34.66 -y0.02 z0
      ;g10 p1 x0 u34.90 y0.12 z0
      ; =========================================================================================================
      ;
      T-1 P0                                                                 ; deselect tools
      ;
      ; =========================================================================================================
      ;
      
      posted in Beta Firmware
      wschadowundefined
      wschadow
    • RE: Not all M291 messages displayed on PanelDue 3.5.1

      @chrishamm This error shows up more frequently with 3.60-b2

      posted in Duet Web Control
      wschadowundefined
      wschadow
    • 3.6.0-b2: z-Position wrong after pause

      I noticed a strange thing. After a pause the extruders are not returning to the correct z-height. With T0 there seems to be a deviation of 0-0.2mm. With T1 the extruder is moving down after a each pause. Sometimes it then gets back to a gigher position.

      Here is the logged user position when pausing and resuming

      Time 2024-11-19T18:11:14 Job 0:/gcodes/CFFFP_TestPrint-both.gcode
      
      Pause: x= 122.426 y= 97.718 u= 286.800 z= 0.200
      Resume: x= 122.426 y= 97.718 u= 286.800 z= 0.200
      Pause: x= 126.492 y= 118.153 u= 286.800 z= 0.560
      Resume: x= 126.492 y= 118.153 u= 286.800 z= 0.560
      Pause: x= 122.804 y= 98.097 u= 122.804 z= 1.160
      Resume: x= 122.804 y= 98.097 u= 122.804 z= 1.160
      Pause: x= 123.204 y= 117.709 u= 123.204 z= 1.160
      Resume: x= 123.204 y= 117.709 u= 123.204 z= 1.160
      Pause: x= 135.949 y= 117.709 u= 135.949 z= 1.160
      Resume: x= 135.949 y= 117.709 u= 135.949 z= 1.160
      Pause: x= 123.203 y= 99.036 u= 123.203 z= 0.882
      Resume: x= 123.203 y= 99.036 u= 123.203 z= 0.882
      Pause: x= 126.975 y= 98.497 u= 126.975 z= 0.586
      Resume: x= 126.975 y= 98.497 u= 126.975 z= 0.586
      Pause: x= 131.101 y= 98.496 u= 131.101 z= 1.280
      
      

      During a print move.axes[2].machinePosition (which is z in my case) is permanently jumping, whereas the move.axes[2].userPosition stays constant during a print. Unlike in 3.4.6 the user[2]Position is not equal to the machine[2]Position. For the other axis both values are the same, ignoring round-offs.

      For the purpose of this post I changed my pause.g to

      set global.pausex=move.axes[0].userPosition
      set global.pausey=move.axes[1].userPosition
      set global.pausez=move.axes[2].userPosition
      set global.pauseu=move.axes[3].userPosition
      
      echo >>"0:/sys/0-printlog" "Pause: x= " ^{global.pausex}^ " y= "  ^{global.pausey}^ " u= " ^{global.pauseu}^ " z= "  ^{global.pausez}
      G1 X200
      M99
      

      So just moves the x-axis out off the way of a test print.
      And resume.g to

      M98 P"00-Functions/CurrentSenseNormal"                                 ; ensure the drivers current and sensitivity is set for normal routines
      M17
      G4 P100
      ;
      ;************************************
      echo >>"0:/sys/0-printlog" "Resume: x= " ^{global.pausex}^ " y= "  ^{global.pausey}^ " u= " ^{global.pauseu}^ " z= "  ^{global.pausez}
      
      G1 R1     
      
      posted in Beta Firmware
      wschadowundefined
      wschadow
    • RE: RRF 3.6.0-beta2: www/DuetAPI.xml not found

      @chrishamm Thanks Christian. Thursday I'll be at formnext, maybe we see each other.

      posted in Firmware installation
      wschadowundefined
      wschadow
    • RE: RRF 3.6.0-beta2: www/DuetAPI.xml not found

      @droftarts indent comments is working

      posted in Firmware installation
      wschadowundefined
      wschadow
    • RE: RRF 3.6.0-beta2: www/DuetAPI.xml not found

      @gloomyandy standalone, see screenshots below

      posted in Firmware installation
      wschadowundefined
      wschadow
    • RE: RRF 3.6.0-beta2: www/DuetAPI.xml not found

      @droftarts fd49a343-7c37-46fe-8044-1afbe7e6ffa8-image.png

      posted in Firmware installation
      wschadowundefined
      wschadow
    • RE: RRF 3.6.0-beta2: www/DuetAPI.xml not found

      @droftarts running in standalone mode

      36d0dcf5-b508-4569-810d-0c2714633949-image.png

      posted in Firmware installation
      wschadowundefined
      wschadow
    • RRF 3.6.0-beta2: www/DuetAPI.xml not found

      Today I updated one printer to RRF 3.6.0-beta2. In the object model browser the documentation cannot be found. I had that with beta 1 as. There exists a DuetAPI.xml.gz. Unpacking this file helped in an earlier version, but not here.

      posted in Firmware installation
      wschadowundefined
      wschadow
    • RE: Random Hard Fault resets on Duet 3 Mini WiFi

      @dc42 Today I tried 3.6.0-beta1-2 on a Dual extruder where the extruders have a can board. So far, this works as well.

      posted in General Discussion
      wschadowundefined
      wschadow