M564 S0 (Disable limit axes/think outside the box) has no effect



  • I have a Duet 2 Ethernet which was running 2.xx but I have now just upgraded to 3.0, on a custom delta with smart effector and a Mosaic Palette 2.

    I want to be able to move the effector outside the limits of the print bed in order to set up an in-place side transition for the Palette 2 - effectively allowing me to purge the transition material generated by the Palette 2 off the side of the printer into a container, rather than needing to print a transition tower between the colour changes.

    To do this I expect that I will need a before- and after- purge script configured in Canvas3D to permit the effector to be moved outside of the print bed dimensions, and that I should simply be able to use M564 S0 and M564 S1 in these scripts respectively.

    However in testing I cannot jog the print head past the edge of the bed even after I have issued the M564 S0 command, even though according to the documentation I should be able to - I can get to the edge of the bed but further jogs are ignored (or just edge towards Xmin / Y0). This happened on both 2.xx and 3.0 firmwares.

    Is there something I've missed to allow movement outside the delta print bed limits? I know that H0 is not permitted on my Delta but maybe S0 is also being blocked in error?



  • @zylantha said in M564 S0 (Disable limit axes/think outside the box) has no effect:

    but maybe S0 is also being blocked in error?

    S0 is depricated anyway so shouldn't be used. (It has conflict with laser mode where S sets power level)

    Did this work in 2.xx or is a new function you're adding after the 3.0 upgrade? Also you may want to post your config file for the wizards to review



  • @bearer said in M564 S0 (Disable limit axes/think outside the box) has no effect:

    @zylantha said in M564 S0 (Disable limit axes/think outside the box) has no effect:

    but maybe S0 is also being blocked in error?

    S0 is depricated anyway so shouldn't be used. (It has conflict with laser mode where S sets power level)

    I was referring to M564 S0, not G1 S0. There were no publisihed notices with respect to M564 that I had seen?

    Did this work in 2.xx or is a new function you're adding after the 3.0 upgrade? Also you may want to post your config file for the wizards to review

    It wasn't working in 2.xx that I was on, so I upgraded to 3.0 and still didn't work - behaviour was identical between the versions.

    Here is my config

    ; Configuration file for Duet Ethernet (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Mar 14 2018 21:48:01 GMT+1100 (AEDT)
    
    ; General preferences
    G90                                       ; Send absolute coordinates...
    M83                                       ; ...but relative extruder moves
    M555 P2                                 ; Set firmware compatibility to look like RepRapFirmare
    
    M665 L360.250:360.250:360.250 R175.628 H292.4 B149.1 X0.000 Y0.000 Z0.000
    M666 X0.131 Y0.241 Z-0.372 A0.00 B0.00
    
    ; Heater model parameters
    M307 H0 A261.7 C621.1 D4.9 S1.00 V0.0 B0
    M307 H1 A636.3 C196.6 D6.3 S1.00 V25.4 B0
    
    ; Network
    M550 PKossel                              ; Set machine name
    M540 PBE:EF:DE:AD:FE:ED                   ; Set MAC address
    M552 P192.168.245.165 S1                  ; Enable network and set IP address
    M553 P255.255.255.128                     ; Set netmask
    M554 P192.168.245.129                     ; Set gateway
    M586 P0 S1                                ; Enable HTTP
    M586 P1 S0                                ; Disable FTP
    M586 P2 S0                                ; Disable Telnet
    
    ; Drives
    M569 P0 S1                                ; Drive 0 goes forwards
    M569 P1 S1                                ; Drive 1 goes forwards
    M569 P2 S1                                ; Drive 2 goes forwards
    M569 P3 S0                                ; Drive 3 goes backwards
    M350 X128 Y128 Z128 E16 I1                ; Configure microstepping with interpolation
    M92 X1600 Y1600 Z1600 E2656               ; Set steps per mm
    M566 X1000 Y1000 Z1000 E40                ; Set maximum instantaneous speed changes (mm/min)
    M203 X16000 Y16000 Z16000 E1800           ; Set maximum speeds (mm/min)
    M201 X800 Y800 Z800 E120                  ; Set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E500 I30              ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30                                   ; Set idle timeout
    
    ; Axis Limits
    M208 X350 Y350 Z350                       ; Set minimum Z
    
    ; Endstops
    M574 X2 Y2 Z2 S1                          ; Set active high endstops
    
    ; Z-Probe
    M558 P5 R0.4 H3 F1000 T6000               ; Set Z probe type to effector and the dive height + speeds
    G31 P100 X0 Y0 Z-0.07                     ; Set Z probe trigger value, offset and trigger height; increase to move closer to bed, decrease to move further away (faketak = -0.05; geckotek = -0.08; pei = 0.03)
    M557 R118 S20                             ; Define mesh grid
    
    ; Bed
    M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 R4700               ; Set thermistor + ADC parameters for heater 0
    M950 H0 C"bed_heat" T0 A"Bed"
    M143 H0 S120                              ; Set temperature limit for heater 0 to 120C
    
    ; Extruder
    M308 S1 P"spi.cs1" Y"rtd-max31865"        ; Configure PT100 for heater 1
    M950 H1 C"e0_heat" T1 A"Extruder"
    M143 H1 S285                              ; Set temperature limit for heater 1 to 280C
    M950 F1 C"fan_1" A"Extruder" 
    M106 P1 S1 H1 T30                         ; Set fan 1 - hotend, on from 30C
    
    ; Firmware retraction
    M207 S1.0 F1800 Z0.0                     ; S - length, F - Speed in mm/min, Z = additional z-hop
    
    ; Fans
    M106 P0 S0 F500 H-1                   ; Set fan 0 - print 
    M106 P2 S1 F500 H1 T180 S100          ; Set fan 2 - stepper drivers, only while printing
    
    ; Tools
    M563 P0 D0 H1                             ; Define tool 0
    G10 P0 X0 Y0 Z0                           ; Set tool 0 axis offsets
    G10 P0 R0 S0                              ; Set initial tool 0 active and standby temperatures to 0C
    
    G29 S1                                    ; Mesh grid load
    
    ; Automatic saving after power loss is not enabled
    ; load overrides
    M501
    

  • Moderator

    It would appear you've identified a bug with M564. This should be fixed in 3.01.



  • @Phaedrux said in M564 S0 (Disable limit axes/think outside the box) has no effect:

    It would appear you've identified a bug with M564. This should be fixed in 3.01.

    Thanks for confirming! This was my suspicion but I couldn't follow how it all fit together in the source code.


Log in to reply