Exemplo n.º 1
0
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
}
Exemplo n.º 2
0
  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();
  }
Exemplo n.º 3
0
 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();
 }
Exemplo n.º 4
0
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();
}
Exemplo n.º 5
0
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();
}
Exemplo n.º 6
0
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();
}
Exemplo n.º 7
0
 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();
 }
Exemplo n.º 8
0
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();
}
Exemplo n.º 9
0
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();
}
Exemplo n.º 10
0
 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();
 }
Exemplo n.º 11
0
 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();
 }
Exemplo n.º 12
0
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();
}
Exemplo n.º 13
0
 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();
 }
Exemplo n.º 14
0
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();
}
Exemplo n.º 15
0
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();
}
Exemplo n.º 16
0
void menu_mixer_vtools_reset_confirm() {
  START_MENU();
  MENU_BACK(MSG_BACK);
  MENU_ITEM(function, MSG_RESET_VTOOLS, _lcd_reset_vtools);
  END_MENU();
}