From 301b2e4384a2e628ab875ae40c9d1fd40d1d8b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 29 Jan 2023 13:43:24 +0000 Subject: [PATCH] Optimisation: Move filAutoLoad to ultralcd We can reuse preheat_or_continue() function Change in memory: Flash: -22 bytes SRAM: 0 bytes --- Firmware/Filament_sensor.cpp | 12 +----------- Firmware/Filament_sensor.h | 4 +--- Firmware/ultralcd.cpp | 5 +++++ Firmware/ultralcd.h | 1 + 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/Firmware/Filament_sensor.cpp b/Firmware/Filament_sensor.cpp index 761a468b5..f4ec2184f 100644 --- a/Firmware/Filament_sensor.cpp +++ b/Firmware/Filament_sensor.cpp @@ -117,7 +117,7 @@ void Filament_sensor::triggerFilamentInserted() { || eeprom_read_byte((uint8_t *)EEPROM_WIZARD_ACTIVE) ) ) { - filAutoLoad(); + lcd_AutoLoadFilament(); } } @@ -141,16 +141,6 @@ void Filament_sensor::triggerFilamentRemoved() { } } -void Filament_sensor::filAutoLoad() { - eFilamentAction = FilamentAction::AutoLoad; - if (target_temperature[0] >= EXTRUDE_MINTEMP) { - bFilamentPreheatState = true; - menu_submenu(mFilamentItemForce); - } else { - menu_submenu(lcd_generic_preheat_menu); - lcd_timeoutToStatus.start(); - } -} void Filament_sensor::filRunout() { // SERIAL_ECHOLNPGM("filRunout"); diff --git a/Firmware/Filament_sensor.h b/Firmware/Filament_sensor.h index e5c488a3a..f715f8618 100644 --- a/Firmware/Filament_sensor.h +++ b/Firmware/Filament_sensor.h @@ -69,9 +69,7 @@ protected: void triggerFilamentInserted(); void triggerFilamentRemoved(); - - static void filAutoLoad(); - + void filRunout(); void triggerError(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 524b5e2c0..50508ec3e 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2302,6 +2302,11 @@ static void lcd_LoadFilament() preheat_or_continue(); } +void lcd_AutoLoadFilament() { + eFilamentAction = FilamentAction::AutoLoad; + preheat_or_continue(); +} + //! @brief Show filament used a print time //! diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index b398f6a91..ab739a253 100755 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -200,6 +200,7 @@ void mFilamentItem(uint16_t nTemp,uint16_t nTempBed); void mFilamentItemForce(); void lcd_generic_preheat_menu(); void unload_filament(float unloadLength); +void lcd_AutoLoadFilament(); void lcd_wait_for_heater();