KTC icon indicating copy to clipboard operation
KTC copied to clipboard

Extruder Not waiting for Standby timeout before going into Standby

Open Rneil-ca opened this issue 11 months ago • 2 comments
trafficstars

Hi Again,

First of all wanted to say thank you again for your work on this, your idea to add a debug macro command was a great idea, really helps troubleshoot. I found another issue, this one is impacting me. No matter what I change the standby timeout to the extruder goes into standby right away. In trying to troubleshoot this it looks like form the logs that KTC_TOOL script is changing the extruder it to standby twice and then then once more in the _TOOL_DROPOFF_START script. For the second and third time it thinks that the extruder was not active and puts it straight into standby. I can remove the M568 in the _TOOL_DROPOFF_START (using scripts from your config) but have not been able to trace why the KCT_TOOL script is doing it twice. Log showing this:

08:23:32 Before KCT_T 08:23:32 KTC Tool 0 Selecting. 08:23:32 - - TRACE: set_heater: KTC Tool 0 heater is at begining 1. 250C, 150C 08:23:32 - - TRACE: In extr. Setting heater state to 2 for tool 0 08:23:32 - - TRACE: In extr. Setting heater state to ACTIVE for tool 0 with active_temp 250 08:23:32 - - TRACE: Setting heater_active_to_standby_delay to 60.0 for heater extruder 08:23:32 - - TRACE: Setting timer for active to standby to 60.0 for heater extruder 08:23:32 - - TRACE: heatertimer set_timer 1: duration: 60.0, nextwake: 59.99958188800019 counting_down: False 08:23:32 - - TRACE: Time until heater extruder changes to Standby: 59.999391407000076 08:23:32 - - TRACE: Setting timer for standby to powerdown to 300.0 for heater extruder with state 1 08:23:32 - - TRACE: Setting heater options for heater extruder heater.heater_active_temp=250.0, heater.standby_temp=150.0, heater.active_to_standby_delay= 60.0, heater.standby_to_powerdown_delay= 300.0 08:23:32 - - TRACE: In heater.state.setter. Setting heater state to 2 for heater extruder 08:23:32 - - TRACE: heatertimer set_timer 1: duration: 0.0, nextwake: 59.99882261100038 counting_down: True 08:23:32 - - TRACE: Time until heater extruder changes to Standby: 59.99817890700024 08:23:32 - - TRACE: heatertimer set_timer 0: duration: 0.0, nextwake: 121.24069610700008 counting_down: True 08:23:32 - - TRACE: Time until heater extruder changes to OFF: 121.24038842100026 08:23:32 - - TRACE: Setting heater state to ACTIVE for heater extruder with klippy heater extruder and heater_active_temp 250.0 08:23:32 - DEBUG: track_heater_active_start: Tool: 0 08:23:32 - - TRACE: In heater.state.setter. Setting heater state to 1 for heater extruder1 08:23:32 - - TRACE: Setting heater state to STANDBY for heater extruder1 with klippy heater extruder1 and delay 60.0 08:23:32 - - TRACE: heatertimer set_timer 1: duration: 60.0, nextwake: 59.99941144400009 counting_down: False 08:23:32 - - TRACE: Time until heater extruder1 changes to Standby: 59.99924331500006 08:23:32 - - TRACE: In extr. Setting heater state to 1 for tool 1 08:23:32 - - TRACE: Setting heater state to STANDBY for tool 1 with heater extruder1 08:23:32 - - TRACE: Setting heater_active_to_standby_delay to 60.0 for heater extruder1 08:23:32 - - TRACE: Setting timer for active to standby to 60.0 for heater extruder1 08:23:32 - - TRACE: heatertimer set_timer 1: duration: 60.0, nextwake: 59.99975668499974 counting_down: True 08:23:32 - - TRACE: Time until heater extruder1 changes to Standby: 59.999089796000135 08:23:32 - - TRACE: Setting timer for standby to powerdown to 300.0 for heater extruder1 with state 1 08:23:32 - - TRACE: Setting heater options for heater extruder1 heater.heater_active_temp=250.0, heater.standby_temp=150.0, heater.active_to_standby_delay= 60.0, heater.standby_to_powerdown_delay= 300.0 08:23:32 - - TRACE: In heater.state.setter. Setting heater state to 1 for heater extruder1 08:23:32 - - TRACE: Heater state is set to STANDBY without being ACTIVE first. State is 1 for heater extruder1 08:23:32 - - TRACE: heatertimer set_timer 1: duration: 0.1, nextwake: 0.09976764800012461 counting_down: True 08:23:32 - - TRACE: Time until heater extruder1 changes to Standby: 0.09905772199999774 08:23:32 Tool Drop off 1 08:23:32 - - TRACE: cmd_KTC_TOOL_SET_TEMPERATURE: T1: stdb_tmp:None, actv_tmp:None, chng_state:1, stdb_timeout:None, shtdwn_timeout:None. 08:23:32 - - TRACE: set_heater: KTC Tool 1 heater is at begining 1. 250C, 150C 08:23:32 - - TRACE: In extr. Setting heater state to 1 for tool 1 08:23:32 - - TRACE: Setting heater state to STANDBY for tool 1 with heater extruder1 08:23:32 - - TRACE: Setting heater_active_to_standby_delay to 60.0 for heater extruder1 08:23:32 - - TRACE: Setting timer for active to standby to 60.0 for heater extruder1 08:23:32 - - TRACE: heatertimer set_timer 1: duration: 60.0, nextwake: 59.99964092600021 counting_down: True 08:23:32 - - TRACE: Time until heater extruder1 changes to Standby: 59.99864501899992 08:23:32 - - TRACE: Setting timer for standby to powerdown to 300.0 for heater extruder1 with state 1 08:23:32 - - TRACE: Setting heater options for heater extruder1 heater.heater_active_temp=250.0, heater.standby_temp=150.0, heater.active_to_standby_delay= 60.0, heater.standby_to_powerdown_delay= 300.0 08:23:32 - - TRACE: In heater.state.setter. Setting heater state to 1 for heater extruder1 08:23:32 - - TRACE: Heater state is set to STANDBY without being ACTIVE first. State is 1 for heater extruder1 08:23:32 - - TRACE: heatertimer set_timer 1: duration: 0.1, nextwake: 0.09935768599962103 counting_down: True 08:23:32 - - TRACE: Time until heater extruder1 changes to Standby: 0.09917157399968346 08:23:32 - - TRACE: Running heater timer for extruder1: Standby 08:23:32 - DEBUG: track_heater_standby_start_for_standby_tools_having_heater: Heater extruder1 is in tool: 1 08:23:32 - DEBUG: track_heater_standby_start: Tool: 1 08:23:32 - DEBUG: track_heater_active_end_for_tools_having_heater: Heater: extruder1: Active end called for tool: 1 08:23:32 - DEBUG: track_heater_active_end: Tool: 1 08:23:32 - - TRACE: Time until heater extruder1 changes to Standby: -0.001861333000306331 08:23:32 - - TRACE: heatertimer set_timer 0: duration: 300.0, nextwake: 299.99982701800036 counting_down: False 08:23:32 - - TRACE: Time until heater extruder1 changes to OFF: 299.99958120300016 08:23:32 - - TRACE: Setting temperature to 150.0 for heater extruder1 08:23:36 Tool Drop off 2 08:23:36 Tool Drop off end 08:23:36 - - TRACE: ktc.active_tool set to: tool_none 08:23:36 - - TRACE: cmd_KTC_TOOL_SET_TEMPERATURE: T0: stdb_tmp:None, actv_tmp:None, chng_state:2, stdb_timeout:None, shtdwn_timeout:None. 08:23:36 - - TRACE: set_heater: KTC Tool 0 heater is at begining 2. 250C, 150C 08:23:36 - - TRACE: In extr. Setting heater state to 2 for tool 0 08:23:36 - - TRACE: In extr. Setting heater state to ACTIVE for tool 0 with active_temp 250 08:23:36 - - TRACE: Setting heater_active_to_standby_delay to 60.0 for heater extruder 08:23:36 - - TRACE: Setting timer for standby to powerdown to 300.0 for heater extruder with state 2 08:23:36 - - TRACE: Setting heater options for heater extruder heater.heater_active_temp=250.0, heater.standby_temp=150.0, heater.active_to_standby_delay= 60.0, heater.standby_to_powerdown_delay= 300.0 08:23:36 - - TRACE: In heater.state.setter. Setting heater state to 2 for heater extruder 08:23:36 - - TRACE: heatertimer set_timer 1: duration: 0.0, nextwake: 56.353195872000015 counting_down: False 08:23:36 - - TRACE: Time until heater extruder changes to Standby: 56.35288542800026 08:23:36 - - TRACE: heatertimer set_timer 0: duration: 0.0, nextwake: 117.59455840500004 counting_down: False 08:23:36 - - TRACE: Time until heater extruder changes to OFF: 117.59434614600013 08:23:36 - - TRACE: Setting heater state to ACTIVE for heater extruder with klippy heater extruder and heater_active_temp 250.0 08:23:36 - DEBUG: track_heater_active_start: Tool: 0 08:23:37 - - TRACE: cmd_KTC_TEMPERATURE_WAIT_WITH_TOLERANCE: Heater names: ['extruder']. 08:23:37 Waiting for heater extruder to reach 250 with a tolerance of 2. 08:24:21 Wait for heater extruder complete. 08:24:21 - - TRACE: ktc.active_tool set to: 0 08:24:21 After KCT_T

