|
@@ -553,8 +553,12 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move)
|
|
|
response = mmu_get_response(move); //wait for "ok" from mmu
|
|
|
if (!response) { //no "ok" was received in reserved time frame, user will fix the issue on mmu unit
|
|
|
if (!mmu_print_saved) { //first occurence, we are saving current position, park print head in certain position and disable nozzle heater
|
|
|
- eeprom_update_byte((uint8_t*)EEPROM_MMU_FAIL, eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL) + 1);
|
|
|
- eeprom_update_word((uint16_t*)EEPROM_MMU_FAIL_TOT, eeprom_read_word((uint16_t*)EEPROM_MMU_FAIL_TOT) + 1);
|
|
|
+
|
|
|
+ uint8_t mmu_fail = eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL);
|
|
|
+ uint16_t mmu_fail_tot = eeprom_read_word((uint16_t*)EEPROM_MMU_FAIL_TOT);
|
|
|
+ if(mmu_fail < 255) eeprom_update_byte((uint8_t*)EEPROM_MMU_FAIL, mmu_fail + 1);
|
|
|
+ if(mmu_fail_tot < 65535) eeprom_update_word((uint16_t*)EEPROM_MMU_FAIL_TOT, mmu_fail_tot + 1);
|
|
|
+
|
|
|
if (lcd_update_enabled) {
|
|
|
lcd_update_was_enabled = true;
|
|
|
lcd_update_enable(false);
|
|
@@ -1336,8 +1340,10 @@ void mmu_continue_loading()
|
|
|
manage_response(true, true, MMU_LOAD_MOVE);
|
|
|
}
|
|
|
if (PIN_GET(MMU_IDLER_SENSOR_PIN) != 0) {
|
|
|
- eeprom_update_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL, eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL) + 1);
|
|
|
- eeprom_update_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT, eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT) + 1);
|
|
|
+ uint8_t mmu_load_fail = eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL);
|
|
|
+ uint16_t mmu_load_fail_tot = eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT);
|
|
|
+ if(mmu_load_fail < 255) eeprom_update_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL, mmu_load_fail + 1);
|
|
|
+ if(mmu_load_fail_tot < 65535) eeprom_update_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT, mmu_load_fail_tot + 1);
|
|
|
char cmd[3];
|
|
|
//pause print, show error message and then repeat last T-code
|
|
|
stop_and_save_print_to_ram(0, 0);
|