KTC
KTC copied to clipboard
Extruder Not waiting for Standby timeout before going into Standby
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
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.
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
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.