Rneil-ca avatar Dec 17 '24 16:12 Rneil-ca

Still troubleshooting this one, have not been able to trace why it is doing it twice, but have created a quick work around for now by commenting out set_timer_to_standby(NOW) in line 346 of ktc_heater.py.

Rneil-ca avatar Dec 17 '24 18:12 Rneil-ca

Thank you for finding this. I will not be able to debug it until I get back home to my machine after the holidays. Happy you found a bypass. I didn't experience any such problems. Regarss, Abdrei

TypQxQ avatar Dec 18 '24 05:12 TypQxQ

Just in case someone is still struggling with this issue, here's my temporary solution: Call DESELECT_TOOL before selecting the next tool.

I changed my T* macro to this so nothing extra has to be changed on the slicer or Mainsail interface: [gcode_macro T0] gcode: KTC_DESELECT_ALL KTC_T0 [gcode_macro T1] gcode: KTC_DESELECT_ALL KTC_T1

It seems that the heater_active_to_standby_delay is ignored due to Heater state is set to STANDBY without being ACTIVE first, which normally happens when the KTC_TOOL_SET_TEMPERATURE CHNG_STATE=1 is ran TWICE. Somehow going straightly from KTC_T0 to KTC_T1 would set the standby state of previous tool for 2 times in a row, which set the standby timer to 0.1s causing the heater to drop temperature (almost) immediately. Calling KTC_DESELECT_ALL before KTC_T*, however, won't trigger this bug and the standby timer got preserved.

FredWang1999 avatar Oct 25 '25 12:10 FredWang1999