Do not allow lcd_updatestatus to be called directly

Enfoce the usage of lcd_setalertstatuspgm and lcd_setstatus so what we
consistently have alert severities properly set.
This commit is contained in:
Yuri D'Elia 2022-06-28 19:33:32 +02:00
parent 6751586db6
commit dc2d596f40
3 changed files with 8 additions and 10 deletions

View file

@ -1626,12 +1626,12 @@ public:
last_alert_sent_to_lcd = LCDALERT_MINTEMPFIXED;
break;
case States::ShowPleaseRestart: // displaying "Please restart"
lcd_updatestatuspgm(m1);
lcd_setalertstatuspgm(m1);
substep(States::ShowMintemp);
last_alert_sent_to_lcd = LCDALERT_PLEASERESTART;
break;
case States::ShowMintemp: // displaying "MINTEMP fixed"
lcd_updatestatuspgm(m2);
lcd_setalertstatuspgm(m2);
substep(States::ShowPleaseRestart);
last_alert_sent_to_lcd = LCDALERT_MINTEMPFIXED;
break;

View file

@ -7956,7 +7956,7 @@ void lcd_setstatus(const char* message)
lcd_updatestatus(message);
}
void lcd_updatestatuspgm(const char *message){
static void lcd_updatestatuspgm(const char *message){
strncpy_P(lcd_status_message, message, LCD_WIDTH);
lcd_status_message[LCD_WIDTH] = 0;
lcd_finishstatus();
@ -7971,7 +7971,8 @@ void lcd_setstatuspgm(const char* message)
lcd_updatestatuspgm(message);
}
void lcd_updatestatus(const char *message){
static void lcd_updatestatus(const char *message)
{
strncpy(lcd_status_message, message, LCD_WIDTH);
lcd_status_message[LCD_WIDTH] = 0;
lcd_finishstatus();

View file

@ -25,13 +25,10 @@ void lcd_setstatuspgm(const char* message);
void lcd_setalertstatus(const char* message, uint8_t severity = LCD_STATUS_ALERT);
void lcd_setalertstatuspgm(const char* message, uint8_t severity = LCD_STATUS_ALERT);
//! only update the alert message on the main status screen
//! has no sideeffects, may be called multiple times
void lcd_updatestatus(const char *message);
void lcd_updatestatuspgm(const char *message);
void lcd_reset_alert_level();
//! Get/reset the current alert level
uint8_t get_message_level();
void lcd_reset_alert_level();
void lcd_adjust_z();
void lcd_pick_babystep();
void lcd_alright();