// \r
\r
enum {\r
- ItemCT_exit, ItemCT_nozzle, ItemCT_fan,\r
+ ItemCT_exit,ItemCT_nozzle,\r
+#ifdef AUTOTEMP\r
+ ItemCT_autotempactive,\r
+ ItemCT_autotempmin,ItemCT_autotempmax,ItemCT_autotempfact,\r
+#endif\r
+ ItemCT_fan,\r
ItemCT_PID_P,ItemCT_PID_I,ItemCT_PID_D,ItemCT_PID_C\r
};\r
\r
}\r
}\r
}break;\r
- \r
+ #ifdef AUTOTEMP\r
+ case ItemCT_autotempmin:\r
+ {\r
+ if(force_lcd_update)\r
+ {\r
+ lcd.setCursor(0,line);lcdprintPGM(" \002 Min:");\r
+ lcd.setCursor(13,line);lcd.print(ftostr3(autotemp_max));\r
+ }\r
+ \r
+ if((activeline==line) )\r
+ {\r
+ if(CLICKED)\r
+ {\r
+ linechanging=!linechanging;\r
+ if(linechanging)\r
+ {\r
+ encoderpos=intround(autotemp_max);\r
+ }\r
+ else\r
+ {\r
+ autotemp_max=encoderpos;\r
+ encoderpos=activeline*lcdslow;\r
+ beepshort();\r
+ }\r
+ BLOCK;\r
+ }\r
+ if(linechanging)\r
+ {\r
+ if(encoderpos<0) encoderpos=0;\r
+ if(encoderpos>260) encoderpos=260;\r
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));\r
+ }\r
+ }\r
+ }break; \r
+ case ItemCT_autotempmax:\r
+ {\r
+ if(force_lcd_update)\r
+ {\r
+ lcd.setCursor(0,line);lcdprintPGM(" \002 Max:");\r
+ lcd.setCursor(13,line);lcd.print(ftostr3(autotemp_max));\r
+ }\r
+ \r
+ if((activeline==line) )\r
+ {\r
+ if(CLICKED)\r
+ {\r
+ linechanging=!linechanging;\r
+ if(linechanging)\r
+ {\r
+ encoderpos=intround(autotemp_max);\r
+ }\r
+ else\r
+ {\r
+ autotemp_max=encoderpos;\r
+ encoderpos=activeline*lcdslow;\r
+ beepshort();\r
+ }\r
+ BLOCK;\r
+ }\r
+ if(linechanging)\r
+ {\r
+ if(encoderpos<0) encoderpos=0;\r
+ if(encoderpos>260) encoderpos=260;\r
+ lcd.setCursor(13,line);lcd.print(itostr3(encoderpos));\r
+ }\r
+ }\r
+ }break; \r
+ case ItemCT_autotempfact:\r
+ {\r
+ if(force_lcd_update)\r
+ {\r
+ lcd.setCursor(0,line);lcdprintPGM(" \002 Fact:");\r
+ lcd.setCursor(13,line);lcd.print(ftostr32(autotemp_factor));\r
+ }\r
+ \r
+ if((activeline==line) )\r
+ {\r
+ if(CLICKED)\r
+ {\r
+ linechanging=!linechanging;\r
+ if(linechanging)\r
+ {\r
+ encoderpos=intround(autotemp_factor*100);\r
+ }\r
+ else\r
+ {\r
+ autotemp_max=encoderpos;\r
+ encoderpos=activeline*lcdslow;\r
+ beepshort();\r
+ }\r
+ BLOCK;\r
+ }\r
+ if(linechanging)\r
+ {\r
+ if(encoderpos<0) encoderpos=0;\r
+ if(encoderpos>99) encoderpos=99;\r
+ lcd.setCursor(13,line);lcd.print(ftostr32(encoderpos/100.));\r
+ }\r
+ }\r
+ }break;\r
+ case ItemCT_autotempactive:\r
+ {\r
+ if(force_lcd_update)\r
+ {\r
+ lcd.setCursor(0,line);lcdprintPGM(" Autotemp:");\r
+ lcd.setCursor(13,line);\r
+ if(autotemp_enabled)\r
+ lcdprintPGM("On");\r
+ else\r
+ lcdprintPGM("Off");\r
+ }\r
+ \r
+ if((activeline==line) )\r
+ {\r
+ if(CLICKED)\r
+ {\r
+ autotemp_enabled=!autotemp_enabled;\r
+ BLOCK;\r
+ }\r
+ }\r
+ }break; \r
+ #endif //autotemp\r
case ItemCT_fan:\r
{\r
if(force_lcd_update)\r
return conv;\r
}\r
\r
+char *ftostr32(const float &x)\r
+{\r
+ int xx=x*100;\r
+ conv[0]=(xx>=0)?'+':'-';\r
+ xx=abs(xx);\r
+ conv[1]=(xx/100)%10+'0';\r
+ conv[2]='.';\r
+ conv[3]=(xx/10)%10+'0';\r
+ conv[4]=(xx)%10+'0';\r
+ conv[6]=0;\r
+ return conv;\r
+}\r
+\r
char *itostr31(const int &xx)\r
{\r
conv[0]=(xx>=0)?'+':'-';\r