Fix E3V2 DWIN Jerk Menu (#20352)
* Fix E3V2 DWIN build without CLASSIC_JERK * Fix jerk edits applying to wrong index
This commit is contained in:
parent
f42d15437b
commit
1c695e130e
@ -185,7 +185,10 @@ bool dwin_abort_flag = false; // Flag to reset feedrate, return to Home
|
||||
|
||||
constexpr float default_max_feedrate[] = DEFAULT_MAX_FEEDRATE;
|
||||
constexpr float default_max_acceleration[] = DEFAULT_MAX_ACCELERATION;
|
||||
constexpr float default_max_jerk[] = { DEFAULT_XJERK, DEFAULT_YJERK, DEFAULT_ZJERK, DEFAULT_EJERK };
|
||||
|
||||
#if HAS_CLASSIC_JERK
|
||||
constexpr float default_max_jerk[] = { DEFAULT_XJERK, DEFAULT_YJERK, DEFAULT_ZJERK, DEFAULT_EJERK };
|
||||
#endif
|
||||
|
||||
uint8_t Percentrecord = 0;
|
||||
uint16_t remain_time = 0;
|
||||
@ -1492,8 +1495,8 @@ void HMI_MaxAccelerationXYZE() {
|
||||
if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Max_Jerk)) {
|
||||
checkkey = MaxJerk;
|
||||
EncoderRate.enabled = false;
|
||||
if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS))
|
||||
planner.set_max_jerk(HMI_flag.step_axis, HMI_ValueStruct.Max_Jerk / 10);
|
||||
if (WITHIN(HMI_flag.jerk_axis, X_AXIS, E_AXIS))
|
||||
planner.set_max_jerk(HMI_flag.jerk_axis, HMI_ValueStruct.Max_Jerk / 10);
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk);
|
||||
return;
|
||||
}
|
||||
@ -2955,75 +2958,77 @@ inline void Draw_Max_Accel_Menu() {
|
||||
#endif
|
||||
}
|
||||
|
||||
inline void Draw_Max_Jerk_Menu() {
|
||||
Clear_Main_Window();
|
||||
#if HAS_CLASSIC_JERK
|
||||
inline void Draw_Max_Jerk_Menu() {
|
||||
Clear_Main_Window();
|
||||
|
||||
if (HMI_IsChinese()) {
|
||||
DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Jerk"
|
||||
if (HMI_IsChinese()) {
|
||||
DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Jerk"
|
||||
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(1));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(1) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(1));
|
||||
DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(1)); // Max Jerk speed X
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(2));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(2) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(2));
|
||||
DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(2) + 3); // Max Jerk speed Y
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(3));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(3));
|
||||
DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(3) + 3); // Max Jerk speed Z
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(1));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(1) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(1));
|
||||
DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(1)); // Max Jerk speed X
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(2));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(2) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(2));
|
||||
DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(2) + 3); // Max Jerk speed Y
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(3));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(3));
|
||||
DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(3) + 3); // Max Jerk speed Z
|
||||
#if HAS_HOTEND
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(4));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(4) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(4));
|
||||
DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(4) + 3); // Max Jerk speed E
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
#ifdef USE_STRING_HEADINGS
|
||||
Draw_Title(GET_TEXT_F(MSG_JERK));
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Max Jerk X"));
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Max Jerk Y"));
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Max Jerk Z"));
|
||||
#if HAS_HOTEND
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Max Jerk E"));
|
||||
#endif
|
||||
#else
|
||||
DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Jerk"
|
||||
draw_max_en(MBASE(1)); // "Max"
|
||||
draw_jerk_en(MBASE(1)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(1)); // "Speed"
|
||||
say_x(115, MBASE(1)); // "X"
|
||||
|
||||
draw_max_en(MBASE(2)); // "Max"
|
||||
draw_jerk_en(MBASE(2)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(2)); // "Speed"
|
||||
say_y(115, MBASE(2)); // "Y"
|
||||
|
||||
draw_max_en(MBASE(3)); // "Max"
|
||||
draw_jerk_en(MBASE(3)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(3)); // "Speed"
|
||||
say_z(115, MBASE(3)); // "Z"
|
||||
|
||||
#if HAS_HOTEND
|
||||
draw_max_en(MBASE(4)); // "Max"
|
||||
draw_jerk_en(MBASE(4)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(4)); // "Speed"
|
||||
say_e(115, MBASE(4)); // "E"
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
Draw_Back_First();
|
||||
LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i);
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT);
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT);
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT);
|
||||
#if HAS_HOTEND
|
||||
DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(4));
|
||||
DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(4) + 1);
|
||||
DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(4));
|
||||
DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(4) + 3); // Max Jerk speed E
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT);
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
#ifdef USE_STRING_HEADINGS
|
||||
Draw_Title(GET_TEXT_F(MSG_JERK));
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Max Jerk X"));
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Max Jerk Y"));
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Max Jerk Z"));
|
||||
#if HAS_HOTEND
|
||||
DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Max Jerk E"));
|
||||
#endif
|
||||
#else
|
||||
DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Jerk"
|
||||
draw_max_en(MBASE(1)); // "Max"
|
||||
draw_jerk_en(MBASE(1)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(1)); // "Speed"
|
||||
say_x(115, MBASE(1)); // "X"
|
||||
|
||||
draw_max_en(MBASE(2)); // "Max"
|
||||
draw_jerk_en(MBASE(2)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(2)); // "Speed"
|
||||
say_y(115, MBASE(2)); // "Y"
|
||||
|
||||
draw_max_en(MBASE(3)); // "Max"
|
||||
draw_jerk_en(MBASE(3)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(3)); // "Speed"
|
||||
say_z(115, MBASE(3)); // "Z"
|
||||
|
||||
#if HAS_HOTEND
|
||||
draw_max_en(MBASE(4)); // "Max"
|
||||
draw_jerk_en(MBASE(4)); // "Jerk"
|
||||
draw_speed_en(72, MBASE(4)); // "Speed"
|
||||
say_e(115, MBASE(4)); // "E"
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
Draw_Back_First();
|
||||
LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i);
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT);
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT);
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT);
|
||||
#if HAS_HOTEND
|
||||
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
inline void Draw_Steps_Menu() {
|
||||
Clear_Main_Window();
|
||||
@ -3636,7 +3641,9 @@ void DWIN_HandleScreen() {
|
||||
#endif
|
||||
case MaxSpeed: HMI_MaxSpeed(); break;
|
||||
case MaxAcceleration: HMI_MaxAcceleration(); break;
|
||||
case MaxJerk: HMI_MaxJerk(); break;
|
||||
#if HAS_CLASSIC_JERK
|
||||
case MaxJerk: HMI_MaxJerk(); break;
|
||||
#endif
|
||||
case Step: HMI_Step(); break;
|
||||
case Move_X: HMI_Move_X(); break;
|
||||
case Move_Y: HMI_Move_Y(); break;
|
||||
@ -3657,7 +3664,9 @@ void DWIN_HandleScreen() {
|
||||
case PrintSpeed: HMI_PrintSpeed(); break;
|
||||
case MaxSpeed_value: HMI_MaxFeedspeedXYZE(); break;
|
||||
case MaxAcceleration_value: HMI_MaxAccelerationXYZE(); break;
|
||||
case MaxJerk_value: HMI_MaxJerkXYZE(); break;
|
||||
#if HAS_CLASSIC_JERK
|
||||
case MaxJerk_value: HMI_MaxJerkXYZE(); break;
|
||||
#endif
|
||||
case Step_value: HMI_StepXYZE(); break;
|
||||
default: break;
|
||||
}
|
||||
|
@ -13,4 +13,8 @@ use_example_configs "Creality/Ender-3 V2"
|
||||
opt_enable MARLIN_DEV_MODE
|
||||
exec_test $1 $2 "Ender 3 v2" "$3"
|
||||
|
||||
use_example_configs "Creality/Ender-3 V2"
|
||||
opt_disable CLASSIC_JERK
|
||||
exec_test $1 $2 "Ender 3 v2 w/o CLASSIC_JERK" "$3"
|
||||
|
||||
restore_configs
|
||||
|
Loading…
Reference in New Issue
Block a user