Display auto deplete as not available if filament sensor is disabled.

This commit is contained in:
Marek Bel 2018-11-05 17:43:07 +01:00
parent ef5be690fb
commit e95c2ad592
3 changed files with 23 additions and 13 deletions

View file

@ -269,7 +269,7 @@ void mmu_loop(void)
if (!mmu_finda && CHECK_FINDA && fsensor_enabled) {
fsensor_stop_and_save_print();
enquecommand_front_P(PSTR("FSENSOR_RECOVER")); //then recover
if (lcd_autoDeplete) enquecommand_front_P(PSTR("M600 AUTO")); //save print and run M600 command
if (lcd_autoDepleteEnabled()) enquecommand_front_P(PSTR("M600 AUTO")); //save print and run M600 command
else enquecommand_front_P(PSTR("M600")); //save print and run M600 command
}
mmu_state = 1;

View file

@ -90,7 +90,7 @@ unsigned long display_time; //just timer for showing pid finished message on lcd
float pid_temp = DEFAULT_PID_TEMP;
static bool forceMenuExpire = false;
bool lcd_autoDeplete;
static bool lcd_autoDeplete;
static float manual_feedrate[] = MANUAL_FEEDRATE;
@ -4423,6 +4423,11 @@ static void lcd_wizard_load()
gcode_M701();
}
bool lcd_autoDepleteEnabled()
{
return (lcd_autoDeplete && fsensor_enabled);
}
//! @brief Printer first run wizard (Selftest and calibration)
//!
//!
@ -4685,6 +4690,18 @@ while(0)
#define SETTINGS_FILAMENT_SENSOR do{}while(0)
#endif //FILAMENT_SENSOR
#define SETTINGS_AUTO_DEPLETE \
do\
{\
if (mmu_enabled)\
{\
if (!fsensor_enabled) MENU_ITEM_TEXT_P(_i("Auto deplete[N/A]"));\
else if (lcd_autoDeplete) MENU_ITEM_FUNCTION_P(_i("Auto deplete [on]"), auto_deplete_switch);\
else MENU_ITEM_FUNCTION_P(_i("Auto deplete[off]"), auto_deplete_switch);\
}\
}\
while(0)\
#ifdef TMC2130
#define SETTINGS_SILENT_MODE \
do\
@ -4812,11 +4829,7 @@ static void lcd_settings_menu()
SETTINGS_FILAMENT_SENSOR;
if (mmu_enabled)
{
if (lcd_autoDeplete) MENU_ITEM_FUNCTION_P(_i("Auto deplete [on]"), auto_deplete_switch);
else MENU_ITEM_FUNCTION_P(_i("Auto deplete[off]"), auto_deplete_switch);
}
SETTINGS_AUTO_DEPLETE;
if (fans_check_enabled == true)
MENU_ITEM_FUNCTION_P(_i("Fans check [on]"), lcd_set_fan_check);////MSG_FANS_CHECK_ON c=17 r=1
@ -5927,11 +5940,8 @@ static void lcd_tune_menu()
MENU_ITEM_FUNCTION_P(_T(MSG_FSENSOR_ON), lcd_fsensor_state_set);
}
#endif //FILAMENT_SENSOR
if (mmu_enabled)
{
if (lcd_autoDeplete) MENU_ITEM_FUNCTION_P(_i("Auto deplete [on]"), auto_deplete_switch);
else MENU_ITEM_FUNCTION_P(_i("Auto deplete[off]"), auto_deplete_switch);
}
SETTINGS_AUTO_DEPLETE;
#ifdef TMC2130
if(!farm_mode)

View file

@ -118,7 +118,6 @@ extern int8_t SilentModeMenu;
extern bool cancel_heatup;
extern bool isPrintPaused;
extern bool lcd_autoDeplete;
void lcd_ignore_click(bool b=true);
@ -174,6 +173,7 @@ void lcd_set_progress();
void lcd_language();
void lcd_wizard();
bool lcd_autoDepleteEnabled();
//! @brief Wizard state
enum class WizState : uint8_t