Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    3.5.0b1+ Halting/pausing a fraction of a sec during print.

    Scheduled Pinned Locked Moved
    Beta Firmware
    3
    18
    543
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Exerqtorundefined
      Exerqtor @dc42
      last edited by

      @dc42
      Hmm the leds don't change state during a print though?

      The led macro daemon calls is this one:

      ; /sys/lib/led/sb_leds.g  v3.1
      ; Called by daemon.g
      ; Used for setting the status leds on the Voron StealthBurner toolhead (or for any neopixel-type leds).
      
      ; NOTE THAT THIS IS A WORK IN PROGRESS AND I AM STILL NOT DONE "CONVERTING" IT TO RRF IN THIS VERSION!
      
      ; You will need to configure a neopixel (or other addressable led, such as dotstar).
      ; See "https://docs.duet3d.com/User_manual/Reference/Gcodes#m150-set-led-colours" for configuration details.
      
      ; ====================---------------------------------------------------------
      ; Instructions
      ; ====================
      ; How to use all this stuff:
      
      ;  1.  Navigate to the /sys/lib/led/ folder on your printer and add this file (sb_leds.g) to the directory.
      
      ;        Note: If you haven't got /sys/lib/led/ yet simply make a new folder inside /sys/ with the name
      ;              "lib" open the newly created "lib" folder and creat yet another folder inside it called 
      ;              "led" before you do the step above. Why i choose to use /sys/lib/ is explained in my
      ;              github page: https://github.com/Exerqtor/Voron/tree/main/Firmware/reprapfirmware/sys/lib
      
      ;  2.  Define and setup your LEDs by editing the settings below
      
      ;        Note: RGB and RGBW are different and must be defined explicitly.  RGB and RGBW are also not able to
      ;              be mix-and-matched in the same chain. A separate data line would be needed for proper functioning.
      
      ;              RGBW LEDs will have a visible yellow-ish phosphor section to the chip.  If your LEDs do not have
      ;              this yellow portion, you have RGB LEDs.
      
      ;  3.  Save your the changes you've done to this file.
      
      ;        Note: The RED and BLUE are set to 255 to make it easier for users and supporters to detect
      ;              misconfigurations or miswiring. The default color format is for Neopixels with a dedicated
      ;              white LED. On startup, all three SB LEDs should light up a bright pink color.
      
      ;              If you get random colors across your LEDs, change the "X" parameter bellow according to
      ;              the duet docs and save the changes you've made. Once you've found the correct X parameneter
      ;              all LED's to be a steady bright pink. If your NEOPIXEL's aren't RGBW omit the W for each
      ;              status farther down.
      
      ;              If you get MAGENTA, your  color order is correct. If you get CYAN, you need to use RGBW. If
      ;              you get YELLOW, you need to use BRGW (note that BRG is only supported in the latest Klipper
      ;              version).
      
      ;  4.  Now go to /sys/ and open "daemon.g" and copy "M98 P"/sys/lib/led/sb_leds.g" ; Run Stealthburner Neopixel macro"
      ;      to the end of the file and save it.
      
      ;        Note: To edit "daemon.g" while running on the machine you have to first rename the file, open it, add the
      ;              and save the changes needed, close the file and rename it back to "daemon.g".
      
      ;              The "daemon.g" that's part of my RRF setup can be used If you haven't got "deamon.g" running 
      ;              on your printer already. Mine depends on a loop triggered by the variable global.RunDeamon
      ;              so that you don't have to rename it two times each time you want to stop or edit the file.
      ;              This on the other hand also means you have to add; global RunDeamon = True to the end of  your config.g.
      ;              And then add the macro: "Toggle deamon" , or make your own variant if you want to.
      
      ;              The "daemon.g" attached here is setup to loop once second. If you're unsure what "daemon.g" is 
      ;              read up in here: https://docs.duet3d.com/en/User_manual/Tuning/Macros#daemong
      
      ;  5.  Now if all the LEDs light up a bright pink color you should be done for the next step which is to add "ready"
      ;      status to the end of your config.g so that it goes to "ready" on next reboot: global sb_leds = "ready" .
      
      ;        Note: If you still haven't got all of the LED's to light up pink by now you have to fix that before you add the 
      ;              variable declaration mentioned over!
      
      ;        Note: If you use the init.g AND globals.g from my RRF setup the variable is already defined there, so you don't 
      ;              need to put it in your config.g
      
      ;  6.  Once you have confirmed that the LEDs are set up correctly, you must now decide where you want these
      ;      macros called up...which means adding them to your existing gcode macros.  NOTHING will happen unless
      ;      you add: set global.sb_leds = "?????" to your existing gcode macros
      
      ;        Example: Add: set global.sb_leds = "leveling" to the beginning of your QGL gcode macro, and then
      ;                 add: set global.sb_leds = "ready" to the end of it to set the logo LED and nozzle LEDs back to the `ready` state.
      
      ;        Example: add: set global.sb_leds = "cleaning" to the beginning of your nozzle-cleaning macro, and then; set global.sb_leds = "ready"
      ;                 to the end of it to return the LEDs back to `ready` state.
      
      ;        Note: If you use my RRF config these status changes have been added already, you can of course add more if you feel like it.
      
      ;  7.  Feel free to change colors of each macro, create new ones if you have a need to.  The macros provided below
      ;      are just an example of what is possible.
      
      ;  8  To wrap it all up you can add the Toggle Nozzle Lights macro if you want to be able to toggle on/off the nozzle lights independant
      ;     of what the status set them them to be.
      ; ====================
      ; End of Instructions
      ; ====================---------------------------------------------------------
      
      
      ; ====================---------------------------------------------------------
      ; Neopixel configuration
      ; ====================
      ; Define your LED type
      if !exists(global.sb_leds)
        M150 X3                            ; set LED type to RGBW NeoPixel
      
      ;--------------------------------------------------------------------------------------------------------------------------------------
      ; This section is required.  Do Not Delete or mess with it.
      ;--------------------------------------------------------------------------------------------------------------------------------------
      ; ====================---------------------------------------------------------
      ; Placeholders
      ; ====================
      if global.sb_leds = "boot"
        M150 X3                            ; set LED type to RGBW NeoPixel
      
      if !exists(global.sb_leds)
        global sb_leds        = "pink"
      
      if !exists(global.sb_logo)
        global sb_logo        = "n/a"
      
      if !exists(global.sb_nozzle)
        global sb_nozzle      = "n/a"
      
      var l_r                 = 0
      var l_u                 = 0
      var l_b                 = 0
      var l_w                 = 0
      
      var n_r                 = 0
      var n_u                 = 0
      var n_b                 = 0
      var n_w                 = 0
      
      ;--------------------------------------------------------------------------------------------------------------------------------------
      ; This section can be played with "as you please"
      ;--------------------------------------------------------------------------------------------------------------------------------------
      ; ====================---------------------------------------------------------
      ; Avalible tatuses to use in macros etc.
      ; ====================
      
      ; The following statuses are available (these go inside of your macros):
      
      ; Statuses (sb_leds)
      ;    pink                                                                      ; This one is only for initial setup
      ;    off
      ;    ready
      ;    busy
      ;    heating
      ;    leveling
      ;    homing
      ;    cleaning
      ;    meshing
      ;    calibrating_z
      ;    printing
      ;    hot
      ;    cold
      
      ;Additional macros for basic control:
      ;   Note: These will "reset" at the next "full" status change!
      
      ;   l-off              ; Turns off the logo LED, but keeps the current status of the nozzle LEDs.
      ;   n-on               ; Turns off the nozzle LEDs, but keeps the current status of the logo LED.
      ;   n-off              ; Turns on the nozzle LEDs, but keeps the current status of the logo LED.
      
      ; User settings for the StealthBurner status leds. You can change the status colors and led
      ; configurations for the logo and nozzle here.
      ;variable_colors: 
      
      ; ====================---------------------------------------------------------
      ; Status dependant configuration
      ; ====================
      
      if global.sb_leds = "pink"
        set global.sb_logo    = "pink"
        set global.sb_nozzle  = "pink"
      
      if global.sb_leds = "off"
        set global.sb_logo    = "off"
        set global.sb_nozzle  = "off"
      
      if global.sb_leds = "ready"
        set global.sb_logo    = "standby"
        set global.sb_nozzle  = "standby"
      
      if global.sb_leds = "busy"
        set global.sb_logo    = "busy"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "heating"
        set global.sb_logo    = "heating"
        set global.sb_nozzle  = "heating"
      
      if global.sb_leds = "leveling"
        set global.sb_logo    = "leveling"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "homing"
        set global.sb_logo    = "homing"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "cleaning"
        set global.sb_logo    = "cleaning"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "meshing"
        set global.sb_logo    = "meshing"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "calibrating_z"
        set global.sb_logo    = "calibrating_z"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "printing"
        set global.sb_logo    = "printing"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "hot"
        set global.sb_logo    = "hot"
        set global.sb_nozzle  = "hot"
      
      if global.sb_leds = "cold"
        set global.sb_logo    = "cold"
        set global.sb_nozzle  = "cold"
      
      if global.sb_leds = "l-off"
        set global.sb_logo    = "off" 
      
      if global.sb_leds = "n-on"
        set global.sb_nozzle  = "on"
      
      if global.sb_leds = "n-off"
        set global.sb_nozzle  = "off"
      
      ; ====================---------------------------------------------------------
      ; Color control
      ; ====================
      
      ; User settings for the StealthBurner status leds. You can change the status colors
      ; for the logo and nozzle here.
      
      ; The initial color of all the Neopixels is set to be a bright pink for troubleshooting purposes.
      ; Otherwise the colors can be changed by adusting the "R,U,B & W" values 
      ; Each value should be between 0 and 255. R=red, U=Green, B=Blue, W=white
      ;    Note: The WHITE option is only available on RGBW LEDs.
      
      ; R=Red
      ; U=Green
      ; B=Blue
      ; W=White
      ; P=Brightness
      
      ; Colors for the logo LEDs
      if global.sb_logo = "pink"                                                     ; R255 U0 B255 W0 / Pink with full brightness
        set var.l_r           = 255                                                  ; Red
        set var.l_u           = 0                                                    ; Green
        set var.l_b           = 255                                                  ; Blue
        set var.l_w           = 0                                                    ; White
      
      if global.sb_logo = "off"                                                      ; R0 U0 B0 W0 / Off
        set var.l_r           = 0
        set var.l_u           = 0
        set var.l_b           = 0
        set var.l_w           = 0
      
      if global.sb_logo = "standby"                                                  ; R3 U3 B3 W3 / Dim gray
        set var.l_r           = 3
        set var.l_u           = 3
        set var.l_b           = 3
        set var.l_w           = 3
      
      if global.sb_logo = "busy"                                                     ; R102 U0 B0 W0 / Light red
        set var.l_r           = 102
        set var.l_u           = 0
        set var.l_b           = 0
        set var.l_w           = 0
      
      if global.sb_logo = "cleaning"                                                 ; R0 U51 B128 W0 / Light blue
        set var.l_r           = 0
        set var.l_u           = 51
        set var.l_b           = 128
        set var.l_w           = 0
      
      if global.sb_logo = "calibrating_z"                                            ; R204 U0 B89 W0 / Strong pink
        set var.l_r           = 204
        set var.l_u           = 0
        set var.l_b           = 89
        set var.l_w           = 0
      
      if global.sb_logo = "heating"                                                  ; R77 U46 B0 W0 / Yellow
        set var.l_r           = 77
        set var.l_u           = 46
        set var.l_b           = 0
        set var.l_w           = 0
      
      if global.sb_logo = "homing"                                                   ; R0 U153 B51 W0 / Teal
        set var.l_r           = 0
        set var.l_u           = 153
        set var.l_b           = 51
        set var.l_w           = 0
      
      if global.sb_logo = "leveling"                                                 ; R128 U26 B102 W0 / Light Pink
        set var.l_r           = 128
        set var.l_u           = 26
        set var.l_b           = 102
        set var.l_w           = 0
      
      if global.sb_logo = "meshing"                                                  ; R51 U255 B0 W0 / Green
        set var.l_r           = 51
        set var.l_u           = 255
        set var.l_b           = 0
        set var.l_w           = 0
      
      if global.sb_logo = "printing"                                                 ; R255 U0 B0 W0 / Red
        set var.l_r           = 255
        set var.l_u           = 0
        set var.l_b           = 0
        set var.l_w           = 0
      
      if global.sb_logo = "hot"                                                      ; R255 U0 B0 W0 / Bright Red
        set var.l_r           = 255
        set var.l_u           = 0
        set var.l_b           = 0
        set var.l_w           = 0
      
      if global.sb_logo = "cold"                                                     ; R77 U0 B77 W0 / Light Pink
        set var.l_r           = 0
        set var.l_u           = 0
        set var.l_b           = 255
        set var.l_w           = 77
      
      ; Colors for the nozzle LEDs
      if global.sb_nozzle = "pink"                                                   ; R255 U0 B255 W0 / Pink with full brightness
        set var.n_r           = 255
        set var.n_u           = 0
        set var.n_b           = 255
        set var.n_w           = 0
      
      if global.sb_nozzle = "off"                                                    ; R0 U0 B0 W0 / Off
        set var.n_r           = 0
        set var.n_u           = 0
        set var.n_b           = 0
        set var.n_w           = 0
      
      if global.sb_nozzle = "on"                                                     ; R204 U204 B204 W255 / White
        set var.n_r           = 204
        set var.n_u           = 204
        set var.n_b           = 204
        set var.n_w           = 255
      
      if global.sb_nozzle = "standby"                                                ; R153 U0 B0 W0 / Red
        set var.n_r           = 153
        set var.n_u           = 0
        set var.n_b           = 0
        set var.n_w           = 0
      
      if global.sb_nozzle = "heating"                                                ; R204 U89 B0 W0 / Yellow
        set var.n_r           = 204
        set var.n_u           = 89
        set var.n_b           = 0
        set var.n_w           = 0
      
      if global.sb_nozzle = "hot"                                                    ; R255 U0 B0 W0 / Bright Red
        set var.n_r           = 255
        set var.n_u           = 0
        set var.n_b           = 0
        set var.n_w           = 0
      
      if global.sb_nozzle = "cold"                                                   ; R77 U0 B77 W0 / Light Pink
        set var.n_r           = 0
        set var.n_u           = 0
        set var.n_b           = 255
        set var.n_w           = 77
      
      ;--------------------------------------------------------------------------------------------------------------------------------------
      ; This section is required.  Do Not Delete or mess with it.
      ;--------------------------------------------------------------------------------------------------------------------------------------
      ; ====================---------------------------------------------------------
      ; Activate leds according to selected status / mode
      ; ====================
      ; Logo LED
      M150 R{var.l_r} U{var.l_u} B{var.l_b} W{var.l_w} S1 F1
      
      ; Nozzle LEDs
      M150 R{var.n_r} U{var.n_u} B{var.n_b} W{var.n_w} S2
      
      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @Exerqtor
        last edited by

        @Exerqtor it looks to me that the M150 commands at the end of that macro are executed regardless of whether the colours have changed or not. That would be OK when using the dedicated LED port on Duet 3 boards.

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        Exerqtorundefined 1 Reply Last reply Reply Quote 0
        • Exerqtorundefined
          Exerqtor @dc42
          last edited by

          @dc42
          Yeah that's true, they are run every loop regardless.
          It is using the neopixel header though, so i guess that shouldn't matter?

          dc42undefined 1 Reply Last reply Reply Quote 0
          • Diamondbackundefined
            Diamondback
            last edited by Diamondback

            I have similiar hickups happening from time to time on 3.5b1+.

            My daemon.g:

            if state.status == "idle" && global.deactivateToolAfterFilamentChange == true
            	echo "Unloading tool after filament change"
            	T-1
            
            set global.deactivateToolAfterFilamentChange = false
            
            if state.status == "processing" && state.gpOut[1].pwm > 0 && job.layer == 3
            	M98 P"/macros/Misc/Lights/Off" 
            

            Seems like it's somewhat at the end of a segmet every time 10s has passed or so? (as in, it's always > 10s for me, but it doesn't just stop exactly after 10s, only once it reaches the end of a move or so)

            1 Reply Last reply Reply Quote 1
            • Diamondbackundefined
              Diamondback
              last edited by

              Here's a little video of what it looks like. First hickup around 0:04s at the far end, second one around 0:17 again at the far end.

              Video

              Exerqtorundefined 1 Reply Last reply Reply Quote 0
              • Exerqtorundefined
                Exerqtor @Diamondback
                last edited by

                @Diamondback That's the same behaviour i'm having. I first thought it was something PA related. So i restarted the print with PA disabled and it's doing the exact same thing.

                1 Reply Last reply Reply Quote 1
                • dc42undefined
                  dc42 administrators @Exerqtor
                  last edited by

                  @Exerqtor yes it shouldn't matter if it's using the Neopixel header. But then it shouldn't be locking movement, but your M122 report shows that it is.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  Exerqtorundefined 1 Reply Last reply Reply Quote 0
                  • Exerqtorundefined
                    Exerqtor @dc42
                    last edited by Exerqtor

                    @dc42
                    Strange, ain't it? I'm 100% sure it's hooked up to the Neopixel-DO pin at least.

                    I'm anyways looking into the led script now so it only sends M150 commands if it's a change from it's current state.

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @Exerqtor
                      last edited by

                      @Exerqtor I will attempt to reproduce this. Please post your config.g file.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      Exerqtorundefined 2 Replies Last reply Reply Quote 0
                      • Exerqtorundefined
                        Exerqtor @dc42
                        last edited by Exerqtor

                        @dc42
                        Cool! I've redone how the led macro is executed now so it shouldn't M150 spam anymore.
                        Here's the config.g:

                        ; Configuration file for Duet 3 Mini 5+ with Duet 3 Expansion Mini 2+ and 1LC (firmware version 3.5.0b1+)
                        ; executed by the firmware on start-up
                        
                        ; For E3D Revo Micro, Bondtech LGX Lite & Voron TAP  --------------------------
                        
                        ; ====================---------------------------------------------------------
                        ; Basic setup
                        ; ====================
                        
                        ; General preferences
                        M575 P1 S1 B57600                                                              ; Enable support for PanelDue
                        
                        ; Debugging
                        M111 S0                                                                        ; Debugging off (S0) or on (S1)
                        
                        G21                                                                            ; Work in millimetres
                        G90                                                                            ; Send absolute coordinates...
                        M83                                                                            ; Set extruder to relative mode
                        M550 P"Voron Trident"                                                          ; Set printer name
                        G4 S2                                                                          ; Wait a moment for the CAN expansion boards to start
                        
                        ; Kinematics
                        M669 K1	X-1:-1:0 Y1:-1:0 Z0:0:1                                                ; Select CoreXY mode and set kinematics matrix
                        
                        ; Network
                        M552 S1                                                                        ; Enable network
                        G4 S1                                                                          ; Wait a second
                        M586 P0 S1                                                                     ; Enable HTTP (for DWC)
                        M586 P1 S1                                                                     ; Enable FTP (for remote backups)
                        M586 P2 S0                                                                     ; Disable Telnet
                        
                        ; ====================---------------------------------------------------------
                        ; Driver config
                        ; ====================
                        
                        ;          --- Drive map ---
                        ; (While looking at the printer top down)
                        
                        ;             0.0-----0.1
                        ;              |  0.2  |
                        ;              |-------|
                        ;              |0.3|0.4|
                        ;               ---+---
                        ;                Front
                        
                        ; Drives for XY
                        M569 P0.0 S0                                                                   ; X (B) (physical drive 0.0) goes backwards
                        M569 P0.1 S0                                                                   ; Y (A) (physical drive 0.1) goes backwards
                        
                        ; Drives for Z
                        M569 P0.2 S0                                                                   ; Z1 (physical drive 0.2) goes backwards
                        M569 P0.3 S0                                                                   ; Z2 (physical drive 0.3) goes backwards
                        M569 P0.4 S0                                                                   ; Z3 (physical drive 0.4) goes backwards
                        
                        ; Drive for extruder
                        M569 P121.0 S0                                                                 ; E (physical drive 121.0) goes backwards
                        
                        ; Motor mapping and steps per mm
                        M584 X0.0 Y0.1 Z0.2:0.3:0.4 E121.0                                             ; Set drive mapping
                        M350 X16 Y16 Z16:16 E16 I1                                                     ; Configure microstepping with interpolation
                        M92 X80.00 Y80.00 Z800.00                                                      ; Set XYZ steps per mm (1.8deg motors)
                        M92 E568.83                                                                    ; Set Extruder steps per mm (Bondtech LGX Lite 562 stock)
                        
                        ; Drive currents
                        M906 X1750 Y1750 I40                                                           ; Set XY motor currents (mA) and ide current percentage
                        M906 Z850 I40                                                                  ; Set Z motor currents (mA) and ide current percentage
                        M906 E550 I40                                                                  ; Set E motor currents (mA) and ide current percentage
                        M84 X Y Z E0 S30                                                               ; Set idle timeout
                        
                        ; Axis accelerations and speeds
                        M566 X700.00 Y700.00 Z30.00 P1                                                 ; Set maximum instantaneous speed changes (mm/min) and jerk policy
                        M203 X18000.00 Y18000.00 Z900.00                                               ; Set maximum speeds (mm/min)
                        M201 X3500.00 Y3500.00 Z150.00                                                 ; Set accelerations (mm/s²)
                        
                        ; Extruder accelerations and speeds
                        M566 E8000.00 P1                                                               ; Set maximum instantaneous speed changes (mm/min) and jerk policy
                        M203 E15000.00                                                                 ; Set maximum speeds (mm/min)
                        M201 E1800.0                                                                   ; Set accelerations (mm/s²)
                        
                        ; Reduced accelerations
                        M201.1 X500 Y500 Z80 E500                                                      ; Set reduced acceleration for special move types (mm/s²)
                        
                        ; Printing and travel accelerations
                        M204 P1500 T3000                                                               ; Set printing acceleration and travel accelerations (mm/s²)
                        
                        ; ====================---------------------------------------------------------
                        ; Movement
                        ; ====================
                        
                        ; Axis Limits
                        M208 X-1 Y-6 Z0 S1                                                             ; Set axis minimal
                        M208 X352 Y354 Z300 S0                                                         ; Set axis maximal
                        
                        ; Endstops
                        M574 Z0 P"nil"                                                                 ; No endstop
                        
                        ; Z-probe (Voron TAP)
                        M558 K0 P8 C"^121.io2.in" H2 R0.2 F300:180 T18000 A3 S0.05                     ; Set Z probe type to switch and the dive height + speeds
                        G31 K0 P500 X0 Y0 Z-0.780                                                      ; Set Z probe trigger value, offset and trigger height (higher Z value = nozzle closer to bed)
                        
                        ; Bed leveling
                        M671 X175:388:-38 Y416.6:1.5:1.5 S10                                           ; Leadscrew locations (Rear, Right, Left)
                        M557 X25:315 Y25:325 P10                                                       ; Define default mesh grid ( positions include the Z offset!)
                        
                        ; Accelerometer
                        M955 P121.0 I05                                                                ; Configure accelerometer
                        M593 P"zvd" F49                                                                ; Use ZVD input shaping to cancel ringing at 49Hz
                        
                        ; ====================---------------------------------------------------------
                        ;  Heaters
                        ; ====================
                        
                        ; Bed heater
                        M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed"                            ; Configure sensor 0 as thermistor on pin temp0
                        M950 H0 C"out0" T0 Q5                                                          ; Create bed heater output on out0, map it to sensor 0 and set PWM frequency(Hz)
                        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 S110                                                                   ; Set temperature limit for heater 0 to 110°C
                        M143 H0 A2 C0 S110                                                             ; Make sure bed heater stays below 110°C
                        M143 H0 A1 C0 S125                                                             ; Make sure bed heater shuts down at 125°C
                        
                        ; Hodend heater
                        M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 A"Hotend"        ; Configure sensor 1 as thermistor on pin 121.temp0
                        M950 H1 C"121.out0" T1                                                         ; Create nozzle heater output on 121.out0 and map it to sensor 1
                        M307 H1 B0 S1.00                                                               ; Disable bang-bang mode for heater  and set PWM limit
                        M143 H1 S300                                                                   ; Set temperature limit for heater 1 to 300°C
                        
                        ; Chamber heater
                        M308 S4 P"121.temp1" Y"thermistor" T9600 B3950 A"Chamber"                      ; Configure sensor 4 as thermistor on pin e1temp
                        
                        M308 S2 Y"mcu-temp" A"MCU"                                                     ; Configure sensor 2 as MCU temperature
                        M912 P0 S-2.9                                                                  ; MCU temp calibration parameters
                        M308 S3 Y"drivers" A"DRIVERS"                                                  ; Configure sensor 3 as drivers temperature
                        
                        ; ====================---------------------------------------------------------
                        ;  Fans
                        ; ====================
                        
                        ;Part cooling
                        M950 F0 C"121.out1" Q500                                                       ; Create fan 0 on pin 121.out1 and set its frequency
                        M106 P0 S0 H-1 C"Part Cooling"                                                 ; Set fan 0 value. Thermostatic control is turned off
                        
                        ;Hotend fan
                        M950 F1 C"121.out2" Q500                                                       ; Create fan 1 on pin 121.out2 and set its frequency
                        M106 P1 S1 H1 T45 C"Hotend Fan"                                                ; Hotend fan @ 100%, turns on if temperature sensor 1 reaches 45°C
                        
                        ;Electronics fan
                        M950 F2 C"out5" Q500                                                           ; Create fan 2 on pin out3 and set its frequency
                        M106 P2 L0.15 H2:3 T45:50 C"Electronics Fans"                                  ; Electronics fans start @ 30% when temperature sensor 2 reaches 45°C or sensor 3 (drivers report over temp)
                        
                        ;Exhaust fan
                        M950 F3 C"out6" Q500                                                           ; Create fan 3 on pin out4 and set its frequency
                        M106 P3 H-1 Q500 C"Exhaust fan"                                                ; Exhaust fan 3 value. Thermostatic control is turned off
                        
                        ; Tools
                        M563 P0 S"Revo Micro" 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 0°C
                        
                        ; ====================---------------------------------------------------------
                        ;  Other
                        ; ====================
                        
                        ; Filament monitoring
                        
                        ; Miscellaneous
                        M950 P0 C"out2"	                                                               ; Create output Port0 attached to out2 connector for LED lights 
                        M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"                             ; Set voltage thresholds and actions to run on power loss
                        M572 D0 S0.0                                                                   ; Disable Pressure Advance
                        M98 P"/sys/lib/init.g"                                                         ; Iniate external configs
                        M501                                                                           ; Load config-override.g
                        T0                                                                             ; Select tool 0
                        
                        Exerqtorundefined 1 Reply Last reply Reply Quote 0
                        • Exerqtorundefined
                          Exerqtor @Exerqtor
                          last edited by Exerqtor

                          @Exerqtor
                          The above mentioned led macro changes:
                          sb_leds.g:

                          ; /sys/lib/led/sb_leds.g  v4.0
                          ; Called at boot up and by daemon.g (via /sys/lib/led/sb_leds-state)
                          ; Used for setting the leds on the Voron StealthBurner toolhead.
                          
                          ; You will need to configure a neopixel (or other addressable led, such as dotstar).
                          ; See "https://docs.duet3d.com/User_manual/Reference/Gcodes#m150-set-led-colours" for configuration details.
                          
                          ; ====================---------------------------------------------------------
                          ; Neopixel configuration
                          ; ====================
                          ; Define your LED type
                          if !exists(global.sb_leds)
                            M150 X3                            ; set LED type to RGBW NeoPixel
                          
                          ;--------------------------------------------------------------------------------------------------------------------------------------
                          ; This section is required.  Do Not Delete or mess with it.
                          ;--------------------------------------------------------------------------------------------------------------------------------------
                          ; ====================---------------------------------------------------------
                          ; Placeholders
                          ; ====================
                          if global.sb_leds = "boot"
                            M150 X3                            ; set LED type to RGBW NeoPixel
                          
                          if !exists(global.sb_leds)
                            global sb_leds        = "pink"
                          
                          if !exists(global.sb_logo)
                            global sb_logo        = "n/a"
                          
                          if !exists(global.sb_nozzle)
                            global sb_nozzle      = "n/a"
                          
                          var l_r                 = 0
                          var l_u                 = 0
                          var l_b                 = 0
                          var l_w                 = 0
                          
                          var n_r                 = 0
                          var n_u                 = 0
                          var n_b                 = 0
                          var n_w                 = 0
                          
                          ;--------------------------------------------------------------------------------------------------------------------------------------
                          ; This section can be played with "as you please"
                          ;--------------------------------------------------------------------------------------------------------------------------------------
                          ; ====================---------------------------------------------------------
                          ; Avalible statuses to use in macros etc.
                          ; ====================
                          
                          ; The following statuses are available (these go inside of your macros):
                          
                          ; Statuses (sb_leds)
                          ;    pink                                                                      ; This one is only for initial setup
                          ;    off
                          ;    ready
                          ;    busy
                          ;    heating
                          ;    leveling
                          ;    homing
                          ;    cleaning
                          ;    meshing
                          ;    calibrating_z
                          ;    printing
                          ;    hot
                          ;    cold
                          
                          ;Additional macros for basic control:
                          ;   Note: These will "reset" at the next "full" status change!
                          
                          ;   l-off              ; Turns off the logo LED, but keeps the current status of the nozzle LEDs.
                          ;   n-on               ; Turns off the nozzle LEDs, but keeps the current status of the logo LED.
                          ;   n-off              ; Turns on the nozzle LEDs, but keeps the current status of the logo LED.
                          
                          ; User settings for the StealthBurner status leds. You can change the status colors and led
                          ; configurations for the logo and nozzle here.
                          
                          ; ====================---------------------------------------------------------
                          ; Status dependant configuration
                          ; ====================
                          
                          if global.sb_leds = "pink"
                            set global.sb_logo    = "pink"
                            set global.sb_nozzle  = "pink"
                          
                          if global.sb_leds = "off"
                            set global.sb_logo    = "off"
                            set global.sb_nozzle  = "off"
                          
                          if global.sb_leds = "ready"
                            set global.sb_logo    = "standby"
                            set global.sb_nozzle  = "standby"
                          
                          if global.sb_leds = "busy"
                            set global.sb_logo    = "busy"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "heating"
                            set global.sb_logo    = "heating"
                            set global.sb_nozzle  = "heating"
                          
                          if global.sb_leds = "leveling"
                            set global.sb_logo    = "leveling"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "homing"
                            set global.sb_logo    = "homing"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "cleaning"
                            set global.sb_logo    = "cleaning"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "meshing"
                            set global.sb_logo    = "meshing"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "calibrating_z"
                            set global.sb_logo    = "calibrating_z"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "printing"
                            set global.sb_logo    = "printing"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "hot"
                            set global.sb_logo    = "hot"
                            set global.sb_nozzle  = "hot"
                          
                          if global.sb_leds = "cold"
                            set global.sb_logo    = "cold"
                            set global.sb_nozzle  = "cold"
                          
                          if global.sb_leds = "l-off"
                            set global.sb_logo    = "off" 
                          
                          if global.sb_leds = "n-on"
                            set global.sb_nozzle  = "on"
                          
                          if global.sb_leds = "n-off"
                            set global.sb_nozzle  = "off"
                          
                          ; ====================---------------------------------------------------------
                          ; Color control
                          ; ====================
                          
                          ; User settings for the StealthBurner status leds. You can change the status colors
                          ; for the logo and nozzle here.
                          
                          ; The initial color of all the Neopixels is set to be a bright pink for troubleshooting purposes.
                          ; Otherwise the colors can be changed by adusting the "R,U,B & W" values 
                          ; Each value should be between 0 and 255. R=red, U=Green, B=Blue, W=white
                          ;    Note: The WHITE option is only available on RGBW LEDs.
                          
                          ; R=Red
                          ; U=Green
                          ; B=Blue
                          ; W=White
                          ; P=Brightness
                          
                          ; Colors for the logo LEDs
                          if global.sb_logo = "pink"                                                     ; R255 U0 B255 W0 / Pink with full brightness
                            set var.l_r           = 255                                                  ; Red
                            set var.l_u           = 0                                                    ; Green
                            set var.l_b           = 255                                                  ; Blue
                            set var.l_w           = 0                                                    ; White
                          
                          if global.sb_logo = "off"                                                      ; R0 U0 B0 W0 / Off
                            set var.l_r           = 0
                            set var.l_u           = 0
                            set var.l_b           = 0
                            set var.l_w           = 0
                          
                          if global.sb_logo = "standby"                                                  ; R3 U3 B3 W3 / Dim gray
                            set var.l_r           = 3
                            set var.l_u           = 3
                            set var.l_b           = 3
                            set var.l_w           = 3
                          
                          if global.sb_logo = "busy"                                                     ; R102 U0 B0 W0 / Light red
                            set var.l_r           = 102
                            set var.l_u           = 0
                            set var.l_b           = 0
                            set var.l_w           = 0
                          
                          if global.sb_logo = "cleaning"                                                 ; R0 U51 B128 W0 / Light blue
                            set var.l_r           = 0
                            set var.l_u           = 51
                            set var.l_b           = 128
                            set var.l_w           = 0
                          
                          if global.sb_logo = "calibrating_z"                                            ; R204 U0 B89 W0 / Strong pink
                            set var.l_r           = 204
                            set var.l_u           = 0
                            set var.l_b           = 89
                            set var.l_w           = 0
                          
                          if global.sb_logo = "heating"                                                  ; R77 U46 B0 W0 / Yellow
                            set var.l_r           = 77
                            set var.l_u           = 46
                            set var.l_b           = 0
                            set var.l_w           = 0
                          
                          if global.sb_logo = "homing"                                                   ; R0 U153 B51 W0 / Teal
                            set var.l_r           = 0
                            set var.l_u           = 153
                            set var.l_b           = 51
                            set var.l_w           = 0
                          
                          if global.sb_logo = "leveling"                                                 ; R128 U26 B102 W0 / Light Pink
                            set var.l_r           = 128
                            set var.l_u           = 26
                            set var.l_b           = 102
                            set var.l_w           = 0
                          
                          if global.sb_logo = "meshing"                                                  ; R51 U255 B0 W0 / Green
                            set var.l_r           = 51
                            set var.l_u           = 255
                            set var.l_b           = 0
                            set var.l_w           = 0
                          
                          if global.sb_logo = "printing"                                                 ; R255 U0 B0 W0 / Red
                            set var.l_r           = 255
                            set var.l_u           = 0
                            set var.l_b           = 0
                            set var.l_w           = 0
                          
                          if global.sb_logo = "hot"                                                      ; R255 U0 B0 W0 / Bright Red
                            set var.l_r           = 255
                            set var.l_u           = 0
                            set var.l_b           = 0
                            set var.l_w           = 0
                          
                          if global.sb_logo = "cold"                                                     ; R77 U0 B77 W0 / Light Pink
                            set var.l_r           = 0
                            set var.l_u           = 0
                            set var.l_b           = 255
                            set var.l_w           = 77
                          
                          ; Colors for the nozzle LEDs
                          if global.sb_nozzle = "pink"                                                   ; R255 U0 B255 W0 / Pink with full brightness
                            set var.n_r           = 255
                            set var.n_u           = 0
                            set var.n_b           = 255
                            set var.n_w           = 0
                          
                          if global.sb_nozzle = "off"                                                    ; R0 U0 B0 W0 / Off
                            set var.n_r           = 0
                            set var.n_u           = 0
                            set var.n_b           = 0
                            set var.n_w           = 0
                          
                          if global.sb_nozzle = "on"                                                     ; R204 U204 B204 W255 / White
                            set var.n_r           = 204
                            set var.n_u           = 204
                            set var.n_b           = 204
                            set var.n_w           = 255
                          
                          if global.sb_nozzle = "standby"                                                ; R153 U0 B0 W0 / Red
                            set var.n_r           = 153
                            set var.n_u           = 0
                            set var.n_b           = 0
                            set var.n_w           = 0
                          
                          if global.sb_nozzle = "heating"                                                ; R204 U89 B0 W0 / Yellow
                            set var.n_r           = 204
                            set var.n_u           = 89
                            set var.n_b           = 0
                            set var.n_w           = 0
                          
                          if global.sb_nozzle = "hot"                                                    ; R255 U0 B0 W0 / Bright Red
                            set var.n_r           = 255
                            set var.n_u           = 0
                            set var.n_b           = 0
                            set var.n_w           = 0
                          
                          if global.sb_nozzle = "cold"                                                   ; R77 U0 B77 W0 / Light Pink
                            set var.n_r           = 0
                            set var.n_u           = 0
                            set var.n_b           = 255
                            set var.n_w           = 77
                          
                          ;--------------------------------------------------------------------------------------------------------------------------------------
                          ; This section is required.  Do Not Delete or mess with it.
                          ;--------------------------------------------------------------------------------------------------------------------------------------
                          ; ====================---------------------------------------------------------
                          ; Activate leds according to selected status / mode
                          ; ====================
                          
                          ; Logo LED
                          M150 R{var.l_r} U{var.l_u} B{var.l_b} W{var.l_w} S1 F1
                          
                          ; Nozzle LEDs
                          M150 R{var.n_r} U{var.n_u} B{var.n_b} W{var.n_w} S2
                          
                          ; Create or ovewrite sb_leds-state.g with the new status
                          echo >"/sys/lib/led/sb_leds-state.g" "; /sys/lib/led/sb_leds-state.g  v1.0"                     ; create/overwrite file
                          echo >>"/sys/lib/led/sb_leds-state.g" "; Created by sb_leds.g to store the current/active LED colors "    ; save line to sb_leds-state
                          echo >>"/sys/lib/led/sb_leds-state.g" "; Called by daemon.g to check if global.sb_leds status has changed since last run"    ; save line to sb_leds-state
                          echo >>"/sys/lib/led/sb_leds-state.g"
                          echo >>"/sys/lib/led/sb_leds-state.g" "var sb_leds = "^ """"^{global.sb_leds}^""""    ; save line to sb_leds-state
                          echo >>"/sys/lib/led/sb_leds-state.g"
                          echo >>"/sys/lib/led/sb_leds-state.g" "if var.sb_leds = global.sb_leds"
                          echo >>"/sys/lib/led/sb_leds-state.g" "  ; Same status, do nothing"
                          echo >>"/sys/lib/led/sb_leds-state.g" "else"
                          echo >>"/sys/lib/led/sb_leds-state.g" "  ; New status, change colors"
                          echo >>"/sys/lib/led/sb_leds-state.g" "  M98 P""/sys/lib/led/sb_leds.g"""
                          

                          daemon.g:

                          ; /sys/daemon.g  v1.1
                          ; Used to execute regular tasks, the firmware executes it and once the end of file is reached it waits. If the file is not found it waits and then looks for it again.
                          
                          ; Loop, to be able to turn on/off daemon.g
                          while global.RunDaemon
                            ; Stuff goes here         
                          
                            ; Refresh chamber lights status
                            if state.gpOut[0].pwm = 0
                              set global.chamber_leds = "off"
                            elif state.gpOut[0].pwm > 0
                              set global.chamber_leds = state.gpOut[0].pwm * 100
                          
                            ;Refresh stealthburner led status
                            M98 P"/sys/lib/led/sb_leds-state.g"                                          ; Check if global.sb_leds has changed since last run/loop
                            
                            ; -----------------
                            ; Daemon loop delay
                            G4 S1                                                                        ; Delay running again or next command for at least 1 second  
                          

                          sb_leds-state.g: (the file that gets generated at the end of sb_leds.g and ran by daemon.g)

                          ; /sys/lib/led/sb_leds-state.g  v1.0
                          ; Created by sb_leds.g to store the current/active LED colors 
                          ; Called by daemon.g to check if global.sb_leds status has changed since last run
                          
                          var sb_leds = "ready"
                          
                          if var.sb_leds = global.sb_leds
                            ; Same status, do nothing
                          else
                            ; New status, change colors
                            M98 P"/sys/lib/led/sb_leds.g"
                          
                          1 Reply Last reply Reply Quote 0
                          • Exerqtorundefined
                            Exerqtor @dc42
                            last edited by

                            @dc42
                            Ran the print again, with the new led macro. And it's the same issue.
                            Fresh M122 while printing:

                            4.1.2023, 18:10:00	M122
                            === Diagnostics ===
                            RepRapFirmware for Duet 3 Mini 5+ version 3.5beta1+ (2022-12-31 17:11:45) running on Duet 3 Mini5plus WiFi (standalone mode)
                            Board ID: FAP55-Q967A-G65J0-401GL-0S02Z-RF9TL
                            Used output buffers: 17 of 40 (40 max)
                            === RTOS ===
                            Static ram: 102208
                            Dynamic ram: 120088 of which 164 recycled
                            Never used RAM 15844, free system stack 120 words
                            Tasks: NETWORK(notifyWait,14.5%,200) HEAT(notifyWait,0.0%,337) Move(notifyWait,0.3%,257) CanReceiv(notifyWait,0.0%,771) CanSender(notifyWait,0.0%,334) CanClock(delaying,0.0%,349) TMC(notifyWait,1.3%,71) MAIN(running,82.4%,435) IDLE(ready,0.6%,30) AIN(delaying,0.9%,263), total 100.0%
                            Owned mutexes: WiFi(NETWORK)
                            === Platform ===
                            Last reset 00:21:33 ago, cause: power up
                            Last software reset at 2023-01-03 11:01, reason: User, GCodes spinning, available RAM 15628, slot 2
                            Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00489000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                            Error status: 0x04
                            Aux0 errors 0,0,0
                            MCU revision 3, ADC conversions started 1293719, completed 1293719, timed out 0, errs 0
                            Step timer max interval 1478
                            MCU temperature: min 36.7, current 42.7, max 43.0
                            Supply voltage: min 23.3, current 23.6, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
                            Heap OK, handles allocated/used 99/26, heap memory allocated/used/recyclable 2048/1096/720, gc cycles 45
                            Events: 0 queued, 0 completed
                            Driver 0: ok, SG min 0, read errors 0, write errors 0, ifcnt 33, reads 51996, writes 33, timeouts 0, DMA errors 0, CC errors 0
                            Driver 1: ok, SG min 0, read errors 0, write errors 0, ifcnt 33, reads 51996, writes 33, timeouts 0, DMA errors 0, CC errors 0
                            Driver 2: ok, SG min 0, read errors 0, write errors 0, ifcnt 25, reads 52003, writes 25, timeouts 0, DMA errors 0, CC errors 0
                            Driver 3: ok, SG min 0, read errors 0, write errors 0, ifcnt 24, reads 52004, writes 24, timeouts 0, DMA errors 0, CC errors 0
                            Driver 4: ok, SG min 0, read errors 0, write errors 0, ifcnt 24, reads 52005, writes 24, timeouts 0, DMA errors 0, CC errors 0
                            Driver 5: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 52019, writes 10, timeouts 0, DMA errors 0, CC errors 0
                            Driver 6: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 52018, writes 10, timeouts 0, DMA errors 0, CC errors 0
                            Date/time: 2023-01-04 18:09:57
                            Cache data hit count 2001407507
                            Slowest loop: 481.32ms; fastest: 0.07ms
                            === Storage ===
                            Free file entries: 7
                            SD card 0 detected, interface speed: 22.5MBytes/sec
                            SD card longest read time 8.9ms, write time 64.6ms, max retries 0
                            === Move ===
                            DMs created 83, segments created 23, maxWait 889131ms, bed compensation in use: mesh, comp offset 0.000
                            next step interrupt due in 18 ticks, enabled
                            === DDARing 0 ===
                            Scheduled moves 2585, completed 2554, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state 3
                            === DDARing 1 ===
                            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.4
                            Heater 1 is on, I-accum = 0.0
                            === GCodes ===
                            Movement locks held by null, null
                            HTTP is idle in state(s) 0
                            Telnet is idle in state(s) 0
                            File is doing "G1 X129.943 Y210.956 E.06071" 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 doing "G4 S1                                                                        " in state(s) 0 0, running macro
                            Aux2 is idle in state(s) 0
                            Autopause is idle in state(s) 0
                            File2 is idle in state(s) 0, sync state 1
                            Queue2 is idle in state(s) 0
                            Q0 segments left 1, axes/extruders owned 0x0000803
                            Code queue 0 is empty
                            Q1 segments left 0, axes/extruders owned 0x0000000
                            Code queue 1 is empty
                            === CAN ===
                            Messages queued 14146, received 25904, lost 0, boc 0
                            Longest wait 3ms for reply type 6053, peak Tx sync delay 246, free buffers 18 (min 11), ts 6468/6467/0
                            Tx timeouts 0,0,0,0,0,0
                            === Network ===
                            Slowest loop: 483.58ms; fastest: 0.00ms
                            Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                            HTTP sessions: 1 of 8
                            = WiFi =
                            Network state is active
                            WiFi module is connected to access point 
                            Failed messages: pending 0, notready 0, noresp 0
                            WiFi firmware version 2.1beta2
                            WiFi MAC address bc:ff:4d:e6:b1:62
                            WiFi Vcc 3.38, reset reason Power up
                            WiFi flash size 4194304, free heap 36552
                            WiFi IP address 192.168.10.50
                            WiFi signal strength 0dBm, mode 802.11n, reconnections 0, sleep mode modem
                            Clock register 00002001
                            Socket states: 0 0 0 0 0 0 0 0
                            
                            dc42undefined 1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @Exerqtor
                              last edited by

                              @Exerqtor I found the problem. When a macro file finishes, it was waiting for movement to stop before continuing. I've implemented a fix, which will be in the next RRF 3.5 build.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              Exerqtorundefined 1 Reply Last reply Reply Quote 3
                              • Exerqtorundefined
                                Exerqtor @dc42
                                last edited by

                                @dc42
                                Great news!

                                1 Reply Last reply Reply Quote 0
                                • Phaedruxundefined Phaedrux moved this topic from Firmware installation
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA