Implement the EEPROM_CHITCHAT option

This commit is contained in:
Scott Lahteine 2017-07-01 21:48:18 -05:00
parent dcec7178d1
commit cf96109056

View file

@ -655,10 +655,12 @@ void MarlinSettings::postprocess() {
EEPROM_WRITE(final_crc); EEPROM_WRITE(final_crc);
// Report storage size // Report storage size
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_ECHO_START(); SERIAL_ECHO_START();
SERIAL_ECHOPAIR("Settings Stored (", eeprom_size - (EEPROM_OFFSET)); SERIAL_ECHOPAIR("Settings Stored (", eeprom_size - (EEPROM_OFFSET));
SERIAL_ECHOPAIR(" bytes; crc ", final_crc); SERIAL_ECHOPAIR(" bytes; crc ", final_crc);
SERIAL_ECHOLNPGM(")"); SERIAL_ECHOLNPGM(")");
#endif
} }
#if ENABLED(UBL_SAVE_ACTIVE_ON_M500) #if ENABLED(UBL_SAVE_ACTIVE_ON_M500)
@ -689,10 +691,12 @@ void MarlinSettings::postprocess() {
stored_ver[0] = '?'; stored_ver[0] = '?';
stored_ver[1] = '\0'; stored_ver[1] = '\0';
} }
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_ECHO_START(); SERIAL_ECHO_START();
SERIAL_ECHOPGM("EEPROM version mismatch "); SERIAL_ECHOPGM("EEPROM version mismatch ");
SERIAL_ECHOPAIR("(EEPROM=", stored_ver); SERIAL_ECHOPAIR("(EEPROM=", stored_ver);
SERIAL_ECHOLNPGM(" Marlin=" EEPROM_VERSION ")"); SERIAL_ECHOLNPGM(" Marlin=" EEPROM_VERSION ")");
#endif
reset(); reset();
} }
else { else {
@ -1005,19 +1009,23 @@ void MarlinSettings::postprocess() {
if (working_crc == stored_crc) { if (working_crc == stored_crc) {
postprocess(); postprocess();
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_ECHO_START(); SERIAL_ECHO_START();
SERIAL_ECHO(version); SERIAL_ECHO(version);
SERIAL_ECHOPAIR(" stored settings retrieved (", eeprom_index - (EEPROM_OFFSET)); SERIAL_ECHOPAIR(" stored settings retrieved (", eeprom_index - (EEPROM_OFFSET));
SERIAL_ECHOPAIR(" bytes; crc ", working_crc); SERIAL_ECHOPAIR(" bytes; crc ", working_crc);
SERIAL_ECHOLNPGM(")"); SERIAL_ECHOLNPGM(")");
#endif
} }
else { else {
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_ERROR_START(); SERIAL_ERROR_START();
SERIAL_ERRORPGM("EEPROM CRC mismatch - (stored) "); SERIAL_ERRORPGM("EEPROM CRC mismatch - (stored) ");
SERIAL_ERROR(stored_crc); SERIAL_ERROR(stored_crc);
SERIAL_ERRORPGM(" != "); SERIAL_ERRORPGM(" != ");
SERIAL_ERROR(working_crc); SERIAL_ERROR(working_crc);
SERIAL_ERRORLNPGM(" (calculated)!"); SERIAL_ERRORLNPGM(" (calculated)!");
#endif
reset(); reset();
} }
@ -1029,24 +1037,32 @@ void MarlinSettings::postprocess() {
if (!ubl.sanity_check()) { if (!ubl.sanity_check()) {
SERIAL_EOL(); SERIAL_EOL();
#if ENABLED(EEPROM_CHITCHAT)
ubl.echo_name(); ubl.echo_name();
SERIAL_ECHOLNPGM(" initialized.\n"); SERIAL_ECHOLNPGM(" initialized.\n");
#endif
} }
else { else {
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_PROTOCOLPGM("?Can't enable "); SERIAL_PROTOCOLPGM("?Can't enable ");
ubl.echo_name(); ubl.echo_name();
SERIAL_PROTOCOLLNPGM("."); SERIAL_PROTOCOLLNPGM(".");
#endif
ubl.reset(); ubl.reset();
} }
if (ubl.state.storage_slot >= 0) { if (ubl.state.storage_slot >= 0) {
load_mesh(ubl.state.storage_slot); load_mesh(ubl.state.storage_slot);
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_ECHOPAIR("Mesh ", ubl.state.storage_slot); SERIAL_ECHOPAIR("Mesh ", ubl.state.storage_slot);
SERIAL_ECHOLNPGM(" loaded from storage."); SERIAL_ECHOLNPGM(" loaded from storage.");
#endif
} }
else { else {
ubl.reset(); ubl.reset();
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_ECHOLNPGM("UBL System reset()"); SERIAL_ECHOLNPGM("UBL System reset()");
#endif
} }
#endif #endif
} }
@ -1060,11 +1076,13 @@ void MarlinSettings::postprocess() {
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
#if ENABLED(EEPROM_CHITCHAT)
void ubl_invalid_slot(const int s) { void ubl_invalid_slot(const int s) {
SERIAL_PROTOCOLLNPGM("?Invalid slot."); SERIAL_PROTOCOLLNPGM("?Invalid slot.");
SERIAL_PROTOCOL(s); SERIAL_PROTOCOL(s);
SERIAL_PROTOCOLLNPGM(" mesh slots available."); SERIAL_PROTOCOLLNPGM(" mesh slots available.");
} }
#endif
int MarlinSettings::calc_num_meshes() { int MarlinSettings::calc_num_meshes() {
//obviously this will get more sophisticated once we've added an actual MAT //obviously this will get more sophisticated once we've added an actual MAT
@ -1079,11 +1097,13 @@ void MarlinSettings::postprocess() {
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
const int a = calc_num_meshes(); const int a = calc_num_meshes();
if (!WITHIN(slot, 0, a - 1)) { if (!WITHIN(slot, 0, a - 1)) {
#if ENABLED(EEPROM_CHITCHAT)
ubl_invalid_slot(a); ubl_invalid_slot(a);
SERIAL_PROTOCOLPAIR("E2END=", E2END); SERIAL_PROTOCOLPAIR("E2END=", E2END);
SERIAL_PROTOCOLPAIR(" meshes_end=", meshes_end); SERIAL_PROTOCOLPAIR(" meshes_end=", meshes_end);
SERIAL_PROTOCOLLNPAIR(" slot=", slot); SERIAL_PROTOCOLLNPAIR(" slot=", slot);
SERIAL_EOL(); SERIAL_EOL();
#endif
return; return;
} }
@ -1094,7 +1114,9 @@ void MarlinSettings::postprocess() {
// Write crc to MAT along with other data, or just tack on to the beginning or end // Write crc to MAT along with other data, or just tack on to the beginning or end
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_PROTOCOLLNPAIR("Mesh saved in slot ", slot); SERIAL_PROTOCOLLNPAIR("Mesh saved in slot ", slot);
#endif
#else #else
@ -1110,7 +1132,9 @@ void MarlinSettings::postprocess() {
const int16_t a = settings.calc_num_meshes(); const int16_t a = settings.calc_num_meshes();
if (!WITHIN(slot, 0, a - 1)) { if (!WITHIN(slot, 0, a - 1)) {
#if ENABLED(EEPROM_CHITCHAT)
ubl_invalid_slot(a); ubl_invalid_slot(a);
#endif
return; return;
} }
@ -1121,7 +1145,9 @@ void MarlinSettings::postprocess() {
// Compare crc with crc from MAT, or read from end // Compare crc with crc from MAT, or read from end
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_PROTOCOLLNPAIR("Mesh loaded from slot ", slot); SERIAL_PROTOCOLLNPAIR("Mesh loaded from slot ", slot);
#endif
#else #else
@ -1345,8 +1371,10 @@ void MarlinSettings::reset() {
postprocess(); postprocess();
#if ENABLED(EEPROM_CHITCHAT)
SERIAL_ECHO_START(); SERIAL_ECHO_START();
SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded"); SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded");
#endif
} }
#if DISABLED(DISABLE_M503) #if DISABLED(DISABLE_M503)