diff --git a/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp index fc1baa22a..270324b68 100644 --- a/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_DUE/persistent_store_eeprom.cpp @@ -44,7 +44,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp b/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp index 5227da356..deefde915 100644 --- a/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp +++ b/Marlin/src/HAL/HAL_ESP32/persistent_store_spiffs.cpp @@ -72,7 +72,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { if (!eeprom_file.seek(pos)) return true; // return true for any error if (eeprom_file.write(value, size) != size) return true; diff --git a/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp b/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp index dac7d7a3a..4f4f371f5 100644 --- a/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp +++ b/Marlin/src/HAL/HAL_LPC1768/persistent_store_flash.cpp @@ -109,7 +109,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { for (size_t i = 0; i < size; i++) ram_eeprom[pos + i] = value[i]; eeprom_dirty = true; crc16(crc, value, size); diff --git a/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp index e41dd85c8..2a0c99174 100644 --- a/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_SAMD51/persistent_store_eeprom.cpp @@ -58,7 +58,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { #if NONE(SPI_EEPROM, I2C_EEPROM) if (NVMCTRL->SEESTAT.bit.RLOCK) NVMCTRL_CMD(NVMCTRL_CTRLB_CMD_USEE); // Unlock E2P data write access diff --git a/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp index c94bce3b6..ff8313dd8 100644 --- a/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_STM32/persistent_store_impl.cpp @@ -50,7 +50,7 @@ bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp index babcdeaee..a7fe530c6 100644 --- a/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_STM32F1/persistent_store_eeprom.cpp @@ -40,7 +40,7 @@ bool PersistentStore::access_start() { } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp index 4bd86d225..0b119730b 100644 --- a/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_STM32_F4_F7/persistent_store_eeprom.cpp @@ -32,7 +32,7 @@ bool PersistentStore::access_start() { return true; } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp b/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp index 6da102638..0c9527743 100644 --- a/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp +++ b/Marlin/src/HAL/HAL_TEENSY31_32/persistent_store_impl.cpp @@ -27,7 +27,7 @@ bool PersistentStore::access_start() { return true; } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp index 17934f71a..2f063a4d4 100644 --- a/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp +++ b/Marlin/src/HAL/HAL_TEENSY35_36/persistent_store_eeprom.cpp @@ -33,7 +33,7 @@ bool PersistentStore::access_start() { return true; } bool PersistentStore::access_finish() { return true; } -bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { +bool PersistentStore::write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc) { while (size--) { uint8_t * const p = (uint8_t * const)pos; uint8_t v = *value; diff --git a/Marlin/src/HAL/shared/persistent_store_api.h b/Marlin/src/HAL/shared/persistent_store_api.h index 02013120a..0f4834b9b 100644 --- a/Marlin/src/HAL/shared/persistent_store_api.h +++ b/Marlin/src/HAL/shared/persistent_store_api.h @@ -31,7 +31,7 @@ class PersistentStore { public: static bool access_start(); static bool access_finish(); - static bool write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc); + static bool write_data(int &pos, const uint8_t *value, const size_t size, uint16_t *crc); static bool read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing=true); static size_t capacity(); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 225a83e8d..ce24ecba6 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -1194,6 +1194,13 @@ #ifndef MSG_INFO_PROTOCOL #define MSG_INFO_PROTOCOL _UxGT("Protocol") #endif +#ifndef MSG_INFO_RUNAWAY_OFF + #define MSG_INFO_RUNAWAY_OFF _UxGT("Runaway Watch: OFF") +#endif +#ifndef MSG_INFO_RUNAWAY_ON + #define MSG_INFO_RUNAWAY_ON _UxGT("Runaway Watch: ON") +#endif + #ifndef MSG_CASE_LIGHT #define MSG_CASE_LIGHT _UxGT("Case Light") #endif diff --git a/Marlin/src/lcd/menu/menu_info.cpp b/Marlin/src/lcd/menu/menu_info.cpp index 7732bd7eb..ac3e72028 100644 --- a/Marlin/src/lcd/menu/menu_info.cpp +++ b/Marlin/src/lcd/menu/menu_info.cpp @@ -102,6 +102,7 @@ void menu_info_thermistors() { char buffer[21]; // for STATIC_PAIR_P START_SCREEN(); + #if EXTRUDERS #define THERMISTOR_ID TEMP_SENSOR_0 #include "../thermistornames.h" @@ -155,14 +156,57 @@ void menu_info_thermistors() { STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_5_MAXTEMP), SS_LEFT); #endif + #if EXTRUDERS + { + STATIC_ITEM( + #if WATCH_HOTENDS + MSG_INFO_RUNAWAY_ON + #else + MSG_INFO_RUNAWAY_OFF + #endif + , SS_LEFT + ); + } + #endif + #if HAS_HEATED_BED + { #undef THERMISTOR_ID #define THERMISTOR_ID TEMP_SENSOR_BED #include "../thermistornames.h" STATIC_ITEM("TBed:" THERMISTOR_NAME, SS_INVERT); STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(BED_MINTEMP), SS_LEFT); STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(BED_MAXTEMP), SS_LEFT); + STATIC_ITEM( + #if WATCH_BED + MSG_INFO_RUNAWAY_ON + #else + MSG_INFO_RUNAWAY_OFF + #endif + , SS_LEFT + ); + } + #endif + + #if HAS_HEATED_CHAMBER + { + #undef THERMISTOR_ID + #define THERMISTOR_ID TEMP_SENSOR_CHAMBER + #include "../thermistornames.h" + STATIC_ITEM("TCham:" THERMISTOR_NAME, SS_INVERT); + STATIC_PAIR_P(MSG_INFO_MIN_TEMP, STRINGIFY(CHAMBER_MINTEMP), SS_LEFT); + STATIC_PAIR_P(MSG_INFO_MAX_TEMP, STRINGIFY(CHAMBER_MAXTEMP), SS_LEFT); + STATIC_ITEM( + #if WATCH_CHAMBER + MSG_INFO_RUNAWAY_ON + #else + MSG_INFO_RUNAWAY_OFF + #endif + , SS_LEFT + ); + } #endif + END_SCREEN(); }