From c51aa10087e426e23f872882fa61977c34f5d2d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Thu, 9 Feb 2023 20:15:24 +0000 Subject: [PATCH] optimisation: spooljoin: use new eeprom init method Change in memory: Flash: -40 bytes SRAM: -1 byte --- Firmware/SpoolJoin.cpp | 21 +++------------------ Firmware/SpoolJoin.h | 13 ------------- 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/Firmware/SpoolJoin.cpp b/Firmware/SpoolJoin.cpp index 91f975adb..3944af9e3 100644 --- a/Firmware/SpoolJoin.cpp +++ b/Firmware/SpoolJoin.cpp @@ -9,31 +9,16 @@ namespace SpoolJoin { SpoolJoin spooljoin; SpoolJoin::SpoolJoin() - : status(EEPROM::Unknown) - , currentMMUSlot(0) + : currentMMUSlot(0) { } -void SpoolJoin::updateSpoolJoinStatus(EEPROM newStatus) -{ - status = newStatus; - eeprom_write_byte((uint8_t*)EEPROM_SPOOL_JOIN, (uint8_t)status); -} - void SpoolJoin::initSpoolJoinStatus() { - EEPROM currentStatus = (EEPROM)eeprom_read_byte((uint8_t*)EEPROM_SPOOL_JOIN); - if( currentStatus == EEPROM::Empty) - { - // By default SpoolJoin is disabled - updateSpoolJoinStatus(EEPROM::Disabled); - } else { - updateSpoolJoinStatus(currentStatus); - } - // Useful information to see during bootup SERIAL_ECHOPGM("SpoolJoin is "); - if (isSpoolJoinEnabled()) + uint8_t status = eeprom_init_default_byte((uint8_t*)EEPROM_SPOOL_JOIN, (uint8_t)EEPROM::Disabled); + if (status == (uint8_t)EEPROM::Enabled) { SERIAL_ECHOLNRPGM(_O(MSG_ON)); } else { diff --git a/Firmware/SpoolJoin.h b/Firmware/SpoolJoin.h index 736139286..51ae5f947 100644 --- a/Firmware/SpoolJoin.h +++ b/Firmware/SpoolJoin.h @@ -21,12 +21,6 @@ public: /// @brief Called when EEPROM is ready to be read void initSpoolJoinStatus(); - /// @brief Enable SpoolJoin - inline void enableSpoolJoin() { updateSpoolJoinStatus(EEPROM::Enabled); }; - - /// @brief Disable SpoolJoin - inline void disableSpoolJoin() { updateSpoolJoinStatus(EEPROM::Disabled); }; - /// @brief Toggle SpoolJoin static void toggleSpoolJoin(); @@ -44,13 +38,6 @@ public: uint8_t nextSlot(); private: - /// @brief Update EEPROM - /// @param newStatus Status to write into EEPROM - void updateSpoolJoinStatus(EEPROM newStatus); - - /// @brief SpoolJoin status - enum EEPROM status; - /// @brief Currently used slot, ranges from 0 to 4 uint8_t currentMMUSlot; };