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

    "Error: No Tool selected" Upon seemingly successlful toolchange

    Scheduled Pinned Locked Moved
    General Discussion
    2
    8
    236
    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.
    • Diamondbackundefined
      Diamondback
      last edited by

      Hello,

      I'm running into an interesting issue with my custom toolchanger.

      Upon commanding toolchanges with T0/T1, it executes everything as expected, unloads the current tool if one is loaded, then loads the new tool etc. DWC indicates that the newly selected tool is active.

      However, after each change, I get an error message: "Error: No tool selected" despite the toolchange seemingly being successful.

      I also get that very same error right after startup (I do not have any T commands in my config.g)

      Startup:

      power up + 00:00:00 [info] G10 P0 X-9 Y39 Z-5                             	
      power up + 00:00:00 [info] G10 P0 R0 S0                                   	
      power up + 00:00:00 [info] G10 P1 X-9 Y39 Z-5                              
      power up + 00:00:00 [info] G10 P1 R0 S0                                   	
      power up + 00:00:00 [warn] Error: No tool selected
      

      Manual commands:

      15.3.2021, 12:45:44	T1     Error: No tool selected
      15.3.2021, 12:45:31	T0     Error: No tool selected
      15.3.2021, 12:45:15	T1     Error: No tool selected
      

      Duet 2 Wifi + Duex5 running 3.2.2

      config.g

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 10 2020 15:03:19 GMT+0200 (Mitteleuropäische Sommerzeit)
      
      ; General preferences
      M929 S3 										;enable debug logging
      M575 P1 S1 B57600 								;Enable PanelDue Port
      G90                                          	; send absolute coordinates...
      M83                                            	; ...but relative extruder moves
      M550 P"V-Core Pro"                             	; set printer name
      
      M667 S1                                        	; select CoreXY mode
      
      ; Network
      M552 S1                                        	; enable network
      
      ; Drives
      M569 P0 S0                                     	; physical drive 0 goes forwards X/Y
      M569 P1 S0                                    	; physical drive 1 goes forwards X/Y
      M569 P2 S0                                    	; physical drive 1 goes forwards Coupler
      M569 P3 S0                                     	; physical drive 2 goes forwards E1
      M569 P4 S0                                     	; physical drive 2 goes forwards E2
      M569 P7 S0                                     	; physical drive 3 goes forwards Z1
      M569 P8 S0                                     	; physical drive 3 goes forwards Z2
      M569 P9 S0                                     	; physical drive 3 goes forwards Z3
      
      M584 X0 Y1 C2 Z7:8:9 E3:4                       ; set drive mapping (motion system)
      M584 E3:4                         			    ; set drive mapping (extruders)
      
      M671 X-43:139:326 Y76:370:76 S20 				; set Z leadscrew positions
      
      M92 X160.00 Y160.00 C200.00 Z800.00            	; set steps per mm
      M350 X16 Y16 C16 Z16 I1 	                  	; configure microstepping with interpolation                                              
      M566 X500 Y500 C2 Z50                         	; set maximum instantaneous speed changes (mm/min) 
      M203 X30000 Y30000 C10000 Z2000 	            ; set maximum speeds (mm/min)
      M201 X3000 Y3000 C500 Z500 	                    ; set accelerations (mm/s^2)
      
      M906 X1800 Y1800 C500 I30        	     	    ; set motor currents (mA) and motor idle factor in per cent
      M906 Z1400 I100           					    ; set motor currents (mA) and motor idle factor in per cent
      M906 E1100:1100 I100            				; set motor currents (mA) and motor idle factor in per cent (Flex3Drive)
      M84 S30                                        	; Set idle timeout    
      ;M204 P1500 T3000 
      ;M593 F40  ; cancel ringing  
      
      ;=================== Flex3Drive ======================
      M92 E8600:8600                                     	; set steps per mm (Flex3Drive G5)
      M350 E8:8 I0			                           	; configure microstepping (Flex3Drive G5)
      M566 E10:10                          				; set maximum instantaneous speed changes (mm/min) (Flex3Drive)
      M203 E4000:4000            				    		; set maximum speeds (mm/min) (Flex3Drive)
      M201 E150:150               				      	; set accelerations (mm/s^2) (Flex3Drive)
      ;====================================================
      
      ;=================== Titan ==========================
      ;M92 E837                                       ; set steps per mm (Titan)
      ;M350 E16 I1			                        ; configure microstepping (Titan)    
      ;M566 E500                          			; set maximum instantaneous speed changes (mm/min) (Titan)    
      ;M203 E3600                					 	; set maximum speeds (mm/min) (Titan) 
      ;M201 E1000                    				 	; set accelerations (mm/s^2) (Titan)  
      ;====================================================                 							
      
      ; Axis Limits
      M208 X0:305 Y0:250 C0:250 Z0:310                ; set axis minima & maxima
      
      ; Endstops
      M574 X2 S1 P"xstop"                           	; configure active-high endstop for high end on X via pin xstop
      M574 Y1 S1 P"ystop"                           	; configure active-high endstop for high end on Y via pin ystop
      M574 Z0                            			    ; No Z-Endstop (use as probe instead)
      M574 C1 S3                            			; Stall detect coupler at low end of its range
      
      ; Z-Probe
      M558 P8 C"zstop" H3 F1000 T15000		   	    ; set Z probe type to bltouch and the dive height + speeds
      G31 X0 Y0 Z0 P200                	            ; set Z probe trigger value, offset and trigger height
      M557 X15:305 Y0:240 P10                         ; define mesh grid
      
      ;Stall Detection
      M915 C S6 F0 H200 R0							; Coupler
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 	; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0                          	; create bed heater output on bedheat and map it to sensor 0
      M143 H0 S121                                   	; set temperature limit for heater 0 to 121C
      M307 H0 A305.7 C444 D2.9 V24.2 B0              	; Bed PID Tuning
      M140 H0                                        	; map heated bed to heater 0
      
      M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8  ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1                           	; create nozzle heater output on e0heat and map it to sensor 1
      M143 H1 S301                                   	; set temperature limit for heater 1 to 301C
      
      M308 S2 P"e1_temp" Y"thermistor" T100000 B4725 C7.06e-8  ; configure sensor 2 as thermistor on pin e1temp
      M950 H2 C"e1heat" T2                           	; create nozzle heater output on e1heat and map it to sensor 2
      M143 H2 S301                                   	; set temperature limit for heater 2 to 301C
      
      M302 S120 R120									;Cold extrusion settings
      
      M307 H1 R4.065 C157.9 D2.14 S1.00 V24.2			;        
      
      M376 H20                                    	; Set bed correction taper
      
      ; Fans
      M950 F0 C"duex.fan3"	                    	; Hotend Fan Tool 1
      M106 P0 S255 L255 H1 T50                        ; Hotend Fan Tool 1
      M950 F1 C"duex.fan4" Q50                      	; Layer Fan Tool 1
      M106 P1 S0 H-1                                 	; Layer Fan Tool 1
      
      M950 F2 C"duex.fan5"	                    	; Hotend Fan Tool 2
      M106 P2 S255 L255 H2 T50                        ; Hotend Fan Tool 2
      M950 F3 C"duex.fan6" Q50                      	; Layer Fan Tool 1
      M106 P3 S0 H-1                                 	; Layer Fan Tool 1
      
      ; Tools
      M563 P0 D0 H1 F1                             	; define tool 0
      G10 P0 X-9 Y39 Z-5                             	; set tool 0 axis offsets
      G10 P0 R0 S0                                   	; set initial tool 0 active and standby temperatures to 0C
      
      M563 P1 D1 H2 F3                            	; define tool 1
      G10 P1 X-9 Y39 Z-5                              ; set tool 1 axis offsets
      G10 P1 R0 S0                                   	; set initial tool 1 active and standby temperatures to 0C
      
      T-1
      
      
      ;Dock present switches
      M950 J0 C"duex.e2stop"							; Tool 0 Dock switch
      M950 J1 C"duex.e3stop"							; Tool 1 Dock switch
      
      M950 P1 C"duex.e5heat"                     		;Light switch PWM
      ;M591 D0 P1 C"e0stop" S1                    	;Filament Sensor E0                
      
      
      ;Pressure Advance
      ;M572 D0 S0.2 									;
      
      ; Miscellaneous
      M703											; Apply filament specific settings if any is loaded
      M98 P"/macros/Misc/Lights/On"
      

      What am I doing wrong here?

      1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk
        last edited by jay_s_uk

        post a set of tool change files.
        e.g. tpre0, tpost0 and tfree0

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

          tpre0

          ; tpre0.g
          ; called before tool 0 is selected
          
          M98 P"/macros/Toolchanging/Coupler - Unlock"	; unlock Coupler
          
          M564 S0 ; allow movement outside the normal limits
          
          M98 P"/macros/Toolchanging/Advanced/MoveToDock/T0"
          M98 P"/macros/Toolchanging/Coupler - Lock"	; close Coupler
          
          ;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
          ;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool!
          ;G91
          ;G1 Z10 F1000
          ;G90
          
          G1 Y250 F5000					; move out
          
          ;M208 Y66						; set Y max for this tool
          M564 S1 						; apply the normal limits again
          M703 ;restore filament settings
          

          tpost0

          ; tpost0.g
          ; called after tool 0 has been selected
          
          ;heatup
          M116 P0
          
          ;prime nozzle
          ;M98 P"prime.g"
          
          M106 R1	; restore print cooling fan speed
          

          tfree0

          ; tfree0.g
          ; called when tool 0 is freed
          
          G91
          G1 Z4 F1000							; drop the bed
          G90
          
          M564 S0								; allow movement outside the normal limits
          
          M98 P"/macros/Toolchanging/Advanced/MoveToDock/T0"
          M98 P"/macros/Toolchanging/Coupler - Unlock"		; open coupler
          
          M106 P2 S0							; fan off
          
          G53 G1 Y280 F50000					; move Out
          
          M564 S1								; apply the normal limits again
          
          1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk
            last edited by

            Can't see anything wrong there. Just for completeness, are you also willing to share your lock, unlock and movetodock macros?

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

              Sure, nothing fancy to see there:

              MoveOut:

              G91
              G1 Y-50 F10000
              G90
              

              Lock:

              G90
              G1 C230 F50000
              

              Unlock:

              G90
              G1 C120 F50000
              
              1 Reply Last reply Reply Quote 0
              • jay_s_ukundefined
                jay_s_uk
                last edited by

                can you comment out line 120 (T-1) in your config.g
                that should eliminate the startup issue as no tool will be loaded at startup unless you tell it to.

                you don't have anything odd in the config.g for the filament do you?

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

                  @jay_s_uk Wow, totally missed that command 🙃
                  However, it doesn't change anything, I still get the No Tool error on startup and toolchange.

                  Filament configs literally only include a retraction settings call, nothing else (and no filaments are loaded atm)

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

                    Upon further watching, it appears that the "No Tool selected" actually pops up between toolchanges, ie after storing away one and before picking up the next.

                    @dc42 can you tell me which specific actions would spawn the "Error: No Tool selected" message for console/popup?

                    Edit: Found the problem. It was calls to M703 in tpreN.g, I guess since the tool isn't technically loaded there yet, it can't apply the correct filament settings.
                    Moved the calls to tpostN.g as well as removing the M703 from config.g and it works now 🙂

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA