Temperature selection is int16_t. Use sprintf for PID start command.

Saves 90B of flash and 2B of ram
This commit is contained in:
Alex Voinea 2022-02-27 10:19:08 +01:00
parent 6d98e99356
commit 8e85242c8f
1 changed files with 3 additions and 4 deletions

View File

@ -86,7 +86,7 @@ uint8_t farm_timer = 8;
bool printer_connected = true;
static ShortTimer display_time; //just timer for showing pid finished message on lcd;
float pid_temp = DEFAULT_PID_TEMP;
static uint16_t pid_temp = DEFAULT_PID_TEMP;
static bool forceMenuExpire = false;
static bool lcd_autoDeplete;
@ -1018,8 +1018,7 @@ void lcd_commands()
lcd_commands_step = 3;
}
if (lcd_commands_step == 3 && !blocks_queued()) { //PID calibration
strcpy_P(cmd1, PSTR("M303 E0 S"));
strcat(cmd1, ftostr3(pid_temp));
sprintf_P(cmd1, PSTR("M303 E0 S%3u"), pid_temp);
// setting the correct target temperature (for visualization) is done in PID_autotune
enquecommand(cmd1);
lcd_setstatuspgm(_i("PID cal."));////MSG_PID_RUNNING c=20
@ -2786,7 +2785,7 @@ void pid_extruder()
if (pid_temp < HEATER_0_MINTEMP) pid_temp = HEATER_0_MINTEMP;
lcd_encoder = 0;
lcd_set_cursor(1, 2);
lcd_print(ftostr3(pid_temp));
lcd_printf_P(PSTR("%3u"), pid_temp);
if (lcd_clicked()) {
lcd_commands_type = LcdCommands::PidExtruder;
lcd_return_to_status();