Fix double feedback in First Layer Calibration
For MMU users: This happens when the user selects a filament to load from 1 to 5 For non-MMU: this happens when clicking the knob within 2 seconds. Additionally fixed the code indendation it was a mix of spaces and tabs
This commit is contained in:
parent
e516d8a0c4
commit
b6e228d5a5
|
|
@ -3607,46 +3607,38 @@ void lcd_first_layer_calibration_reset()
|
|||
|
||||
}
|
||||
|
||||
void lcd_v2_calibration()
|
||||
{
|
||||
if (MMU2::mmu2.Enabled())
|
||||
{
|
||||
const uint8_t filament = choose_menu_P(
|
||||
_T(MSG_SELECT_FILAMENT),
|
||||
_T(MSG_FILAMENT),(_T(MSG_CANCEL)+1)); //Hack to reuse MSG but strip 1st char off
|
||||
if (filament < 5)
|
||||
{
|
||||
lay1cal_filament = filament;
|
||||
}
|
||||
else
|
||||
{
|
||||
menu_back();
|
||||
return;
|
||||
}
|
||||
void lcd_v2_calibration() {
|
||||
if (MMU2::mmu2.Enabled()) {
|
||||
const uint8_t filament = choose_menu_P(
|
||||
_T(MSG_SELECT_FILAMENT),
|
||||
_T(MSG_FILAMENT),(_T(MSG_CANCEL)+1)); //Hack to reuse MSG but strip 1st char off
|
||||
if (filament < MMU_FILAMENT_COUNT) {
|
||||
lay1cal_filament = filament;
|
||||
} else {
|
||||
menu_back();
|
||||
return;
|
||||
}
|
||||
}
|
||||
#ifdef FILAMENT_SENSOR
|
||||
else if (!eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE))
|
||||
{
|
||||
bool loaded = false;
|
||||
if (fsensor.isReady())
|
||||
{
|
||||
loaded = fsensor.getFilamentPresent();
|
||||
}
|
||||
else
|
||||
{
|
||||
loaded = !lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), false, LCD_MIDDLE_BUTTON_CHOICE);
|
||||
lcd_update_enabled = true;
|
||||
bool loaded = false;
|
||||
if (fsensor.isReady()) {
|
||||
loaded = fsensor.getFilamentPresent();
|
||||
} else {
|
||||
loaded = !lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_FILAMENT_LOADED), false, LCD_MIDDLE_BUTTON_CHOICE);
|
||||
lcd_update_enabled = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (!loaded)
|
||||
{
|
||||
if (!loaded) {
|
||||
lcd_display_message_fullscreen_P(_i("Please load filament first."));////MSG_PLEASE_LOAD_PLA c=20 r=4
|
||||
lcd_consume_click();
|
||||
for (uint_least8_t i = 0; i < 20; i++) { //wait max. 2s
|
||||
delay_keep_alive(100);
|
||||
if (lcd_clicked()) {
|
||||
if (LCD_CLICKED) {
|
||||
// Click event is consumed below when
|
||||
// rendering the preheat menu. We use this
|
||||
// to check whether a audio feedback should be shown
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -3658,7 +3650,12 @@ void lcd_v2_calibration()
|
|||
#endif //FILAMENT_SENSOR
|
||||
|
||||
eFilamentAction = FilamentAction::Lay1Cal;
|
||||
menu_goto(lcd_generic_preheat_menu, 0, true, true);
|
||||
|
||||
// Produce feedback if the LCD knob was not clicked
|
||||
// Note for non-MMU setups there is a 2 second timeout in case
|
||||
// the user does not click the knob, in such a case we want feedback
|
||||
// since the firmware is changing the menu silently.
|
||||
menu_goto(lcd_generic_preheat_menu, 0, true, !lcd_clicked());
|
||||
}
|
||||
|
||||
void lcd_wizard() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue