|
@@ -869,18 +869,23 @@ void lcdui_print_status_line(void)
|
|
|
lcd_print(' ');
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
void lcdui_print_status_screen(void)
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
lcd_set_cursor(0, 0);
|
|
|
|
|
@@ -1767,14 +1772,18 @@ static void lcd_cooldown()
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
void lcd_menu_extruder_info()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
int fan_speed_RPM[2];
|
|
|
|
|
|
fan_speed_RPM[0] = 60*fan_speed[0];
|
|
@@ -1787,9 +1796,9 @@ void lcd_menu_extruder_info()
|
|
|
"%S: %4d RPM\n"
|
|
|
"%S: %4d RPM\n"
|
|
|
),
|
|
|
- _i("Nozzle FAN"),
|
|
|
+ _i("Nozzle FAN"),
|
|
|
fan_speed_RPM[0],
|
|
|
- _i("Print FAN"),
|
|
|
+ _i("Print FAN"),
|
|
|
fan_speed_RPM[1]
|
|
|
);
|
|
|
|
|
@@ -1811,8 +1820,8 @@ void lcd_menu_extruder_info()
|
|
|
if (!moves_planned() && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal))
|
|
|
pat9125_update();
|
|
|
lcd_printf_P(_N(
|
|
|
- "Fil. Xd:%3d Yd:%3d\n"
|
|
|
- "Int: %3d Shut: %3d"
|
|
|
+ "Fil. Xd:%3d Yd:%3d\n"
|
|
|
+ "Int: %3d Shut: %3d"
|
|
|
),
|
|
|
pat9125_x, pat9125_y,
|
|
|
pat9125_b, pat9125_s
|
|
@@ -1824,152 +1833,163 @@ void lcd_menu_extruder_info()
|
|
|
menu_back_if_clicked();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
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_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();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_fails_stats_mmu_print()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
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_home();
|
|
|
- lcd_printf_P(PSTR("%S\n" " %S %-3d\n" " %S %-3d"), _i("Last print failures"), _i("MMU fails"), fails, _i("MMU load fails"), load_fails);
|
|
|
+ lcd_printf_P(PSTR("%S\n" " %S %-3d\n" " %S %-3d"), _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()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
mmu_command(MmuCmd::S3);
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
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_home();
|
|
|
- lcd_printf_P(PSTR("%S\n" " %S %-3d\n" " %S %-3d\n" " %S %-3d"), _i("Total failures"), _i("MMU fails"), fails, _i("MMU load fails"), load_fails, _i("MMU power fails"), mmu_power_failures);
|
|
|
+ lcd_printf_P(PSTR("%S\n" " %S %-3d\n" " %S %-3d\n" " %S %-3d"), _i("Total failures"), _i("MMU fails"), fails, _i("MMU load fails"), load_fails, _i("MMU power fails"), mmu_power_failures);
|
|
|
menu_back_if_clicked_fb();
|
|
|
}
|
|
|
|
|
|
#if defined(TMC2130) && defined(FILAMENT_SENSOR)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_fails_stats_total()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
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_home();
|
|
|
- lcd_printf_P(PSTR("%S\n" " %S %-3d\n" " %S %-3d\n" " %S X %-3d Y %-3d"), _i("Total failures"), _i("Power failures"), power, _i("Filam. runouts"), filam, _i("Crash"), crashX, crashY);
|
|
|
+ lcd_printf_P(PSTR("%S\n" " %S %-3d\n" " %S %-3d\n" " %S X %-3d Y %-3d"), _i("Total failures"), _i("Power failures"), power, _i("Filam. runouts"), filam, _i("Crash"), crashX, crashY);
|
|
|
menu_back_if_clicked_fb();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_fails_stats_print()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
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);
|
|
|
lcd_home();
|
|
|
- lcd_printf_P(PSTR("%S\n" " %S %-3d\n" " %S %-3d\n" " %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("%S\n" " %S %-3d\n" " %S %-3d\n" " %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();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- * @brief Open fail statistics menu
|
|
|
- *
|
|
|
- * This version of function is used, when there is filament sensor,
|
|
|
- * power failure and crash detection.
|
|
|
- * There are Last print and Total menu items.
|
|
|
- */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_fails_stats()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
MENU_BEGIN();
|
|
|
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
|
|
- MENU_ITEM_SUBMENU_P(_i("Last print"), lcd_menu_fails_stats_print);
|
|
|
- MENU_ITEM_SUBMENU_P(_i("Total"), lcd_menu_fails_stats_total);
|
|
|
+ MENU_ITEM_SUBMENU_P(_i("Last print"), lcd_menu_fails_stats_print);
|
|
|
+ MENU_ITEM_SUBMENU_P(_i("Total"), lcd_menu_fails_stats_total);
|
|
|
MENU_END();
|
|
|
}
|
|
|
|
|
|
#elif defined(FILAMENT_SENSOR)
|
|
|
-
|
|
|
- * @brief Print last print and total filament run outs
|
|
|
- *
|
|
|
- * This version of function is used, when there is filament sensor,
|
|
|
- * but no other sensors (e.g. power failure, crash detection).
|
|
|
- *
|
|
|
- * Example screen:
|
|
|
- * @code
|
|
|
- * 01234567890123456789
|
|
|
- * Last print failures
|
|
|
- * Filam. runouts 0
|
|
|
- * Total failures
|
|
|
- * Filam. runouts 5
|
|
|
- * @endcode
|
|
|
- */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_fails_stats()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
uint8_t filamentLast = eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT);
|
|
|
uint16_t filamentTotal = eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT);
|
|
|
lcd_home();
|
|
|
- lcd_printf_P(PSTR("Last print failures\n" " Filam. runouts %-3d\n" "Total failures\n" " Filam. runouts %-3d"), filamentLast, filamentTotal);
|
|
|
+ lcd_printf_P(PSTR("Last print failures\n" " Filam. runouts %-3d\n" "Total failures\n" " Filam. runouts %-3d"), filamentLast, filamentTotal);
|
|
|
menu_back_if_clicked();
|
|
|
}
|
|
|
#else
|
|
|
static void lcd_menu_fails_stats()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
MENU_BEGIN();
|
|
|
MENU_ITEM_BACK_P(_T(MSG_MAIN));
|
|
@@ -1985,38 +2005,47 @@ extern char* __malloc_heap_start;
|
|
|
extern char* __malloc_heap_end;
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_debug()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
#ifdef DEBUG_STACK_MONITOR
|
|
|
lcd_home();
|
|
|
- lcd_printf_P(PSTR("RAM statistics\n" " SP_min: 0x%04x\n" " heap_start: 0x%04x\n" " heap_end: 0x%04x"), SP_min, __malloc_heap_start, __malloc_heap_end);
|
|
|
+ lcd_printf_P(PSTR("RAM statistics\n" " SP_min: 0x%04x\n" " heap_start: 0x%04x\n" " heap_end: 0x%04x"), SP_min, __malloc_heap_start, __malloc_heap_end);
|
|
|
#endif
|
|
|
|
|
|
menu_back_if_clicked_fb();
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_temperatures()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
lcd_home();
|
|
|
- lcd_printf_P(PSTR(" %S: %d%c \n" " %S: %d%c \n"), _i("Nozzle"), (int)current_temperature[0], '\x01', _i("Bed"), (int)current_temperature_bed, '\x01');
|
|
|
+ lcd_printf_P(PSTR(" %S: %d%c \n" " %S: %d%c \n"), _i("Nozzle"), (int)current_temperature[0], '\x01', _i("Bed"), (int)current_temperature_bed, '\x01');
|
|
|
#ifdef AMBIENT_THERMISTOR
|
|
|
- lcd_printf_P(PSTR(" %S: %d%c\n" " PINDA: %d%c"), _i("Ambient"), (int)current_temperature_ambient, '\x01', (int)current_temperature_pinda, '\x01');
|
|
|
+ lcd_printf_P(PSTR(" %S: %d%c\n" " %S: %d%c"), _i("Ambient"), (int)current_temperature_ambient, '\x01', _i("PINDA"), (int)current_temperature_pinda, '\x01');
|
|
|
#else
|
|
|
- lcd_printf_P(PSTR(" PINDA: %d%c"), (int)current_temperature_pinda, '\x01');
|
|
|
+ lcd_printf_P(PSTR(" %S: %d%c"), _i("PINDA"), (int)current_temperature_pinda, '\x01');
|
|
|
#endif
|
|
|
|
|
|
menu_back_if_clicked();
|
|
@@ -2027,34 +2056,43 @@ static void lcd_menu_temperatures()
|
|
|
#define VOLT_DIV_R2 2370
|
|
|
#define VOLT_DIV_FAC ((float)VOLT_DIV_R2 / (VOLT_DIV_R2 + VOLT_DIV_R1))
|
|
|
#define VOLT_DIV_REF 5
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_voltages()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_timeoutToStatus.stop();
|
|
|
float volt_pwr = VOLT_DIV_REF * ((float)current_voltage_raw_pwr / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC;
|
|
|
float volt_bed = VOLT_DIV_REF * ((float)current_voltage_raw_bed / (1023 * OVERSAMPLENR)) / VOLT_DIV_FAC;
|
|
|
lcd_home();
|
|
|
- lcd_printf_P(PSTR(" PWR: %d.%01dV\n" " BED: %d.%01dV"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed)));
|
|
|
+ lcd_printf_P(PSTR(" $S: %d.%01dV\n" " $S: %d.%01dV"), _i("PWR"), (int)volt_pwr, (int)(10*fabs(volt_pwr - (int)volt_pwr)), _i("Bed"), (int)volt_bed, (int)(10*fabs(volt_bed - (int)volt_bed)));
|
|
|
menu_back_if_clicked();
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
#ifdef TMC2130
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_belt_status()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_home();
|
|
|
- lcd_printf_P(PSTR("%S\n" " X %d\n" " Y %d"), _i("Belt status"), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_X)), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y)));
|
|
|
+ lcd_printf_P(PSTR("%S\n" " X %d\n" " Y %d"), _i("Belt status"), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_X)), eeprom_read_word((uint16_t*)(EEPROM_BELTSTATUS_Y)));
|
|
|
menu_back_if_clicked();
|
|
|
}
|
|
|
#endif
|
|
@@ -2074,6 +2112,7 @@ static void lcd_menu_test_restore()
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+
|
|
|
static void lcd_preheat_menu()
|
|
|
{
|
|
|
MENU_BEGIN();
|
|
@@ -2099,6 +2138,78 @@ static void lcd_preheat_menu()
|
|
|
MENU_END();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_support_menu()
|
|
|
{
|
|
|
typedef struct
|
|
@@ -2160,8 +2271,8 @@ static void lcd_support_menu()
|
|
|
MENU_ITEM_BACK_P(STR_SEPARATOR);
|
|
|
if (mmu_enabled)
|
|
|
{
|
|
|
- MENU_ITEM_BACK_P(_i("MMU2 connected"));
|
|
|
- MENU_ITEM_BACK_P(PSTR(" FW:"));
|
|
|
+ MENU_ITEM_BACK_P(_i("MMU2 connected"));
|
|
|
+ MENU_ITEM_BACK_P(PSTR(" FW:"));
|
|
|
if (((menu_item - 1) == menu_line) && lcd_draw_update)
|
|
|
{
|
|
|
lcd_set_cursor(6, menu_row);
|
|
@@ -2178,7 +2289,7 @@ static void lcd_support_menu()
|
|
|
|
|
|
if (_md->is_flash_air) {
|
|
|
MENU_ITEM_BACK_P(STR_SEPARATOR);
|
|
|
- MENU_ITEM_BACK_P(PSTR("FlashAir IP Addr:"));
|
|
|
+ MENU_ITEM_BACK_P(PSTR("FlashAir IP Addr:"));
|
|
|
|
|
|
}
|
|
|
|
|
@@ -2199,7 +2310,7 @@ static void lcd_support_menu()
|
|
|
#endif
|
|
|
|
|
|
#ifdef DEBUG_BUILD
|
|
|
- MENU_ITEM_SUBMENU_P(PSTR("Debug"), lcd_menu_debug);
|
|
|
+ MENU_ITEM_SUBMENU_P(PSTR("Debug"), lcd_menu_debug);
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
@@ -2853,9 +2964,9 @@ if(0)
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -2864,9 +2975,9 @@ if(0)
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -2874,12 +2985,6 @@ void lcd_menu_statistics()
|
|
|
{
|
|
|
if (IS_SD_PRINTING)
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
const float _met = ((float)total_filament_used) / (100000.f);
|
|
|
const uint32_t _t = (_millis() - starttime) / 1000ul;
|
|
|
const int _h = _t / 3600;
|
|
@@ -2892,17 +2997,11 @@ void lcd_menu_statistics()
|
|
|
"%8.2fm\n"
|
|
|
"%S:\n"
|
|
|
"%2dh %02dm %02ds"
|
|
|
- ),_i("Filament used"), _met, _i("Print time"), _h, _m, _s);
|
|
|
+ ),_i("Filament used"), _met, _i("Print time"), _h, _m, _s);
|
|
|
menu_back_if_clicked_fb();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
unsigned long _filament = eeprom_read_dword((uint32_t *)EEPROM_FILAMENTUSED);
|
|
|
unsigned long _time = eeprom_read_dword((uint32_t *)EEPROM_TOTALTIME);
|
|
|
uint8_t _hours, _minutes;
|
|
@@ -3005,17 +3104,20 @@ static void lcd_move_e()
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_xyz_y_min()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
float distanceMin[2];
|
|
|
count_xyz_details(distanceMin);
|
|
|
lcd_home();
|
|
@@ -3025,15 +3127,15 @@ static void lcd_menu_xyz_y_min()
|
|
|
"%S:\n"
|
|
|
"%S:"
|
|
|
),
|
|
|
- _i("Y distance from min"),
|
|
|
+ _i("Y distance from min"),
|
|
|
separator,
|
|
|
- _i("Left"),
|
|
|
- _i("Right")
|
|
|
+ _i("Left"),
|
|
|
+ _i("Right")
|
|
|
);
|
|
|
for (uint8_t i = 0; i < 2; i++)
|
|
|
{
|
|
|
lcd_set_cursor(11,2+i);
|
|
|
- if (distanceMin[i] >= 200) lcd_puts_P(_N("N/A"));
|
|
|
+ if (distanceMin[i] >= 200) lcd_puts_P(_N("N/A"));
|
|
|
else lcd_printf_P(_N("%6.2fmm"), distanceMin[i]);
|
|
|
}
|
|
|
if (lcd_clicked())
|
|
@@ -3046,14 +3148,19 @@ float _deg(float rad)
|
|
|
return rad * 180 / M_PI;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_xyz_skew()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
float angleDiff = eeprom_read_float((float*)(EEPROM_XYZ_CAL_SKEW));
|
|
|
lcd_home();
|
|
|
lcd_printf_P(_N(
|
|
@@ -3062,10 +3169,10 @@ static void lcd_menu_xyz_skew()
|
|
|
"%S: %5.2f\x01\n"
|
|
|
"%S: %5.2f\x01"
|
|
|
),
|
|
|
- _i("Measured skew"),
|
|
|
+ _i("Measured skew"),
|
|
|
separator,
|
|
|
- _i("Slight skew"), _deg(bed_skew_angle_mild),
|
|
|
- _i("Severe skew"), _deg(bed_skew_angle_extreme)
|
|
|
+ _i("Slight skew"), _deg(bed_skew_angle_mild),
|
|
|
+ _i("Severe skew"), _deg(bed_skew_angle_extreme)
|
|
|
);
|
|
|
if (angleDiff < 100){
|
|
|
lcd_set_cursor(15,0);
|
|
@@ -3078,22 +3185,23 @@ static void lcd_menu_xyz_skew()
|
|
|
if (lcd_clicked())
|
|
|
menu_goto(lcd_menu_xyz_offset, 0, true, true);
|
|
|
}
|
|
|
-
|
|
|
- * @brief Show measured bed offset from expected position
|
|
|
- */
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
static void lcd_menu_xyz_offset()
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
lcd_set_cursor(0,0);
|
|
|
lcd_puts_P(_i("[0;0] point offset"));
|
|
|
lcd_puts_at_P(0, 1, separator);
|
|
|
- lcd_puts_at_P(0, 2, PSTR("X"));
|
|
|
- lcd_puts_at_P(0, 3, PSTR("Y"));
|
|
|
+ lcd_puts_at_P(0, 2, PSTR("X"));
|
|
|
+ lcd_puts_at_P(0, 3, PSTR("Y"));
|
|
|
|
|
|
float vec_x[2];
|
|
|
float vec_y[2];
|
|
@@ -3252,6 +3360,18 @@ void lcd_adjust_bed_reset(void)
|
|
|
_md->status = 0;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
void lcd_adjust_bed(void)
|
|
|
{
|
|
|
_menu_data_adjust_bed_t* _md = (_menu_data_adjust_bed_t*)&(menu_data[0]);
|
|
@@ -3289,6 +3409,16 @@ void lcd_adjust_bed(void)
|
|
|
MENU_END();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
void pid_extruder()
|
|
|
{
|
|
|
lcd_clear();
|