|
@@ -38,7 +38,7 @@
|
|
|
#include "mmu.h"
|
|
|
|
|
|
#include "static_assert.h"
|
|
|
-
|
|
|
+#include "io_atmega2560.h"
|
|
|
|
|
|
extern bool fans_check_enabled;
|
|
|
|
|
@@ -1955,7 +1955,7 @@ static void lcd_menu_fails_stats_print()
|
|
|
lcd_printf_P(PSTR(ESC_H(0,0) "%S" ESC_H(1,1) "%S %-3d" ESC_H(1,2) "%S %-3d" ESC_H(1,3) "%S X %-3d Y %-3d"), _i("Last print failures"), _i("Power failures"), power, _i("Filam. runouts"), filam, _i("Crash"), crashX, crashY);
|
|
|
menu_back_if_clicked_fb();
|
|
|
}
|
|
|
-/*
|
|
|
+
|
|
|
static void lcd_menu_fails_stats_mmu_print()
|
|
|
{
|
|
|
//01234567890123456789
|
|
@@ -1965,33 +1965,30 @@ static void lcd_menu_fails_stats_mmu_print()
|
|
|
// Crash X 000 Y 000
|
|
|
//////////////////////
|
|
|
lcd_timeoutToStatus.stop(); //infinite timeout
|
|
|
- uint8_t power = eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT);
|
|
|
- uint8_t filam = eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT);
|
|
|
- uint8_t crashX = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X);
|
|
|
- uint8_t crashY = eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_Y);
|
|
|
+ uint8_t fails = eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL);
|
|
|
+ uint16_t load_fails = eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL);
|
|
|
// lcd_printf_P(PSTR(ESC_H(0,0) "Last print failures" ESC_H(1,1) "Power failures %-3d" ESC_H(1,2) "Filam. runouts %-3d" ESC_H(1,3) "Crash X %-3d Y %-3d"), power, filam, crashX, crashY);
|
|
|
- lcd_printf_P(PSTR(ESC_H(0,0) "%S" ESC_H(1,1) "%S %-3d" ESC_H(1,2) "%S %-3d" ESC_H(1,3) "%S X %-3d Y %-3d"), _i("Last print failures"), _i("Power failures"), power, _i("Filam. runouts"), filam, _i("Crash"), crashX, crashY);
|
|
|
+ lcd_printf_P(PSTR(ESC_H(0,0) "%S" ESC_H(1,1) "%S %-3d" ESC_H(1,2) "%S %-3d" ESC_H(1,3)), _i("Last print failures"), _i("MMU fails"), fails, _i("MMU load fails"), load_fails);
|
|
|
menu_back_if_clicked_fb();
|
|
|
}
|
|
|
|
|
|
static void lcd_menu_fails_stats_mmu_total()
|
|
|
{
|
|
|
//01234567890123456789
|
|
|
-//Total failures
|
|
|
+//Last print failures
|
|
|
// Power failures 000
|
|
|
// Filam. runouts 000
|
|
|
// Crash X 000 Y 000
|
|
|
//////////////////////
|
|
|
lcd_timeoutToStatus.stop(); //infinite timeout
|
|
|
- uint16_t power = eeprom_read_word((uint16_t*)EEPROM_POWER_COUNT_TOT);
|
|
|
- uint16_t filam = eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT);
|
|
|
- uint16_t crashX = eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_X_TOT);
|
|
|
- uint16_t crashY = eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_Y_TOT);
|
|
|
-// lcd_printf_P(PSTR(ESC_H(0,0) "Total failures" ESC_H(1,1) "Power failures %-3d" ESC_H(1,2) "Filam. runouts %-3d" ESC_H(1,3) "Crash X %-3d Y %-3d"), power, filam, crashX, crashY);
|
|
|
- lcd_printf_P(PSTR(ESC_H(0,0) "%S" ESC_H(1,1) "%S %-3d" ESC_H(1,2) "%S %-3d" ESC_H(1,3) "%S X %-3d Y %-3d"), _i("Total failures"), _i("Power failures"), power, _i("Filam. runouts"), filam, _i("Crash"), crashX, crashY);
|
|
|
+ uint8_t fails = eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL_TOT);
|
|
|
+ uint16_t load_fails = eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL_TOT);
|
|
|
+// lcd_printf_P(PSTR(ESC_H(0,0) "Last print failures" ESC_H(1,1) "Power failures %-3d" ESC_H(1,2) "Filam. runouts %-3d" ESC_H(1,3) "Crash X %-3d Y %-3d"), power, filam, crashX, crashY);
|
|
|
+ lcd_printf_P(PSTR(ESC_H(0,0) "%S" ESC_H(1,1) "%S %-3d" ESC_H(1,2) "%S %-3d" ESC_H(1,3)), _i("Total failures"), _i("MMU fails"), fails, _i("MMU load fails"), load_fails);
|
|
|
menu_back_if_clicked_fb();
|
|
|
}
|
|
|
-*/
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* @brief Open fail statistics menu
|
|
|
*
|
|
@@ -2007,6 +2004,16 @@ static void lcd_menu_fails_stats()
|
|
|
MENU_ITEM_SUBMENU_P(_i("Total"), lcd_menu_fails_stats_total);
|
|
|
MENU_END();
|
|
|
}
|
|
|
+
|
|
|
+static void lcd_menu_fails_stats_mmu()
|
|
|
+{
|
|
|
+ MENU_BEGIN();
|
|
|
+ MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
|
|
+ MENU_ITEM_SUBMENU_P(_i("Last print"), lcd_menu_fails_stats_mmu_print);
|
|
|
+ MENU_ITEM_SUBMENU_P(_i("Total"), lcd_menu_fails_stats_mmu_total);
|
|
|
+ MENU_END();
|
|
|
+}
|
|
|
+
|
|
|
#elif defined(FILAMENT_SENSOR)
|
|
|
/**
|
|
|
* @brief Print last print and total filament run outs
|
|
@@ -3634,6 +3641,27 @@ if(LCD_CLICKED)
|
|
|
}
|
|
|
#endif // defined TMC2130
|
|
|
|
|
|
+#ifdef TMC2130
|
|
|
+static void lcd_show_idler_state()
|
|
|
+{
|
|
|
+lcd_set_cursor(0, 0);
|
|
|
+lcd_puts_P((PSTR("Idler state")));
|
|
|
+lcd_set_cursor(0, 2);
|
|
|
+lcd_puts_P((PIN_GET(MMU_IDLER_SENSOR_PIN) == 0)?(PSTR("ON")):(PSTR("OFF"))); // !!! both strings must have same length (due to dynamic refreshing)
|
|
|
+}
|
|
|
+
|
|
|
+static void lcd_menu_show_idler_state()
|
|
|
+{
|
|
|
+lcd_timeoutToStatus.stop();
|
|
|
+lcd_show_idler_state();
|
|
|
+if(LCD_CLICKED)
|
|
|
+ {
|
|
|
+ lcd_timeoutToStatus.start();
|
|
|
+ menu_back();
|
|
|
+ }
|
|
|
+}
|
|
|
+#endif // defined TMC2130
|
|
|
+
|
|
|
|
|
|
|
|
|
void prusa_statistics(int _message, uint8_t _fil_nr) {
|
|
@@ -5900,7 +5928,10 @@ static void lcd_main_menu()
|
|
|
#if defined(TMC2130) || defined(FILAMENT_SENSOR)
|
|
|
MENU_ITEM_SUBMENU_P(_i("Fail stats"), lcd_menu_fails_stats);
|
|
|
#endif
|
|
|
-
|
|
|
+ if (mmu_enabled) {
|
|
|
+ MENU_ITEM_SUBMENU_P(_i("Fail stats MMU"), lcd_menu_fails_stats_mmu);
|
|
|
+ MENU_ITEM_SUBMENU_P(_i("Show idler state"), lcd_menu_show_idler_state);
|
|
|
+ }
|
|
|
MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT c=0 r=0
|
|
|
#ifdef LCD_TEST
|
|
|
MENU_ITEM_SUBMENU_P(_i("W25x20CL init"), lcd_test_menu);////MSG_SUPPORT c=0 r=0
|