Merge pull request #4143 from gudnimg/improve-lcd-update
Fix lcd_update() FW crashes
This commit is contained in:
commit
7ee1640792
|
|
@ -9437,6 +9437,9 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s
|
|||
check_axes_activity();
|
||||
MMU2::mmu2.mmu_loop();
|
||||
|
||||
lcd_knob_update();
|
||||
backlight_update();
|
||||
|
||||
// handle longpress
|
||||
if(lcd_longpress_trigger)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -690,11 +690,7 @@ void lcd_quick_feedback(void)
|
|||
lcd_beeper_quick_feedback();
|
||||
}
|
||||
|
||||
void lcd_update(uint8_t lcdDrawUpdateOverride)
|
||||
{
|
||||
if (lcd_draw_update < lcdDrawUpdateOverride)
|
||||
lcd_draw_update = lcdDrawUpdateOverride;
|
||||
|
||||
void lcd_knob_update() {
|
||||
if (lcd_backlight_wake_trigger) {
|
||||
lcd_backlight_wake_trigger = false;
|
||||
backlight_wake();
|
||||
|
|
@ -711,8 +707,12 @@ void lcd_update(uint8_t lcdDrawUpdateOverride)
|
|||
lcd_draw_update = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
backlight_update();
|
||||
void lcd_update(uint8_t lcdDrawUpdateOverride)
|
||||
{
|
||||
if (lcd_draw_update < lcdDrawUpdateOverride)
|
||||
lcd_draw_update = lcdDrawUpdateOverride;
|
||||
|
||||
if (!lcd_update_enabled) return;
|
||||
|
||||
|
|
|
|||
|
|
@ -123,6 +123,10 @@ extern void lcd_beeper_quick_feedback(void);
|
|||
//Cause an LCD refresh, and give the user visual or audible feedback that something has happened
|
||||
extern void lcd_quick_feedback(void);
|
||||
|
||||
/// @brief Check whether knob is rotated or clicked and update relevant
|
||||
///variables. Flags are set by lcd_buttons_update in ISR context.
|
||||
extern void lcd_knob_update();
|
||||
|
||||
extern void lcd_update(uint8_t lcdDrawUpdateOverride);
|
||||
|
||||
extern void lcd_update_enable(uint8_t enabled);
|
||||
|
|
|
|||
|
|
@ -2208,7 +2208,8 @@ uint8_t lcd_alright() {
|
|||
lcd_consume_click();
|
||||
while (1)
|
||||
{
|
||||
delay_keep_alive(0);
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
if (lcd_encoder)
|
||||
{
|
||||
|
|
@ -4696,7 +4697,8 @@ uint8_t choose_menu_P(const char *header, const char *item, const char *last_ite
|
|||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
while (1)
|
||||
{
|
||||
delay_keep_alive(0);
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
if (lcd_encoder)
|
||||
{
|
||||
|
|
@ -4787,7 +4789,8 @@ char reset_menu() {
|
|||
lcd_puts_at_P(1, i, item[first + i]);
|
||||
}
|
||||
|
||||
delay_keep_alive(0);
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
if (lcd_encoder) {
|
||||
if (lcd_encoder < 0) {
|
||||
|
|
@ -6906,6 +6909,7 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite,
|
|||
|
||||
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
_delay(100);
|
||||
|
||||
} while (!lcd_clicked());
|
||||
|
|
|
|||
Loading…
Reference in New Issue