Make all choice menus return consistent values
Such that left = 0, middle = 1, and right = 2
This commit is contained in:
parent
37bfd8ecd1
commit
031c588802
|
|
@ -648,12 +648,11 @@ void crashdet_detected(uint8_t mask)
|
|||
lcd_puts_P(_T(MSG_RESUME_PRINT));
|
||||
lcd_putc('?');
|
||||
bool yesno = lcd_show_yes_no_and_wait(false);
|
||||
lcd_update_enable(true);
|
||||
if (yesno)
|
||||
if (yesno == LEFT_BUTTON_CHOICE)
|
||||
{
|
||||
enquecommand_P(PSTR("CRASH_RECOVER"));
|
||||
}
|
||||
else
|
||||
else // MIDDLE_BUTTON_CHOICE
|
||||
{
|
||||
enquecommand_P(PSTR("CRASH_CANCEL"));
|
||||
}
|
||||
|
|
@ -1583,7 +1582,7 @@ void setup()
|
|||
#ifdef UVLO_SUPPORT
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) != 0) { //previous print was terminated by UVLO
|
||||
/*
|
||||
if (lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false)) recover_print();
|
||||
if (!lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false)) recover_print();
|
||||
else {
|
||||
eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0);
|
||||
lcd_update_enable(true);
|
||||
|
|
@ -1605,8 +1604,9 @@ void setup()
|
|||
#ifdef DEBUG_UVLO_AUTOMATIC_RECOVER
|
||||
puts_P(_N("Normal recovery!"));
|
||||
#endif
|
||||
if ( lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false) ) recover_print(0);
|
||||
else {
|
||||
if ( lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false) == LEFT_BUTTON_CHOICE) {
|
||||
recover_print(0);
|
||||
} else {
|
||||
eeprom_update_byte((uint8_t*)EEPROM_UVLO, 0);
|
||||
lcd_update_enable(true);
|
||||
lcd_update(2);
|
||||
|
|
@ -3289,9 +3289,11 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
|||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
#ifdef STEEL_SHEET
|
||||
bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false);
|
||||
if(result) lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_STEEL_SHEET));
|
||||
if(result == LEFT_BUTTON_CHOICE) {
|
||||
lcd_show_fullscreen_message_and_wait_P(_T(MSG_REMOVE_STEEL_SHEET));
|
||||
}
|
||||
#endif //STEEL_SHEET
|
||||
lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER));
|
||||
lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER));
|
||||
KEEPALIVE_STATE(IN_HANDLER);
|
||||
lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1));
|
||||
lcd_puts_at_P(0,3,_n("1/4"));
|
||||
|
|
@ -3585,13 +3587,13 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
|
|||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
lcd_change_fil_state =
|
||||
lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Was filament unload successful?"), false, true); ////MSG_UNLOAD_SUCCESSFUL c=20 r=2
|
||||
if (lcd_change_fil_state == 0) {
|
||||
lcd_clear();
|
||||
lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT));
|
||||
current_position[X_AXIS] -= 100;
|
||||
plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED);
|
||||
st_synchronize();
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually."));////MSG_CHECK_IDLER c=20 r=5
|
||||
if (lcd_change_fil_state == MIDDLE_BUTTON_CHOICE) {
|
||||
lcd_clear();
|
||||
lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT));
|
||||
current_position[X_AXIS] -= 100;
|
||||
plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED);
|
||||
st_synchronize();
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually.")); ////MSG_CHECK_IDLER c=20 r=5
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4918,7 +4920,7 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF);
|
|||
lcd_show_fullscreen_message_and_wait_P(_i("Stable ambient temperature 21-26C is needed a rigid stand is required."));////MSG_TEMP_CAL_WARNING c=20 r=4
|
||||
bool result = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false);
|
||||
|
||||
if (result)
|
||||
if (result == LEFT_BUTTON_CHOICE)
|
||||
{
|
||||
current_position[Z_AXIS] = MESH_HOME_Z_SEARCH;
|
||||
plan_buffer_line_curposXYZE(3000 / 60);
|
||||
|
|
|
|||
|
|
@ -2300,7 +2300,7 @@ void show_preheat_nozzle_warning()
|
|||
void lcd_load_filament_color_check()
|
||||
{
|
||||
bool clean = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_CLEAN), false, true);
|
||||
while (!clean) {
|
||||
while (clean == MIDDLE_BUTTON_CHOICE) {
|
||||
lcd_update_enable(true);
|
||||
lcd_update(2);
|
||||
load_filament_final_feed();
|
||||
|
|
@ -3188,8 +3188,8 @@ lcd_wait_for_click_delay(0);
|
|||
//! @param msg Message to show. If NULL, do not clear the screen and handle choice selection only.
|
||||
//! @param allow_timeouting if true, allows time outing of the screen
|
||||
//! @param default_yes if true, yes choice is selected by default, otherwise no choice is preselected
|
||||
//! @retval 1 yes choice selected by user
|
||||
//! @retval 0 no choice selected by user
|
||||
//! @retval 0 yes choice selected by user
|
||||
//! @retval 1 no choice selected by user
|
||||
//! @retval -1 screen timed out
|
||||
int8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes) //currently just max. n*4 + 3 lines supported (set in language header files)
|
||||
{
|
||||
|
|
@ -3315,8 +3315,8 @@ int8_t lcd_show_multiscreen_message_with_choices_and_wait_P(const char *msg, boo
|
|||
//! @brief Display and wait for a Yes/No choice using the last line of the LCD
|
||||
//! @param allow_timeouting if true, allows time outing of the screen
|
||||
//! @param default_yes if true, yes choice is selected by default, otherwise no choice is preselected
|
||||
//! @retval 1 yes choice selected by user
|
||||
//! @retval 0 no choice selected by user
|
||||
//! @retval 0 yes choice selected by user
|
||||
//! @retval 1 no choice selected by user
|
||||
//! @retval -1 screen timed out
|
||||
int8_t lcd_show_yes_no_and_wait(bool allow_timeouting, bool default_yes)
|
||||
{
|
||||
|
|
@ -3327,8 +3327,8 @@ int8_t lcd_show_yes_no_and_wait(bool allow_timeouting, bool default_yes)
|
|||
//! @param msg Message to show. If NULL, do not clear the screen and handle choice selection only.
|
||||
//! @param allow_timeouting if true, allows time outing of the screen
|
||||
//! @param default_yes if true, yes choice is selected by default, otherwise no choice is preselected
|
||||
//! @retval 1 yes choice selected by user
|
||||
//! @retval 0 no choice selected by user
|
||||
//! @retval 0 yes choice selected by user
|
||||
//! @retval 1 no choice selected by user
|
||||
//! @retval -1 screen timed out
|
||||
//! @relates lcd_show_yes_no_and_wait
|
||||
int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes)
|
||||
|
|
@ -3658,7 +3658,7 @@ void menu_setlang(unsigned char lang)
|
|||
{
|
||||
if (!lang_select(lang))
|
||||
{
|
||||
if (lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Copy selected language?"), false, true))////MSG_COPY_SEL_LANG c=20 r=3
|
||||
if (lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Copy selected language?"), false, true) == LEFT_BUTTON_CHOICE)////MSG_COPY_SEL_LANG c=20 r=3
|
||||
lang_boot_update_start(lang);
|
||||
lcd_update_enable(true);
|
||||
lcd_clear();
|
||||
|
|
@ -3851,7 +3851,7 @@ void lcd_v2_calibration()
|
|||
}
|
||||
else
|
||||
{
|
||||
loaded = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), false, true);
|
||||
loaded = !lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), false, true);
|
||||
lcd_update_enabled = true;
|
||||
|
||||
}
|
||||
|
|
@ -3881,7 +3881,7 @@ void lcd_v2_calibration()
|
|||
void lcd_wizard() {
|
||||
bool result = true;
|
||||
if (calibration_status() != CALIBRATION_STATUS_ASSEMBLED) {
|
||||
result = lcd_show_multiscreen_message_yes_no_and_wait_P(_i("Running Wizard will delete current calibration results and start from the beginning. Continue?"), false, false);////MSG_WIZARD_RERUN c=20 r=7
|
||||
result = !lcd_show_multiscreen_message_yes_no_and_wait_P(_i("Running Wizard will delete current calibration results and start from the beginning. Continue?"), false, false);////MSG_WIZARD_RERUN c=20 r=7
|
||||
}
|
||||
if (result) {
|
||||
calibration_status_store(CALIBRATION_STATUS_ASSEMBLED);
|
||||
|
|
@ -4044,10 +4044,10 @@ void lcd_wizard(WizState state)
|
|||
state = S::Restore;
|
||||
} else {
|
||||
wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(_T(MSG_WIZARD_WELCOME), false, true);
|
||||
if (wizard_event) {
|
||||
if (wizard_event == LEFT_BUTTON_CHOICE) {
|
||||
state = S::Restore;
|
||||
eeprom_update_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1);
|
||||
} else {
|
||||
} else { // MIDDLE_BUTTON_CHOICE
|
||||
eeprom_update_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 0);
|
||||
end = true;
|
||||
}
|
||||
|
|
@ -4083,7 +4083,9 @@ void lcd_wizard(WizState state)
|
|||
lcd_show_fullscreen_message_and_wait_P(_i("Now remove the test print from steel sheet."));////MSG_REMOVE_TEST_PRINT c=20 r=4
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("I will run z calibration now."));////MSG_WIZARD_Z_CAL c=20 r=8
|
||||
wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false);
|
||||
if (!wizard_event) lcd_show_fullscreen_message_and_wait_P(_T(MSG_PLACE_STEEL_SHEET));
|
||||
if (wizard_event == MIDDLE_BUTTON_CHOICE) {
|
||||
lcd_show_fullscreen_message_and_wait_P(_T(MSG_PLACE_STEEL_SHEET));
|
||||
}
|
||||
wizard_event = gcode_M45(true, 0);
|
||||
if (wizard_event) {
|
||||
//current filament needs to be unloaded and then new filament should be loaded
|
||||
|
|
@ -4104,16 +4106,10 @@ void lcd_wizard(WizState state)
|
|||
//start to preheat nozzle and bed to save some time later
|
||||
setTargetHotend(PLA_PREHEAT_HOTEND_TEMP, 0);
|
||||
setTargetBed(PLA_PREHEAT_HPB_TEMP);
|
||||
if (MMU2::mmu2.Enabled())
|
||||
{
|
||||
wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), true);
|
||||
} else
|
||||
{
|
||||
wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), true);
|
||||
}
|
||||
if (wizard_event) state = S::Lay1CalCold;
|
||||
else
|
||||
{
|
||||
wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), true);
|
||||
if (wizard_event == LEFT_BUTTON_CHOICE) {
|
||||
state = S::Lay1CalCold;
|
||||
} else { // MIDDLE_BUTTON_CHOICE
|
||||
if(MMU2::mmu2.Enabled()) state = S::LoadFilCold;
|
||||
else state = S::Preheat;
|
||||
}
|
||||
|
|
@ -4144,7 +4140,7 @@ void lcd_wizard(WizState state)
|
|||
break;
|
||||
case S::RepeatLay1Cal:
|
||||
wizard_event = lcd_show_multiscreen_message_yes_no_and_wait_P(_i("Do you want to repeat last step to readjust distance between nozzle and heatbed?"), false);////MSG_WIZARD_REPEAT_V2_CAL c=20 r=7
|
||||
if (wizard_event)
|
||||
if (wizard_event == LEFT_BUTTON_CHOICE)
|
||||
{
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Please clean heatbed and then press the knob."));////MSG_WIZARD_CLEAN_HEATBED c=20 r=8
|
||||
state = S::Lay1CalCold;
|
||||
|
|
@ -5099,7 +5095,7 @@ char reset_menu() {
|
|||
static void lcd_disable_farm_mode()
|
||||
{
|
||||
int8_t disable = lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Disable farm mode?"), true, false); //allow timeouting, default no
|
||||
if (disable)
|
||||
if (disable == LEFT_BUTTON_CHOICE)
|
||||
{
|
||||
enquecommand_P(PSTR("G99"));
|
||||
lcd_return_to_status();
|
||||
|
|
@ -7461,8 +7457,7 @@ static void menu_action_sdfile(const char* filename)
|
|||
//filename is just a pointer to card.filename, which changes everytime you try to open a file by filename. So you can't use filename directly
|
||||
//to open a file. Instead, the cached filename in cmd is used as that one is static for the whole lifetime of this function.
|
||||
if (!check_file(cmd + 4)) {
|
||||
result = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("File incomplete. Continue anyway?"), false, false);////MSG_FILE_INCOMPLETE c=20 r=3
|
||||
lcd_update_enable(true);
|
||||
result = !lcd_show_fullscreen_message_yes_no_and_wait_P(_i("File incomplete. Continue anyway?"), false, false);////MSG_FILE_INCOMPLETE c=20 r=3
|
||||
}
|
||||
if (result) {
|
||||
enquecommand(cmd);
|
||||
|
|
|
|||
|
|
@ -78,9 +78,9 @@ extern void lcd_return_to_status();
|
|||
extern void lcd_wait_for_click();
|
||||
extern bool lcd_wait_for_click_delay(uint16_t nDelay);
|
||||
extern void lcd_show_fullscreen_message_and_wait_P(const char *msg);
|
||||
// 0: no, 1: yes, -1: timeouted
|
||||
// 1: no, 0: yes, -1: timeouted
|
||||
extern int8_t lcd_show_yes_no_and_wait(bool allow_timeouting = true, bool default_yes = false);
|
||||
// 0: no, 1: yes, -1: timeouted
|
||||
// 1: no, 0: yes, -1: timeouted
|
||||
extern int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow_timeouting = true, bool default_yes = false);
|
||||
extern int8_t lcd_show_multiscreen_message_with_choices_and_wait_P(const char *msg, bool allow_timeouting, bool default_yes,
|
||||
const char *first_choice, const char *second_choice, const char *third_choice = nullptr, uint8_t second_col = 7);
|
||||
|
|
|
|||
Loading…
Reference in New Issue