void lcd_mixer_mix_edit() { #if CHANNEL_MIX_EDITING #define EDIT_COLOR(N) MENU_MULTIPLIER_ITEM_EDIT(float52, MSG_MIX_COMPONENT " " STRINGIFY(N), &mixer.collector[N-1], 0, 10); START_MENU(); MENU_BACK(MSG_MIXER); EDIT_COLOR(1); EDIT_COLOR(2); #if MIXING_STEPPERS > 2 EDIT_COLOR(3); #if MIXING_STEPPERS > 3 EDIT_COLOR(4); #if MIXING_STEPPERS > 4 EDIT_COLOR(5); #if MIXING_STEPPERS > 5 EDIT_COLOR(6); #endif #endif #endif #endif MENU_ITEM(function, MSG_CYCLE_MIX, _lcd_mixer_cycle_mix); MENU_ITEM(function, MSG_COMMIT_VTOOL, _lcd_mixer_commit_vtool); END_MENU(); #elif DUAL_MIXING_EXTRUDER if (ui.encoderPosition != 0) { mixer.mix[0] += (int)ui.encoderPosition; ui.encoderPosition = 0; if (mixer.mix[0] < 0) mixer.mix[0] += 101; if (mixer.mix[0] > 100) mixer.mix[0] -= 101; mixer.mix[1] = 100 - mixer.mix[0]; } _lcd_draw_mix((LCD_HEIGHT - 1) / 2); if (ui.lcd_clicked) { mixer.update_vtool_from_mix(); ui.goto_previous_screen(); } #else START_MENU(); MENU_BACK(MSG_MIXER); END_MENU(); #endif }
void lcd_mixer_edit_gradient_menu() { START_MENU(); MENU_BACK(MSG_MIXER); MENU_ITEM_EDIT_CALLBACK(int8, MSG_START_VTOOL, &mixer.gradient.start_vtool, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient); MENU_ITEM_EDIT_CALLBACK(int8, MSG_END_VTOOL, &mixer.gradient.end_vtool, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient); #if ENABLED(GRADIENT_VTOOL) MENU_ITEM_EDIT_CALLBACK(int8, MSG_GRADIENT_ALIAS, &mixer.gradient.vtool_index, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient); #endif char tmp[10]; MENU_ITEM(submenu, MSG_START_Z ":", lcd_mixer_gradient_z_start_edit); MENU_ITEM_ADDON_START(9); sprintf_P(tmp, PSTR("%4d.%d mm"), int(mixer.gradient.start_z), int(mixer.gradient.start_z * 10) % 10); LCDPRINT(tmp); MENU_ITEM_ADDON_END(); MENU_ITEM(submenu, MSG_END_Z ":", lcd_mixer_gradient_z_end_edit); MENU_ITEM_ADDON_START(9); sprintf_P(tmp, PSTR("%4d.%d mm"), int(mixer.gradient.end_z), int(mixer.gradient.end_z * 10) % 10); LCDPRINT(tmp); MENU_ITEM_ADDON_END(); END_MENU(); }
void menu_preheat_m2() { START_MENU(); MENU_BACK(MSG_TEMPERATURE); #if HOTENDS == 1 #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0); MENU_ITEM(function, MSG_PREHEAT_2_END, lcd_preheat_m2_e0_only); #else MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only); #endif #elif HOTENDS > 1 #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E1, lcd_preheat_m2_e0_only); MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E2, lcd_preheat_m2_e1_only); #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H1, lcd_preheat_m2_e0_only); MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H2, lcd_preheat_m2_e1_only); #endif #if HOTENDS > 2 #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E3, lcd_preheat_m2_e2_only); #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H3, lcd_preheat_m2_e2_only); #endif #if HOTENDS > 3 #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E4, lcd_preheat_m2_e3_only); #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H4, lcd_preheat_m2_e3_only); #endif #if HOTENDS > 4 #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E5, lcd_preheat_m2_e4_only); #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H5, lcd_preheat_m2_e4_only); #endif #if HOTENDS > 5 #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5); MENU_ITEM(function, MSG_PREHEAT_2_END " " MSG_E6, lcd_preheat_m2_e5_only); #else MENU_ITEM(function, MSG_PREHEAT_2_N MSG_H6, lcd_preheat_m2_e5_only); #endif #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 MENU_ITEM(function, MSG_PREHEAT_2_ALL, lcd_preheat_m2_all); #endif // HOTENDS > 1 #if HAS_HEATED_BED MENU_ITEM(function, MSG_PREHEAT_2_BEDONLY, lcd_preheat_m2_bedonly); #endif END_MENU(); }
void menu_mmu2_loadToNozzle() { START_MENU(); MENU_BACK(MSG_MMU2_MENU); MENU_ITEM(function, MSG_MMU2_FILAMENT0, action_mmu2_loadFilamentToNozzle0); MENU_ITEM(function, MSG_MMU2_FILAMENT1, action_mmu2_loadFilamentToNozzle1); MENU_ITEM(function, MSG_MMU2_FILAMENT2, action_mmu2_loadFilamentToNozzle2); MENU_ITEM(function, MSG_MMU2_FILAMENT3, action_mmu2_loadFilamentToNozzle3); MENU_ITEM(function, MSG_MMU2_FILAMENT4, action_mmu2_loadFilamentToNozzle4); END_MENU(); }
void menu_mmu2() { START_MENU(); MENU_BACK(MSG_MAIN); MENU_ITEM(submenu, MSG_MMU2_LOAD_FILAMENT, menu_mmu2_loadFilament); MENU_ITEM(submenu, MSG_MMU2_LOAD_TO_NOZZLE, menu_mmu2_loadToNozzle); MENU_ITEM(submenu, MSG_MMU2_EJECT_FILAMENT, menu_mmu2_ejectFilament); MENU_ITEM(function, MSG_MMU2_UNLOAD_FILAMENT, action_mmu2_unloadFilament); MENU_ITEM(function, MSG_MMU2_RESET, action_mmu2_reset); END_MENU(); }
void menu_mmu2_ejectFilament() { START_MENU(); MENU_BACK(MSG_MMU2_MENU); MENU_ITEM(function, MSG_MMU2_FILAMENT0, action_mmu2_ejectFilament0); MENU_ITEM(function, MSG_MMU2_FILAMENT1, action_mmu2_ejectFilament1); MENU_ITEM(function, MSG_MMU2_FILAMENT2, action_mmu2_ejectFilament2); MENU_ITEM(function, MSG_MMU2_FILAMENT3, action_mmu2_ejectFilament3); MENU_ITEM(function, MSG_MMU2_FILAMENT4, action_mmu2_ejectFilament4); END_MENU(); }
void menu_tmc_homing_thrs() { START_MENU(); MENU_BACK(MSG_TMC_DRIVERS); #if X_SENSORLESS TMC_EDIT_STORED_SGT(X); #endif #if Y_SENSORLESS TMC_EDIT_STORED_SGT(Y); #endif #if Z_SENSORLESS TMC_EDIT_STORED_SGT(Z); #endif END_MENU(); }
void menu_tmc() { START_MENU(); MENU_BACK(MSG_CONTROL); MENU_ITEM(submenu, MSG_TMC_CURRENT, menu_tmc_current); #if ENABLED(HYBRID_THRESHOLD) MENU_ITEM(submenu, MSG_TMC_HYBRID_THRS, menu_tmc_hybrid_thrs); #endif #if ENABLED(SENSORLESS_HOMING) MENU_ITEM(submenu, MSG_TMC_HOMING_THRS, menu_tmc_homing_thrs); #endif #if HAS_STEALTHCHOP MENU_ITEM(submenu, MSG_TMC_STEPPING_MODE, menu_tmc_step_mode); #endif END_MENU(); }
void menu_mixer() { START_MENU(); MENU_BACK(MSG_MAIN); v_index = mixer.get_current_vtool(); MENU_ITEM_EDIT_CALLBACK(uint8, MSG_ACTIVE_VTOOL, &v_index, 0, MIXING_VIRTUAL_TOOLS - 1, _lcd_mixer_select_vtool #if DUAL_MIXING_EXTRUDER , true #endif ); MENU_ITEM(submenu, MSG_MIX, #if CHANNEL_MIX_EDITING _lcd_goto_mix_edit #elif DUAL_MIXING_EXTRUDER lcd_mixer_mix_edit #endif ); #if DUAL_MIXING_EXTRUDER { char tmp[10]; MENU_ITEM_ADDON_START(10); mixer.update_mix_from_vtool(); sprintf_P(tmp, PSTR("%3d;%3d%%"), int(mixer.mix[0]), int(mixer.mix[1])); LCDPRINT(tmp); MENU_ITEM_ADDON_END(); MENU_ITEM(function, MSG_TOGGLE_MIX, _lcd_mixer_toggle_mix); } #endif MENU_ITEM(submenu, MSG_RESET_VTOOLS, menu_mixer_vtools_reset_confirm); #if ENABLED(GRADIENT_MIX) { char tmp[10]; MENU_ITEM(submenu, MSG_GRADIENT, lcd_mixer_edit_gradient_menu); MENU_ITEM_ADDON_START(10); sprintf_P(tmp, PSTR("T%i->T%i"), mixer.gradient.start_vtool, mixer.gradient.end_vtool); LCDPRINT(tmp); MENU_ITEM_ADDON_END(); MENU_ITEM(function, MSG_REVERSE_GRADIENT, _lcd_mixer_reverse_gradient); } #endif END_MENU(); }
void menu_spindle_laser() { START_MENU(); MENU_BACK(MSG_MAIN); if (spindle_laser_enabled()) { #if ENABLED(SPINDLE_LASER_PWM) MENU_ITEM_EDIT_CALLBACK(int3, MSG_LASER_POWER, &spindle_laser_power, SPEED_POWER_MIN, SPEED_POWER_MAX, update_spindle_laser_power); #endif MENU_ITEM(function, MSG_LASER_OFF, _lcd_spindle_laser_off); } else { MENU_ITEM(function, MSG_LASER_ON, _lcd_spindle_laser_on); #if SPINDLE_DIR_CHANGE MENU_ITEM(function, MSG_SPINDLE_REVERSE, _lcd_spindle_on_reverse); #endif } END_MENU(); }
void menu_tmc_step_mode() { START_MENU(); STATIC_ITEM(MSG_TMC_STEALTH_ENABLED); MENU_BACK(MSG_TMC_DRIVERS); #if AXIS_HAS_STEALTHCHOP(X) TMC_EDIT_STEP_MODE(X); #endif #if AXIS_HAS_STEALTHCHOP(Y) TMC_EDIT_STEP_MODE(Y); #endif #if AXIS_HAS_STEALTHCHOP(Z) TMC_EDIT_STEP_MODE(Z); #endif #if AXIS_HAS_STEALTHCHOP(X2) TMC_EDIT_STEP_MODE(X2); #endif #if AXIS_HAS_STEALTHCHOP(Y2) TMC_EDIT_STEP_MODE(Y2); #endif #if AXIS_HAS_STEALTHCHOP(Z2) TMC_EDIT_STEP_MODE(Z2); #endif #if AXIS_HAS_STEALTHCHOP(Z3) TMC_EDIT_STEP_MODE(Z3); #endif #if AXIS_HAS_STEALTHCHOP(E0) TMC_EDIT_STEP_MODE(E0); #endif #if AXIS_HAS_STEALTHCHOP(E1) TMC_EDIT_STEP_MODE(E1); #endif #if AXIS_HAS_STEALTHCHOP(E2) TMC_EDIT_STEP_MODE(E2); #endif #if AXIS_HAS_STEALTHCHOP(E3) TMC_EDIT_STEP_MODE(E3); #endif #if AXIS_HAS_STEALTHCHOP(E4) TMC_EDIT_STEP_MODE(E4); #endif #if AXIS_HAS_STEALTHCHOP(E5) TMC_EDIT_STEP_MODE(E5); #endif END_MENU(); }
void menu_tmc_current() { START_MENU(); MENU_BACK(MSG_TMC_DRIVERS); #if AXIS_IS_TMC(X) TMC_EDIT_STORED_I_RMS(X); #endif #if AXIS_IS_TMC(Y) TMC_EDIT_STORED_I_RMS(Y); #endif #if AXIS_IS_TMC(Z) TMC_EDIT_STORED_I_RMS(Z); #endif #if AXIS_IS_TMC(X2) TMC_EDIT_STORED_I_RMS(X2); #endif #if AXIS_IS_TMC(Y2) TMC_EDIT_STORED_I_RMS(Y2); #endif #if AXIS_IS_TMC(Z2) TMC_EDIT_STORED_I_RMS(Z2); #endif #if AXIS_IS_TMC(Z3) TMC_EDIT_STORED_I_RMS(Z3); #endif #if AXIS_IS_TMC(E0) TMC_EDIT_STORED_I_RMS(E0); #endif #if AXIS_IS_TMC(E1) TMC_EDIT_STORED_I_RMS(E1); #endif #if AXIS_IS_TMC(E2) TMC_EDIT_STORED_I_RMS(E2); #endif #if AXIS_IS_TMC(E3) TMC_EDIT_STORED_I_RMS(E3); #endif #if AXIS_IS_TMC(E4) TMC_EDIT_STORED_I_RMS(E4); #endif #if AXIS_IS_TMC(E5) TMC_EDIT_STORED_I_RMS(E5); #endif END_MENU(); }
void menu_tmc_hybrid_thrs() { START_MENU(); MENU_BACK(MSG_TMC_DRIVERS); #if AXIS_HAS_STEALTHCHOP(X) TMC_EDIT_STORED_HYBRID_THRS(X); #endif #if AXIS_HAS_STEALTHCHOP(Y) TMC_EDIT_STORED_HYBRID_THRS(Y); #endif #if AXIS_HAS_STEALTHCHOP(Z) TMC_EDIT_STORED_HYBRID_THRS(Z); #endif #if AXIS_HAS_STEALTHCHOP(X2) TMC_EDIT_STORED_HYBRID_THRS(X2); #endif #if AXIS_HAS_STEALTHCHOP(Y2) TMC_EDIT_STORED_HYBRID_THRS(Y2); #endif #if AXIS_HAS_STEALTHCHOP(Z2) TMC_EDIT_STORED_HYBRID_THRS(Z2); #endif #if AXIS_HAS_STEALTHCHOP(Z3) TMC_EDIT_STORED_HYBRID_THRS(Z3); #endif #if AXIS_HAS_STEALTHCHOP(E0) TMC_EDIT_STORED_HYBRID_THRS(E0); #endif #if AXIS_HAS_STEALTHCHOP(E1) TMC_EDIT_STORED_HYBRID_THRS(E1); #endif #if AXIS_HAS_STEALTHCHOP(E2) TMC_EDIT_STORED_HYBRID_THRS(E2); #endif #if AXIS_HAS_STEALTHCHOP(E3) TMC_EDIT_STORED_HYBRID_THRS(E3); #endif #if AXIS_HAS_STEALTHCHOP(E4) TMC_EDIT_STORED_HYBRID_THRS(E4); #endif #if AXIS_HAS_STEALTHCHOP(E5) TMC_EDIT_STORED_HYBRID_THRS(E5); #endif END_MENU(); }
void menu_sdcard() { ui.encoder_direction_menus(); const uint16_t fileCnt = card.get_num_Files(); START_MENU(); MENU_BACK(MSG_MAIN); card.getWorkDirName(); if (card.filename[0] == '/') { #if !PIN_EXISTS(SD_DETECT) MENU_ITEM(function, LCD_STR_REFRESH MSG_REFRESH, lcd_sd_refresh); #endif } else if (card.isDetected()) MENU_ITEM(function, LCD_STR_FOLDER "..", lcd_sd_updir); if (ui.should_draw()) for (uint16_t i = 0; i < fileCnt; i++) { if (_menuLineNr == _thisItemNr) { const uint16_t nr = #if ENABLED(SDCARD_RATHERRECENTFIRST) && DISABLED(SDCARD_SORT_ALPHA) fileCnt - 1 - #endif i; card.getfilename_sorted(nr); if (card.flag.filenameIsDir) MENU_ITEM(sdfolder, MSG_CARD_MENU, card); else MENU_ITEM(sdfile, MSG_CARD_MENU, card); } else { MENU_ITEM_DUMMY(); } } END_MENU(); }
void menu_temperature() { START_MENU(); MENU_BACK(MSG_MAIN); // // Nozzle: // Nozzle [1-5]: // #if HOTENDS == 1 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, thermalManager.start_watching_E0); #else // HOTENDS > 1 #define EDIT_TARGET(N) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_LCD_N##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, thermalManager.start_watching_E##N) EDIT_TARGET(0); EDIT_TARGET(1); #if HOTENDS > 2 EDIT_TARGET(2); #if HOTENDS > 3 EDIT_TARGET(3); #if HOTENDS > 4 EDIT_TARGET(4); #if HOTENDS > 5 EDIT_TARGET(5); #endif // HOTENDS > 5 #endif // HOTENDS > 4 #endif // HOTENDS > 3 #endif // HOTENDS > 2 #endif // HOTENDS > 1 #if ENABLED(SINGLENOZZLE) MENU_MULTIPLIER_ITEM_EDIT(uint16_3, MSG_NOZZLE_STANDBY, &singlenozzle_temp[active_extruder ? 0 : 1], 0, HEATER_0_MAXTEMP - 15); #endif // // Bed: // #if HAS_HEATED_BED MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_BED, &thermalManager.temp_bed.target, 0, BED_MAXTEMP - 10, thermalManager.start_watching_bed); #endif // // Chamber: // #if HAS_HEATED_CHAMBER MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_CHAMBER, &thermalManager.temp_chamber.target, 0, CHAMBER_MAXTEMP - 5, thermalManager.start_watching_chamber); #endif // // Fan Speed: // #if FAN_COUNT > 0 #if HAS_FAN0 MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(uint8, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.lcd_tmpfan_speed[0], 0, 255, thermalManager.lcd_setFanSpeed0); #if ENABLED(EXTRA_FAN_SPEED) MENU_MULTIPLIER_ITEM_EDIT(uint8, MSG_EXTRA_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.new_fan_speed[0], 3, 255); #endif #endif #if HAS_FAN1 || (ENABLED(SINGLENOZZLE) && EXTRUDERS > 1) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(uint8, MSG_FAN_SPEED " 2", &thermalManager.lcd_tmpfan_speed[1], 0, 255, thermalManager.lcd_setFanSpeed1); #if ENABLED(EXTRA_FAN_SPEED) MENU_MULTIPLIER_ITEM_EDIT(uint8, MSG_EXTRA_FAN_SPEED " 2", &thermalManager.new_fan_speed[1], 3, 255); #endif #endif #if HAS_FAN2 || (ENABLED(SINGLENOZZLE) && EXTRUDERS > 2) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(uint8, MSG_FAN_SPEED " 3", &thermalManager.lcd_tmpfan_speed[2], 0, 255, thermalManager.lcd_setFanSpeed2); #if ENABLED(EXTRA_FAN_SPEED) MENU_MULTIPLIER_ITEM_EDIT(uint8, MSG_EXTRA_FAN_SPEED " 3", &thermalManager.new_fan_speed[2], 3, 255); #endif #endif #endif // FAN_COUNT > 0 #if HAS_TEMP_HOTEND // // Cooldown // bool has_heat = false; HOTEND_LOOP() if (thermalManager.temp_hotend[HOTEND_INDEX].target) { has_heat = true; break; } #if HAS_TEMP_BED if (thermalManager.temp_bed.target) has_heat = true; #endif if (has_heat) MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown); // // Preheat for Material 1 and 2 // #if TEMP_SENSOR_1 != 0 || TEMP_SENSOR_2 != 0 || TEMP_SENSOR_3 != 0 || TEMP_SENSOR_4 != 0 || TEMP_SENSOR_5 != 0 || HAS_HEATED_BED MENU_ITEM(submenu, MSG_PREHEAT_1, menu_preheat_m1); MENU_ITEM(submenu, MSG_PREHEAT_2, menu_preheat_m2); #else MENU_ITEM(function, MSG_PREHEAT_1, lcd_preheat_m1_e0_only); MENU_ITEM(function, MSG_PREHEAT_2, lcd_preheat_m2_e0_only); #endif #endif // HAS_TEMP_HOTEND #if ENABLED(SPINDLE_LASER_ENABLE) MENU_ITEM(submenu, MSG_LASER_MENU, menu_spindle_laser); #endif END_MENU(); }
void menu_mixer_vtools_reset_confirm() { START_MENU(); MENU_BACK(MSG_BACK); MENU_ITEM(function, MSG_RESET_VTOOLS, _lcd_reset_vtools); END_MENU(); }