🏗️ Support for up to 6 linear axes (#19112)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
committed by
Scott Lahteine
parent
d3c56a76e7
commit
c1fca91103
@ -1235,7 +1235,7 @@ inline ENCODER_DiffState get_encoder_state() {
|
||||
void HMI_Plan_Move(const feedRate_t fr_mm_s) {
|
||||
if (!planner.is_full()) {
|
||||
planner.synchronize();
|
||||
planner.buffer_line(current_position, fr_mm_s, active_extruder);
|
||||
planner.buffer_line(current_position, fr_mm_s);
|
||||
DWIN_UpdateLCD();
|
||||
}
|
||||
}
|
||||
|
@ -697,13 +697,13 @@ const struct DGUS_VP_Variable ListOfVP[] PROGMEM = {
|
||||
#endif
|
||||
|
||||
#if ENABLED(SENSORLESS_HOMING) // TMC SENSORLESS Setting
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
#if X_HAS_STEALTHCHOP
|
||||
VPHELPER(VP_TMC_X_STEP, &tmc_step.x, ScreenHandler.TMC_ChangeConfig, ScreenHandler.DGUSLCD_SendTMCStepValue),
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
#if Y_HAS_STEALTHCHOP
|
||||
VPHELPER(VP_TMC_Y_STEP, &tmc_step.y, ScreenHandler.TMC_ChangeConfig, ScreenHandler.DGUSLCD_SendTMCStepValue),
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
#if Z_HAS_STEALTHCHOP
|
||||
VPHELPER(VP_TMC_Z_STEP, &tmc_step.z, ScreenHandler.TMC_ChangeConfig, ScreenHandler.DGUSLCD_SendTMCStepValue),
|
||||
#endif
|
||||
#endif
|
||||
|
@ -59,19 +59,19 @@ extern xyz_int_t tmc_step;
|
||||
|
||||
extern uint16_t lcd_default_light;
|
||||
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
#if X_HAS_STEALTHCHOP
|
||||
extern uint16_t tmc_x_current;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
#if Y_HAS_STEALTHCHOP
|
||||
extern uint16_t tmc_y_current;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
#if Z_HAS_STEALTHCHOP
|
||||
extern uint16_t tmc_z_current;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
#if E0_HAS_STEALTHCHOP
|
||||
extern uint16_t tmc_e0_current;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E1)
|
||||
#if E1_HAS_STEALTHCHOP
|
||||
extern uint16_t tmc_e1_current;
|
||||
#endif
|
||||
|
||||
|
@ -134,15 +134,15 @@ void DGUSScreenHandler::DGUSLCD_SendStringToDisplay_Language_MKS(DGUS_VP_Variabl
|
||||
|
||||
void DGUSScreenHandler::DGUSLCD_SendTMCStepValue(DGUS_VP_Variable &var) {
|
||||
#if ENABLED(SENSORLESS_HOMING)
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
#if X_HAS_STEALTHCHOP
|
||||
tmc_step.x = stepperX.homing_threshold();
|
||||
dgusdisplay.WriteVariable(var.VP, *(int16_t*)var.memadr);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
#if Y_HAS_STEALTHCHOP
|
||||
tmc_step.y = stepperY.homing_threshold();
|
||||
dgusdisplay.WriteVariable(var.VP, *(int16_t*)var.memadr);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
#if Z_HAS_STEALTHCHOP
|
||||
tmc_step.z = stepperZ.homing_threshold();
|
||||
dgusdisplay.WriteVariable(var.VP, *(int16_t*)var.memadr);
|
||||
#endif
|
||||
@ -659,7 +659,7 @@ void DGUSScreenHandler::TMC_ChangeConfig(DGUS_VP_Variable &var, void *val_ptr) {
|
||||
switch (var.VP) {
|
||||
case VP_TMC_X_STEP:
|
||||
#if USE_SENSORLESS
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
#if X_HAS_STEALTHCHOP
|
||||
stepperX.homing_threshold(mks_min(tmc_value, 255));
|
||||
settings.save();
|
||||
//tmc_step.x = stepperX.homing_threshold();
|
||||
@ -668,7 +668,7 @@ void DGUSScreenHandler::TMC_ChangeConfig(DGUS_VP_Variable &var, void *val_ptr) {
|
||||
break;
|
||||
case VP_TMC_Y_STEP:
|
||||
#if USE_SENSORLESS
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
#if Y_HAS_STEALTHCHOP
|
||||
stepperY.homing_threshold(mks_min(tmc_value, 255));
|
||||
settings.save();
|
||||
//tmc_step.y = stepperY.homing_threshold();
|
||||
@ -677,7 +677,7 @@ void DGUSScreenHandler::TMC_ChangeConfig(DGUS_VP_Variable &var, void *val_ptr) {
|
||||
break;
|
||||
case VP_TMC_Z_STEP:
|
||||
#if USE_SENSORLESS
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
#if Z_HAS_STEALTHCHOP
|
||||
stepperZ.homing_threshold(mks_min(tmc_value, 255));
|
||||
settings.save();
|
||||
//tmc_step.z = stepperZ.homing_threshold();
|
||||
@ -737,15 +737,9 @@ void DGUSScreenHandler::TMC_ChangeConfig(DGUS_VP_Variable &var, void *val_ptr) {
|
||||
break;
|
||||
}
|
||||
#if USE_SENSORLESS
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
tmc_step.x = stepperX.homing_threshold();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
tmc_step.y = stepperY.homing_threshold();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
tmc_step.z = stepperZ.homing_threshold();
|
||||
#endif
|
||||
TERN_(X_HAS_STEALTHCHOP, tmc_step.x = stepperX.homing_threshold());
|
||||
TERN_(Y_HAS_STEALTHCHOP, tmc_step.y = stepperY.homing_threshold());
|
||||
TERN_(Z_HAS_STEALTHCHOP, tmc_step.z = stepperZ.homing_threshold());
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -1419,15 +1413,9 @@ bool DGUSScreenHandler::loop() {
|
||||
if (!booted && ELAPSED(ms, TERN(USE_MKS_GREEN_UI, 1000, BOOTSCREEN_TIMEOUT))) {
|
||||
booted = true;
|
||||
#if USE_SENSORLESS
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
tmc_step.x = stepperX.homing_threshold();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
tmc_step.y = stepperY.homing_threshold();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
tmc_step.z = stepperZ.homing_threshold();
|
||||
#endif
|
||||
TERN_(X_HAS_STEALTHCHOP, tmc_step.x = stepperX.homing_threshold());
|
||||
TERN_(Y_HAS_STEALTHCHOP, tmc_step.y = stepperY.homing_threshold());
|
||||
TERN_(Z_HAS_STEALTHCHOP, tmc_step.z = stepperZ.homing_threshold());
|
||||
#endif
|
||||
|
||||
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
||||
|
@ -60,32 +60,32 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) {
|
||||
)
|
||||
.text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXT_F(MSG_LCD_ENDSTOPS))
|
||||
.font(font_tiny);
|
||||
#if PIN_EXISTS(X_MAX)
|
||||
#if HAS_X_MAX
|
||||
PIN_ENABLED (1, 2, PSTR(STR_X_MAX), X_MAX, X_MAX_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(1, 2, PSTR(STR_X_MAX), X_MAX)
|
||||
#endif
|
||||
#if PIN_EXISTS(Y_MAX)
|
||||
#if HAS_Y_MAX
|
||||
PIN_ENABLED (3, 2, PSTR(STR_Y_MAX), Y_MAX, Y_MAX_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(3, 2, PSTR(STR_Y_MAX), Y_MAX)
|
||||
#endif
|
||||
#if PIN_EXISTS(Z_MAX)
|
||||
#if HAS_Z_MAX
|
||||
PIN_ENABLED (5, 2, PSTR(STR_Z_MAX), Z_MAX, Z_MAX_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(5, 2, PSTR(STR_Z_MAX), Z_MAX)
|
||||
#endif
|
||||
#if PIN_EXISTS(X_MIN)
|
||||
#if HAS_X_MIN
|
||||
PIN_ENABLED (1, 3, PSTR(STR_X_MIN), X_MIN, X_MIN_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(1, 3, PSTR(STR_X_MIN), X_MIN)
|
||||
#endif
|
||||
#if PIN_EXISTS(Y_MIN)
|
||||
#if HAS_Y_MIN
|
||||
PIN_ENABLED (3, 3, PSTR(STR_Y_MIN), Y_MIN, Y_MIN_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(3, 3, PSTR(STR_Y_MIN), Y_MIN)
|
||||
#endif
|
||||
#if PIN_EXISTS(Z_MIN)
|
||||
#if HAS_Z_MIN
|
||||
PIN_ENABLED (5, 3, PSTR(STR_Z_MIN), Z_MIN, Z_MIN_ENDSTOP_INVERTING)
|
||||
#else
|
||||
PIN_DISABLED(5, 3, PSTR(STR_Z_MIN), Z_MIN)
|
||||
|
@ -68,30 +68,20 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
|
||||
draw_return_ui();
|
||||
break;
|
||||
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
case ID_TMC_MODE_X:
|
||||
toggle_chop(stepperX, buttonXState);
|
||||
break;
|
||||
#if X_HAS_STEALTHCHOP
|
||||
case ID_TMC_MODE_X: toggle_chop(stepperX, buttonXState); break;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
case ID_TMC_MODE_Y:
|
||||
toggle_chop(stepperY, buttonYState);
|
||||
break;
|
||||
#if Y_HAS_STEALTHCHOP
|
||||
case ID_TMC_MODE_Y: toggle_chop(stepperY, buttonYState); break;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
case ID_TMC_MODE_Z:
|
||||
toggle_chop(stepperZ, buttonZState);
|
||||
break;
|
||||
#if Z_HAS_STEALTHCHOP
|
||||
case ID_TMC_MODE_Z: toggle_chop(stepperZ, buttonZState); break;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
case ID_TMC_MODE_E0:
|
||||
toggle_chop(stepperE0, buttonE0State);
|
||||
break;
|
||||
#if E0_HAS_STEALTHCHOP
|
||||
case ID_TMC_MODE_E0: toggle_chop(stepperE0, buttonE0State); break;
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E1)
|
||||
case ID_TMC_MODE_E1:
|
||||
toggle_chop(stepperE1, buttonE1State);
|
||||
break;
|
||||
#if E1_HAS_STEALTHCHOP
|
||||
case ID_TMC_MODE_E1: toggle_chop(stepperE1, buttonE1State); break;
|
||||
#endif
|
||||
|
||||
case ID_TMC_MODE_UP:
|
||||
@ -113,21 +103,11 @@ void lv_draw_tmc_step_mode_settings() {
|
||||
scr = lv_screen_create(TMC_MODE_UI, machine_menu.TmcStepModeConfTitle);
|
||||
|
||||
bool stealth_X = false, stealth_Y = false, stealth_Z = false, stealth_E0 = false, stealth_E1 = false;
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
stealth_X = stepperX.get_stealthChop();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
stealth_Y = stepperY.get_stealthChop();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
stealth_Z = stepperZ.get_stealthChop();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
stealth_E0 = stepperE0.get_stealthChop();
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E1)
|
||||
stealth_E1 = stepperE1.get_stealthChop();
|
||||
#endif
|
||||
TERN_(X_HAS_STEALTHCHOP, stealth_X = stepperX.get_stealthChop());
|
||||
TERN_(Y_HAS_STEALTHCHOP, stealth_Y = stepperY.get_stealthChop());
|
||||
TERN_(Z_HAS_STEALTHCHOP, stealth_Z = stepperZ.get_stealthChop());
|
||||
TERN_(E0_HAS_STEALTHCHOP, stealth_E0 = stepperE0.get_stealthChop());
|
||||
TERN_(E1_HAS_STEALTHCHOP, stealth_E1 = stepperE1.get_stealthChop());
|
||||
|
||||
if (!uiCfg.para_ui_page) {
|
||||
buttonXState = lv_screen_menu_item_onoff(scr, machine_menu.X_StepMode, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_TMC_MODE_X, 0, stealth_X);
|
||||
|
@ -72,6 +72,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Home X");
|
||||
PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home Y");
|
||||
PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home Z");
|
||||
PROGMEM Language_Str MSG_AUTO_HOME_I = _UxGT("Home ") LCD_STR_I;
|
||||
PROGMEM Language_Str MSG_AUTO_HOME_J = _UxGT("Home ") LCD_STR_J;
|
||||
PROGMEM Language_Str MSG_AUTO_HOME_K = _UxGT("Home ") LCD_STR_K;
|
||||
PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto Z-Align");
|
||||
PROGMEM Language_Str MSG_ITERATION = _UxGT("G34 Iteration: %i");
|
||||
PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Accuracy Decreasing!");
|
||||
@ -85,6 +88,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_HOME_OFFSET_X = _UxGT("Home Offset X");
|
||||
PROGMEM Language_Str MSG_HOME_OFFSET_Y = _UxGT("Home Offset Y");
|
||||
PROGMEM Language_Str MSG_HOME_OFFSET_Z = _UxGT("Home Offset Z");
|
||||
PROGMEM Language_Str MSG_HOME_OFFSET_I = _UxGT("Home Offset ") LCD_STR_I;
|
||||
PROGMEM Language_Str MSG_HOME_OFFSET_J = _UxGT("Home Offset ") LCD_STR_J;
|
||||
PROGMEM Language_Str MSG_HOME_OFFSET_K = _UxGT("Home Offset ") LCD_STR_K;
|
||||
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets Applied");
|
||||
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Set Origin");
|
||||
PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Assisted Tramming");
|
||||
@ -265,6 +271,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_MOVE_X = _UxGT("Move X");
|
||||
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Move Y");
|
||||
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Move Z");
|
||||
PROGMEM Language_Str MSG_MOVE_I = _UxGT("Move ") LCD_STR_I;
|
||||
PROGMEM Language_Str MSG_MOVE_J = _UxGT("Move ") LCD_STR_J;
|
||||
PROGMEM Language_Str MSG_MOVE_K = _UxGT("Move ") LCD_STR_K;
|
||||
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
|
||||
PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
|
||||
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend too cold");
|
||||
@ -329,12 +338,18 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Jerk");
|
||||
PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-Jerk");
|
||||
PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-Jerk");
|
||||
PROGMEM Language_Str MSG_VI_JERK = _UxGT("V") LCD_STR_I _UxGT("-Jerk");
|
||||
PROGMEM Language_Str MSG_VJ_JERK = _UxGT("V") LCD_STR_J _UxGT("-Jerk");
|
||||
PROGMEM Language_Str MSG_VK_JERK = _UxGT("V") LCD_STR_K _UxGT("-Jerk");
|
||||
PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Jerk");
|
||||
PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Junction Dev");
|
||||
PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocity");
|
||||
PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
|
||||
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
|
||||
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
|
||||
PROGMEM Language_Str MSG_VMAX_I = _UxGT("Vmax ") LCD_STR_I;
|
||||
PROGMEM Language_Str MSG_VMAX_J = _UxGT("Vmax ") LCD_STR_J;
|
||||
PROGMEM Language_Str MSG_VMAX_K = _UxGT("Vmax ") LCD_STR_K;
|
||||
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
|
||||
PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
|
||||
PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
|
||||
@ -343,6 +358,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
|
||||
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
|
||||
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
|
||||
PROGMEM Language_Str MSG_AMAX_I = _UxGT("Amax ") LCD_STR_I;
|
||||
PROGMEM Language_Str MSG_AMAX_J = _UxGT("Amax ") LCD_STR_J;
|
||||
PROGMEM Language_Str MSG_AMAX_K = _UxGT("Amax ") LCD_STR_K;
|
||||
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
|
||||
PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
|
||||
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Retract");
|
||||
@ -353,6 +371,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" Steps/mm");
|
||||
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" Steps/mm");
|
||||
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" Steps/mm");
|
||||
PROGMEM Language_Str MSG_I_STEPS = LCD_STR_I _UxGT(" Steps/mm");
|
||||
PROGMEM Language_Str MSG_J_STEPS = LCD_STR_J _UxGT(" Steps/mm");
|
||||
PROGMEM Language_Str MSG_K_STEPS = LCD_STR_K _UxGT(" Steps/mm");
|
||||
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E steps/mm");
|
||||
PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* Steps/mm");
|
||||
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperature");
|
||||
@ -486,6 +507,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
|
||||
PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
|
||||
PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
|
||||
PROGMEM Language_Str MSG_BABYSTEP_I = _UxGT("Babystep ") LCD_STR_I;
|
||||
PROGMEM Language_Str MSG_BABYSTEP_J = _UxGT("Babystep ") LCD_STR_J;
|
||||
PROGMEM Language_Str MSG_BABYSTEP_K = _UxGT("Babystep ") LCD_STR_K;
|
||||
PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
|
||||
PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Endstop Abort");
|
||||
PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Heating Failed");
|
||||
@ -566,6 +590,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
|
||||
PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
|
||||
PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
|
||||
PROGMEM Language_Str MSG_DAC_PERCENT_I = _UxGT("I Driver %");
|
||||
PROGMEM Language_Str MSG_DAC_PERCENT_J = _UxGT("J Driver %");
|
||||
PROGMEM Language_Str MSG_DAC_PERCENT_K = _UxGT("K Driver %");
|
||||
PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
|
||||
PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC CONNECTION ERROR");
|
||||
PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM Write");
|
||||
@ -683,6 +710,9 @@ namespace Language_en {
|
||||
PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
|
||||
PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
|
||||
PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
|
||||
PROGMEM Language_Str MSG_BACKLASH_I = LCD_STR_I;
|
||||
PROGMEM Language_Str MSG_BACKLASH_J = LCD_STR_J;
|
||||
PROGMEM Language_Str MSG_BACKLASH_K = LCD_STR_K;
|
||||
PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Correction");
|
||||
PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Smoothing");
|
||||
|
||||
|
@ -356,7 +356,7 @@ void menu_backlash();
|
||||
#elif ENABLED(LIMITED_MAX_FR_EDITING)
|
||||
DEFAULT_MAX_FEEDRATE
|
||||
#else
|
||||
LOGICAL_AXIS_ARRAY(9999, 9999, 9999, 9999)
|
||||
LOGICAL_AXIS_ARRAY(9999, 9999, 9999, 9999, 9999, 9999, 9999)
|
||||
#endif
|
||||
;
|
||||
#if ENABLED(LIMITED_MAX_FR_EDITING) && !defined(MAX_FEEDRATE_EDIT_VALUES)
|
||||
@ -399,7 +399,7 @@ void menu_backlash();
|
||||
#elif ENABLED(LIMITED_MAX_ACCEL_EDITING)
|
||||
DEFAULT_MAX_ACCELERATION
|
||||
#else
|
||||
LOGICAL_AXIS_ARRAY(99000, 99000, 99000, 99000)
|
||||
LOGICAL_AXIS_ARRAY(99000, 99000, 99000, 99000, 99000, 99000, 99000)
|
||||
#endif
|
||||
;
|
||||
#if ENABLED(LIMITED_MAX_ACCEL_EDITING) && !defined(MAX_ACCEL_EDIT_VALUES)
|
||||
@ -477,7 +477,10 @@ void menu_backlash();
|
||||
#else
|
||||
#define EDIT_JERK_C() EDIT_ITEM_FAST(float52sign, MSG_VC_JERK, &planner.max_jerk.c, 0.1f, max_jerk_edit.c)
|
||||
#endif
|
||||
LINEAR_AXIS_CODE(EDIT_JERK(A), EDIT_JERK(B), EDIT_JERK_C());
|
||||
LINEAR_AXIS_CODE(
|
||||
EDIT_JERK(A), EDIT_JERK(B), EDIT_JERK_C(),
|
||||
EDIT_JERK(I), EDIT_JERK(J), EDIT_JERK(K)
|
||||
);
|
||||
|
||||
#if HAS_EXTRUDERS
|
||||
EDIT_ITEM_FAST(float52sign, MSG_VE_JERK, &planner.max_jerk.e, 0.1f, max_jerk_edit.e);
|
||||
@ -515,7 +518,10 @@ void menu_advanced_steps_per_mm() {
|
||||
BACK_ITEM(MSG_ADVANCED_SETTINGS);
|
||||
|
||||
#define EDIT_QSTEPS(Q) EDIT_ITEM_FAST(float51, MSG_##Q##_STEPS, &planner.settings.axis_steps_per_mm[_AXIS(Q)], 5, 9999, []{ planner.refresh_positioning(); })
|
||||
LINEAR_AXIS_CODE(EDIT_QSTEPS(A), EDIT_QSTEPS(B), EDIT_QSTEPS(C));
|
||||
LINEAR_AXIS_CODE(
|
||||
EDIT_QSTEPS(A), EDIT_QSTEPS(B), EDIT_QSTEPS(C),
|
||||
EDIT_QSTEPS(I), EDIT_QSTEPS(J), EDIT_QSTEPS(K)
|
||||
);
|
||||
|
||||
#if ENABLED(DISTINCT_E_FACTORS)
|
||||
LOOP_L_N(n, E_STEPPERS)
|
||||
|
@ -45,8 +45,21 @@ void menu_backlash() {
|
||||
#endif
|
||||
#define EDIT_BACKLASH_DISTANCE(N) EDIT_ITEM_FAST(float43, MSG_BACKLASH_##N, &backlash.distance_mm[_AXIS(N)], 0.0f, 9.9f);
|
||||
if (_CAN_CALI(A)) EDIT_BACKLASH_DISTANCE(A);
|
||||
if (_CAN_CALI(B)) EDIT_BACKLASH_DISTANCE(B);
|
||||
if (_CAN_CALI(C)) EDIT_BACKLASH_DISTANCE(C);
|
||||
#if HAS_Y_AXIS && _CAN_CALI(B)
|
||||
EDIT_BACKLASH_DISTANCE(B);
|
||||
#endif
|
||||
#if HAS_Z_AXIS && _CAN_CALI(C)
|
||||
EDIT_BACKLASH_DISTANCE(C);
|
||||
#endif
|
||||
#if LINEAR_AXES >= 4 && _CAN_CALI(I)
|
||||
EDIT_BACKLASH_DISTANCE(I);
|
||||
#endif
|
||||
#if LINEAR_AXES >= 5 && _CAN_CALI(J)
|
||||
EDIT_BACKLASH_DISTANCE(J);
|
||||
#endif
|
||||
#if LINEAR_AXES >= 6 && _CAN_CALI(K)
|
||||
EDIT_BACKLASH_DISTANCE(K);
|
||||
#endif
|
||||
|
||||
#ifdef BACKLASH_SMOOTHING_MM
|
||||
EDIT_ITEM_FAST(float43, MSG_BACKLASH_SMOOTHING, &backlash.smoothing_mm, 0.0f, 9.9f);
|
||||
|
@ -89,8 +89,21 @@ static void _lcd_move_xyz(PGM_P const name, const AxisEnum axis) {
|
||||
}
|
||||
}
|
||||
void lcd_move_x() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_X), X_AXIS); }
|
||||
void lcd_move_y() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_Y), Y_AXIS); }
|
||||
void lcd_move_z() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_Z), Z_AXIS); }
|
||||
#if HAS_Y_AXIS
|
||||
void lcd_move_y() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_Y), Y_AXIS); }
|
||||
#endif
|
||||
#if HAS_Z_AXIS
|
||||
void lcd_move_z() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_Z), Z_AXIS); }
|
||||
#endif
|
||||
#if LINEAR_AXES >= 4
|
||||
void lcd_move_i() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_I), I_AXIS); }
|
||||
#endif
|
||||
#if LINEAR_AXES >= 5
|
||||
void lcd_move_j() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_J), J_AXIS); }
|
||||
#endif
|
||||
#if LINEAR_AXES >= 6
|
||||
void lcd_move_k() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_K), K_AXIS); }
|
||||
#endif
|
||||
|
||||
#if E_MANUAL
|
||||
|
||||
@ -217,14 +230,27 @@ void menu_move() {
|
||||
if (NONE(IS_KINEMATIC, NO_MOTION_BEFORE_HOMING) || all_axes_homed()) {
|
||||
if (TERN1(DELTA, current_position.z <= delta_clip_start_height)) {
|
||||
SUBMENU(MSG_MOVE_X, []{ _menu_move_distance(X_AXIS, lcd_move_x); });
|
||||
SUBMENU(MSG_MOVE_Y, []{ _menu_move_distance(Y_AXIS, lcd_move_y); });
|
||||
#if HAS_Y_AXIS
|
||||
SUBMENU(MSG_MOVE_Y, []{ _menu_move_distance(Y_AXIS, lcd_move_y); });
|
||||
#endif
|
||||
}
|
||||
#if ENABLED(DELTA)
|
||||
else
|
||||
ACTION_ITEM(MSG_FREE_XY, []{ line_to_z(delta_clip_start_height); ui.synchronize(); });
|
||||
#endif
|
||||
|
||||
SUBMENU(MSG_MOVE_Z, []{ _menu_move_distance(Z_AXIS, lcd_move_z); });
|
||||
#if HAS_Z_AXIS
|
||||
SUBMENU(MSG_MOVE_Z, []{ _menu_move_distance(Z_AXIS, lcd_move_z); });
|
||||
#endif
|
||||
#if LINEAR_AXES >= 4
|
||||
SUBMENU(MSG_MOVE_I, []{ _menu_move_distance(I_AXIS, lcd_move_i); });
|
||||
#endif
|
||||
#if LINEAR_AXES >= 5
|
||||
SUBMENU(MSG_MOVE_J, []{ _menu_move_distance(J_AXIS, lcd_move_j); });
|
||||
#endif
|
||||
#if LINEAR_AXES >= 6
|
||||
SUBMENU(MSG_MOVE_K, []{ _menu_move_distance(K_AXIS, lcd_move_k); });
|
||||
#endif
|
||||
}
|
||||
else
|
||||
GCODES_ITEM(MSG_AUTO_HOME, G28_STR);
|
||||
@ -321,8 +347,21 @@ void menu_motion() {
|
||||
GCODES_ITEM(MSG_AUTO_HOME, G28_STR);
|
||||
#if ENABLED(INDIVIDUAL_AXIS_HOMING_MENU)
|
||||
GCODES_ITEM(MSG_AUTO_HOME_X, PSTR("G28X"));
|
||||
GCODES_ITEM(MSG_AUTO_HOME_Y, PSTR("G28Y"));
|
||||
GCODES_ITEM(MSG_AUTO_HOME_Z, PSTR("G28Z"));
|
||||
#if HAS_Y_AXIS
|
||||
GCODES_ITEM(MSG_AUTO_HOME_Y, PSTR("G28Y"));
|
||||
#endif
|
||||
#if HAS_Z_AXIS
|
||||
GCODES_ITEM(MSG_AUTO_HOME_Z, PSTR("G28Z"));
|
||||
#endif
|
||||
#if LINEAR_AXES >= 4
|
||||
GCODES_ITEM(MSG_AUTO_HOME_I, PSTR("G28" I_STR));
|
||||
#endif
|
||||
#if LINEAR_AXES >= 5
|
||||
GCODES_ITEM(MSG_AUTO_HOME_J, PSTR("G28" J_STR));
|
||||
#endif
|
||||
#if LINEAR_AXES >= 6
|
||||
GCODES_ITEM(MSG_AUTO_HOME_K, PSTR("G28" K_STR));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
|
@ -95,54 +95,22 @@ void menu_tmc_current() {
|
||||
void menu_tmc_hybrid_thrs() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_TMC_DRIVERS);
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(X, STR_X);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Y, STR_Y);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z, STR_Z);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(X2)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(X2, STR_X2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y2)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Y2, STR_Y2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z2)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z2, STR_Z2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z3)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z3, STR_Z3);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z4)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(Z4, STR_Z4);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E0, LCD_STR_E0);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E1)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E1, LCD_STR_E1);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E2)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E2, LCD_STR_E2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E3)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E3, LCD_STR_E3);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E4)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E4, LCD_STR_E4);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E5)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E5, LCD_STR_E5);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E6)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E6, LCD_STR_E6);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E7)
|
||||
TMC_EDIT_STORED_HYBRID_THRS(E7, LCD_STR_E7);
|
||||
#endif
|
||||
TERN_(X_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(X, STR_X));
|
||||
TERN_(Y_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(Y, STR_Y));
|
||||
TERN_(Z_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(Z, STR_Z));
|
||||
TERN_(X2_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(X2, STR_X2));
|
||||
TERN_(Y2_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(Y2, STR_Y2));
|
||||
TERN_(Z2_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(Z2, STR_Z2));
|
||||
TERN_(Z3_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(Z3, STR_Z3));
|
||||
TERN_(Z4_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(Z4, STR_Z4));
|
||||
TERN_(E0_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E0, LCD_STR_E0));
|
||||
TERN_(E1_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E1, LCD_STR_E1));
|
||||
TERN_(E2_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E2, LCD_STR_E2));
|
||||
TERN_(E3_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E3, LCD_STR_E3));
|
||||
TERN_(E4_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E4, LCD_STR_E4));
|
||||
TERN_(E5_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E5, LCD_STR_E5));
|
||||
TERN_(E6_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E6, LCD_STR_E6));
|
||||
TERN_(E7_HAS_STEALTHCHOP, TMC_EDIT_STORED_HYBRID_THRS(E7, LCD_STR_E7));
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
@ -155,30 +123,17 @@ void menu_tmc_current() {
|
||||
void menu_tmc_homing_thrs() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_TMC_DRIVERS);
|
||||
#if X_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(X);
|
||||
#if X2_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(X2);
|
||||
#endif
|
||||
#endif
|
||||
#if Y_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(Y);
|
||||
#if Y2_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(Y2);
|
||||
#endif
|
||||
#endif
|
||||
#if Z_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(Z);
|
||||
#if Z2_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(Z2);
|
||||
#endif
|
||||
#if Z3_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(Z3);
|
||||
#endif
|
||||
#if Z4_SENSORLESS
|
||||
TMC_EDIT_STORED_SGT(Z4);
|
||||
#endif
|
||||
#endif
|
||||
TERN_( X_SENSORLESS, TMC_EDIT_STORED_SGT(X));
|
||||
TERN_(X2_SENSORLESS, TMC_EDIT_STORED_SGT(X2));
|
||||
TERN_( Y_SENSORLESS, TMC_EDIT_STORED_SGT(Y));
|
||||
TERN_(Y2_SENSORLESS, TMC_EDIT_STORED_SGT(Y2));
|
||||
TERN_( Z_SENSORLESS, TMC_EDIT_STORED_SGT(Z));
|
||||
TERN_(Z2_SENSORLESS, TMC_EDIT_STORED_SGT(Z2));
|
||||
TERN_(Z3_SENSORLESS, TMC_EDIT_STORED_SGT(Z3));
|
||||
TERN_(Z4_SENSORLESS, TMC_EDIT_STORED_SGT(Z4));
|
||||
TERN_( I_SENSORLESS, TMC_EDIT_STORED_SGT(I));
|
||||
TERN_( J_SENSORLESS, TMC_EDIT_STORED_SGT(J));
|
||||
TERN_( K_SENSORLESS, TMC_EDIT_STORED_SGT(K));
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
@ -192,54 +147,22 @@ void menu_tmc_current() {
|
||||
START_MENU();
|
||||
STATIC_ITEM(MSG_TMC_STEALTH_ENABLED);
|
||||
BACK_ITEM(MSG_TMC_DRIVERS);
|
||||
#if AXIS_HAS_STEALTHCHOP(X)
|
||||
TMC_EDIT_STEP_MODE(X, STR_X);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y)
|
||||
TMC_EDIT_STEP_MODE(Y, STR_Y);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z)
|
||||
TMC_EDIT_STEP_MODE(Z, STR_Z);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(X2)
|
||||
TMC_EDIT_STEP_MODE(X2, STR_X2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Y2)
|
||||
TMC_EDIT_STEP_MODE(Y2, STR_Y2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z2)
|
||||
TMC_EDIT_STEP_MODE(Z2, STR_Z2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z3)
|
||||
TMC_EDIT_STEP_MODE(Z3, STR_Z3);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(Z4)
|
||||
TMC_EDIT_STEP_MODE(Z4, STR_Z4);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E0)
|
||||
TMC_EDIT_STEP_MODE(E0, LCD_STR_E0);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E1)
|
||||
TMC_EDIT_STEP_MODE(E1, LCD_STR_E1);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E2)
|
||||
TMC_EDIT_STEP_MODE(E2, LCD_STR_E2);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E3)
|
||||
TMC_EDIT_STEP_MODE(E3, LCD_STR_E3);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E4)
|
||||
TMC_EDIT_STEP_MODE(E4, LCD_STR_E4);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E5)
|
||||
TMC_EDIT_STEP_MODE(E5, LCD_STR_E5);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E6)
|
||||
TMC_EDIT_STEP_MODE(E6, LCD_STR_E6);
|
||||
#endif
|
||||
#if AXIS_HAS_STEALTHCHOP(E7)
|
||||
TMC_EDIT_STEP_MODE(E7, LCD_STR_E7);
|
||||
#endif
|
||||
TERN_( X_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(X, STR_X));
|
||||
TERN_(X2_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(X2, STR_X2));
|
||||
TERN_( Y_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(Y, STR_Y));
|
||||
TERN_(Y2_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(Y2, STR_Y2));
|
||||
TERN_( Z_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(Z, STR_Z));
|
||||
TERN_(Z2_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(Z2, STR_Z2));
|
||||
TERN_(Z3_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(Z3, STR_Z3));
|
||||
TERN_(Z4_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(Z4, STR_Z4));
|
||||
TERN_(E0_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E0, LCD_STR_E0));
|
||||
TERN_(E1_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E1, LCD_STR_E1));
|
||||
TERN_(E2_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E2, LCD_STR_E2));
|
||||
TERN_(E3_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E3, LCD_STR_E3));
|
||||
TERN_(E4_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E4, LCD_STR_E4));
|
||||
TERN_(E5_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E5, LCD_STR_E5));
|
||||
TERN_(E6_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E6, LCD_STR_E6));
|
||||
TERN_(E7_HAS_STEALTHCHOP, TMC_EDIT_STEP_MODE(E7, LCD_STR_E7));
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
@ -249,15 +172,9 @@ void menu_tmc() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_ADVANCED_SETTINGS);
|
||||
SUBMENU(MSG_TMC_CURRENT, menu_tmc_current);
|
||||
#if ENABLED(HYBRID_THRESHOLD)
|
||||
SUBMENU(MSG_TMC_HYBRID_THRS, menu_tmc_hybrid_thrs);
|
||||
#endif
|
||||
#if ENABLED(SENSORLESS_HOMING)
|
||||
SUBMENU(MSG_TMC_HOMING_THRS, menu_tmc_homing_thrs);
|
||||
#endif
|
||||
#if HAS_STEALTHCHOP
|
||||
SUBMENU(MSG_TMC_STEPPING_MODE, menu_tmc_step_mode);
|
||||
#endif
|
||||
TERN_(HYBRID_THRESHOLD, SUBMENU(MSG_TMC_HYBRID_THRS, menu_tmc_hybrid_thrs));
|
||||
TERN_(SENSORLESS_HOMING, SUBMENU(MSG_TMC_HOMING_THRS, menu_tmc_homing_thrs));
|
||||
TERN_(HAS_STEALTHCHOP, SUBMENU(MSG_TMC_STEPPING_MODE, menu_tmc_step_mode));
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
|
@ -653,10 +653,12 @@ static void drawAxisValue(const AxisEnum axis) {
|
||||
static void moveAxis(const AxisEnum axis, const int8_t direction) {
|
||||
quick_feedback();
|
||||
|
||||
if (axis == E_AXIS && thermalManager.tooColdToExtrude(motionAxisState.e_selection)) {
|
||||
drawMessage("Too cold");
|
||||
return;
|
||||
}
|
||||
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
||||
if (axis == E_AXIS && thermalManager.tooColdToExtrude(motionAxisState.e_selection)) {
|
||||
drawMessage("Too cold");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
const float diff = motionAxisState.currentStepSize * direction;
|
||||
|
||||
|
@ -638,10 +638,12 @@ static void drawAxisValue(const AxisEnum axis) {
|
||||
static void moveAxis(const AxisEnum axis, const int8_t direction) {
|
||||
quick_feedback();
|
||||
|
||||
if (axis == E_AXIS && thermalManager.tooColdToExtrude(motionAxisState.e_selection)) {
|
||||
drawMessage("Too cold");
|
||||
return;
|
||||
}
|
||||
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
||||
if (axis == E_AXIS && thermalManager.tooColdToExtrude(motionAxisState.e_selection)) {
|
||||
drawMessage("Too cold");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
const float diff = motionAxisState.currentStepSize * direction;
|
||||
|
||||
|
@ -640,10 +640,12 @@ static void drawAxisValue(const AxisEnum axis) {
|
||||
static void moveAxis(const AxisEnum axis, const int8_t direction) {
|
||||
quick_feedback();
|
||||
|
||||
if (axis == E_AXIS && thermalManager.tooColdToExtrude(motionAxisState.e_selection)) {
|
||||
drawMessage("Too cold");
|
||||
return;
|
||||
}
|
||||
#if ENABLED(PREVENT_COLD_EXTRUSION)
|
||||
if (axis == E_AXIS && thermalManager.tooColdToExtrude(motionAxisState.e_selection)) {
|
||||
drawMessage("Too cold");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
const float diff = motionAxisState.currentStepSize * direction;
|
||||
|
||||
|
Reference in New Issue
Block a user