|
|
@ -1,5 +1,5 @@ |
|
|
|
#include "ultralcd.h" |
|
|
|
#include "temperature.h" |
|
|
|
|
|
|
|
|
|
|
|
#ifdef ULTRA_LCD |
|
|
|
extern volatile int feedmultiply; |
|
|
@ -238,8 +238,8 @@ extern volatile bool feedmultiplychanged; |
|
|
|
void MainMenu::showStatus() |
|
|
|
{ |
|
|
|
#if LCD_HEIGHT==4 |
|
|
|
static int oldcurrent=-1; |
|
|
|
static int oldtarget=-1; |
|
|
|
static int oldcurrentraw=-1; |
|
|
|
static int oldtargetraw=-1; |
|
|
|
//force_lcd_update=true; |
|
|
|
if(force_lcd_update||feedmultiplychanged) //initial display of content |
|
|
|
{ |
|
|
@ -252,36 +252,33 @@ void MainMenu::showStatus() |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
int tt=Heater::celsius(TEMPSENSOR_HOTEND); |
|
|
|
if((abs(tt-oldcurrent)>1)||force_lcd_update) |
|
|
|
|
|
|
|
if((abs(current_raw[TEMPSENSOR_HOTEND]-oldcurrentraw)>3)||force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(1,0); |
|
|
|
lcd.print(ftostr3(tt)); |
|
|
|
oldcurrent=tt; |
|
|
|
lcd.print(ftostr3(analog2temp(current_raw[TEMPSENSOR_HOTEND]))); |
|
|
|
oldcurrentraw=current_raw[TEMPSENSOR_HOTEND]; |
|
|
|
} |
|
|
|
int ttg=Heater::celsiusTarget(TEMPSENSOR_HOTEND); |
|
|
|
if((ttg!=oldtarget)||force_lcd_update) |
|
|
|
if((target_raw[TEMPSENSOR_HOTEND]!=oldtargetraw)||force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(5,0); |
|
|
|
lcd.print(ftostr3(ttg)); |
|
|
|
oldtarget=ttg; |
|
|
|
lcd.print(ftostr3(analog2temp(target_raw[TEMPSENSOR_HOTEND]))); |
|
|
|
oldtargetraw=target_raw[TEMPSENSOR_HOTEND]; |
|
|
|
} |
|
|
|
#if defined BED_USES_THERMISTOR || defined BED_USES_AD595 |
|
|
|
static int oldcurrentbed=-1; |
|
|
|
static int oldtargetbed=-1; |
|
|
|
int tb=Heater::celsius(TEMPSENSOR_BED); |
|
|
|
if((tb!=oldcurrentbed)||force_lcd_update) |
|
|
|
static int oldcurrentbedraw=-1; |
|
|
|
static int oldtargetbedraw=-1; |
|
|
|
if((current_bed_raw!=oldcurrentbedraw)||force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(1,0); |
|
|
|
lcd.print(ftostr3(tb)); |
|
|
|
oldcurrentbed=tb; |
|
|
|
lcd.print(ftostr3(analog2temp(current_bed_raw))); |
|
|
|
oldcurrentraw=current_raw[TEMPSENSOR_BED]; |
|
|
|
} |
|
|
|
int tg=Heater::celsiusTarget(TEMPSENSOR_BED); |
|
|
|
if((tg!=oldtargebed)||force_lcd_update) |
|
|
|
if((target_bed_raw!=oldtargebedtraw)||force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(5,0); |
|
|
|
lcd.print(Heater::celsiusTarget(TEMPSENSOR_BED)); |
|
|
|
oldtargebed=tg; |
|
|
|
lcd.print(ftostr3(analog2temp(target_bed_raw))); |
|
|
|
oldtargetraw=target_bed_raw; |
|
|
|
} |
|
|
|
#endif |
|
|
|
//starttime=2; |
|
|
@ -330,8 +327,8 @@ void MainMenu::showStatus() |
|
|
|
messagetext[0]='\0'; |
|
|
|
} |
|
|
|
#else //smaller LCDS---------------------------------- |
|
|
|
static int oldcurrent=-1; |
|
|
|
static int oldtarget=-1; |
|
|
|
static int oldcurrentraw=-1; |
|
|
|
static int oldtargetraw=-1; |
|
|
|
if(force_lcd_update) //initial display of content |
|
|
|
{ |
|
|
|
encoderpos=feedmultiply; |
|
|
@ -341,19 +338,18 @@ void MainMenu::showStatus() |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
int tt=Heater::celsius(TEMPSENSOR_HOTEND); |
|
|
|
if((abs(tt-oldcurrent)>1)||force_lcd_update) |
|
|
|
|
|
|
|
if((abs(current_raw[TEMPSENSOR_HOTEND]-oldcurrentraw)>3)||force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(1,0); |
|
|
|
lcd.print(ftostr3(tt)); |
|
|
|
oldcurrent=tt; |
|
|
|
lcd.print(ftostr3(analog2temp(current_raw[TEMPSENSOR_HOTEND]))); |
|
|
|
oldcurrentraw=current_raw[TEMPSENSOR_HOTEND]; |
|
|
|
} |
|
|
|
int ttg=Heater::celsiusTarget(TEMPSENSOR_HOTEND); |
|
|
|
if((ttg!=oldtarget)||force_lcd_update) |
|
|
|
if((target_raw[TEMPSENSOR_HOTEND]!=oldtargetraw)||force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(5,0); |
|
|
|
lcd.print(ftostr3(ttg)); |
|
|
|
oldtarge=ttg; |
|
|
|
lcd.print(ftostr3(analog2temp(target_raw[TEMPSENSOR_HOTEND]))); |
|
|
|
oldtargetraw=target_raw[TEMPSENSOR_HOTEND]; |
|
|
|
} |
|
|
|
|
|
|
|
if(messagetext[0]!='\0') |
|
|
@ -430,7 +426,7 @@ void MainMenu::showPrepare() |
|
|
|
if((activeline==line) && CLICKED) |
|
|
|
{ |
|
|
|
BLOCK |
|
|
|
Heater::setCelsius(TEMPSENSOR_HOTEND, 170); |
|
|
|
target_raw[TEMPSENSOR_HOTEND] = temp2analog(170); |
|
|
|
beepshort(); |
|
|
|
} |
|
|
|
}break; |
|
|
@ -535,7 +531,7 @@ void MainMenu::showControl() |
|
|
|
if(force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(0,line);lcd.print(" \002Nozzle:"); |
|
|
|
lcd.setCursor(13,line);lcd.print(ftostr3(Heater::celsiusTarget(TEMPSENSOR_HOTEND))); |
|
|
|
lcd.setCursor(13,line);lcd.print(ftostr3(analog2temp(target_raw[TEMPSENSOR_HOTEND]))); |
|
|
|
} |
|
|
|
|
|
|
|
if((activeline==line) ) |
|
|
@ -545,11 +541,11 @@ void MainMenu::showControl() |
|
|
|
linechanging=!linechanging; |
|
|
|
if(linechanging) |
|
|
|
{ |
|
|
|
encoderpos=(int)Heater::celsiusTarget(TEMPSENSOR_HOTEND); |
|
|
|
encoderpos=(int)analog2temp(target_raw[TEMPSENSOR_HOTEND]); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
Heater::setCelsius(TEMPSENSOR_HOTEND,encoderpos); |
|
|
|
target_raw[TEMPSENSOR_HOTEND] = temp2analog(encoderpos); |
|
|
|
encoderpos=activeline*lcdslow; |
|
|
|
beepshort(); |
|
|
|
} |
|
|
@ -673,7 +669,7 @@ void MainMenu::showControl() |
|
|
|
if(force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(0,line);lcd.print(" PID-P: "); |
|
|
|
lcd.setCursor(13,line);lcd.print(itostr4(Heater::Kp)); |
|
|
|
lcd.setCursor(13,line);lcd.print(itostr4(Kp)); |
|
|
|
} |
|
|
|
|
|
|
|
if((activeline==line) ) |
|
|
@ -683,11 +679,11 @@ void MainMenu::showControl() |
|
|
|
linechanging=!linechanging; |
|
|
|
if(linechanging) |
|
|
|
{ |
|
|
|
encoderpos=(int)Heater::Kp/5; |
|
|
|
encoderpos=(int)Kp/5; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
Heater::Kp= encoderpos*5; |
|
|
|
Kp= encoderpos*5; |
|
|
|
encoderpos=activeline*lcdslow; |
|
|
|
|
|
|
|
} |
|
|
@ -707,7 +703,7 @@ void MainMenu::showControl() |
|
|
|
if(force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(0,line);lcd.print(" PID-I: "); |
|
|
|
lcd.setCursor(13,line);lcd.print(ftostr51(Heater::Ki)); |
|
|
|
lcd.setCursor(13,line);lcd.print(ftostr51(Ki)); |
|
|
|
} |
|
|
|
|
|
|
|
if((activeline==line) ) |
|
|
@ -717,11 +713,11 @@ void MainMenu::showControl() |
|
|
|
linechanging=!linechanging; |
|
|
|
if(linechanging) |
|
|
|
{ |
|
|
|
encoderpos=(int)(Heater::Ki*10); |
|
|
|
encoderpos=(int)(Ki*10); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
Heater::Ki= encoderpos/10.; |
|
|
|
Ki= encoderpos/10.; |
|
|
|
encoderpos=activeline*lcdslow; |
|
|
|
|
|
|
|
} |
|
|
@ -741,7 +737,7 @@ void MainMenu::showControl() |
|
|
|
if(force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(0,line);lcd.print(" PID-D: "); |
|
|
|
lcd.setCursor(13,line);lcd.print(itostr4(Heater::Kd)); |
|
|
|
lcd.setCursor(13,line);lcd.print(itostr4(Kd)); |
|
|
|
} |
|
|
|
|
|
|
|
if((activeline==line) ) |
|
|
@ -751,11 +747,11 @@ void MainMenu::showControl() |
|
|
|
linechanging=!linechanging; |
|
|
|
if(linechanging) |
|
|
|
{ |
|
|
|
encoderpos=(int)(Heater::Kd/5.); |
|
|
|
encoderpos=(int)Kd/5; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
Heater::Kd= encoderpos*5; |
|
|
|
Kd= encoderpos*5; |
|
|
|
encoderpos=activeline*lcdslow; |
|
|
|
|
|
|
|
} |
|
|
@ -778,7 +774,7 @@ void MainMenu::showControl() |
|
|
|
if(force_lcd_update) |
|
|
|
{ |
|
|
|
lcd.setCursor(0,line);lcd.print(" PID-C: "); |
|
|
|
lcd.setCursor(13,line);lcd.print(itostr3(Heater::Kc)); |
|
|
|
lcd.setCursor(13,line);lcd.print(itostr3(Kc)); |
|
|
|
} |
|
|
|
|
|
|
|
if((activeline==line) ) |
|
|
@ -788,11 +784,11 @@ void MainMenu::showControl() |
|
|
|
linechanging=!linechanging; |
|
|
|
if(linechanging) |
|
|
|
{ |
|
|
|
encoderpos=(int)Heater::Kc; |
|
|
|
encoderpos=(int)Kc; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
Heater::Kc= encoderpos; |
|
|
|
Kc= encoderpos; |
|
|
|
encoderpos=activeline*lcdslow; |
|
|
|
|
|
|
|
} |
|
|
|