|
@@ -185,7 +185,10 @@ bool dwin_abort_flag = false; // Flag to reset feedrate, return to Home
|
185
|
185
|
|
186
|
186
|
constexpr float default_max_feedrate[] = DEFAULT_MAX_FEEDRATE;
|
187
|
187
|
constexpr float default_max_acceleration[] = DEFAULT_MAX_ACCELERATION;
|
188
|
|
-constexpr float default_max_jerk[] = { DEFAULT_XJERK, DEFAULT_YJERK, DEFAULT_ZJERK, DEFAULT_EJERK };
|
|
188
|
+
|
|
189
|
+#if HAS_CLASSIC_JERK
|
|
190
|
+ constexpr float default_max_jerk[] = { DEFAULT_XJERK, DEFAULT_YJERK, DEFAULT_ZJERK, DEFAULT_EJERK };
|
|
191
|
+#endif
|
189
|
192
|
|
190
|
193
|
uint8_t Percentrecord = 0;
|
191
|
194
|
uint16_t remain_time = 0;
|
|
@@ -1492,8 +1495,8 @@ void HMI_MaxAccelerationXYZE() {
|
1492
|
1495
|
if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Max_Jerk)) {
|
1493
|
1496
|
checkkey = MaxJerk;
|
1494
|
1497
|
EncoderRate.enabled = false;
|
1495
|
|
- if (WITHIN(HMI_flag.step_axis, X_AXIS, E_AXIS))
|
1496
|
|
- planner.set_max_jerk(HMI_flag.step_axis, HMI_ValueStruct.Max_Jerk / 10);
|
|
1498
|
+ if (WITHIN(HMI_flag.jerk_axis, X_AXIS, E_AXIS))
|
|
1499
|
+ planner.set_max_jerk(HMI_flag.jerk_axis, HMI_ValueStruct.Max_Jerk / 10);
|
1497
|
1500
|
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk);
|
1498
|
1501
|
return;
|
1499
|
1502
|
}
|
|
@@ -2955,75 +2958,77 @@ inline void Draw_Max_Accel_Menu() {
|
2955
|
2958
|
#endif
|
2956
|
2959
|
}
|
2957
|
2960
|
|
2958
|
|
-inline void Draw_Max_Jerk_Menu() {
|
2959
|
|
- Clear_Main_Window();
|
|
2961
|
+#if HAS_CLASSIC_JERK
|
|
2962
|
+ inline void Draw_Max_Jerk_Menu() {
|
|
2963
|
+ Clear_Main_Window();
|
2960
|
2964
|
|
2961
|
|
- if (HMI_IsChinese()) {
|
2962
|
|
- DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Jerk"
|
2963
|
|
-
|
2964
|
|
- DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(1));
|
2965
|
|
- DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(1) + 1);
|
2966
|
|
- DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(1));
|
2967
|
|
- DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(1)); // Max Jerk speed X
|
2968
|
|
- DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(2));
|
2969
|
|
- DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(2) + 1);
|
2970
|
|
- DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(2));
|
2971
|
|
- DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(2) + 3); // Max Jerk speed Y
|
2972
|
|
- DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(3));
|
2973
|
|
- DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1);
|
2974
|
|
- DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(3));
|
2975
|
|
- DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(3) + 3); // Max Jerk speed Z
|
2976
|
|
- #if HAS_HOTEND
|
2977
|
|
- DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(4));
|
2978
|
|
- DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(4) + 1);
|
2979
|
|
- DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(4));
|
2980
|
|
- DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(4) + 3); // Max Jerk speed E
|
2981
|
|
- #endif
|
2982
|
|
- }
|
2983
|
|
- else {
|
2984
|
|
- #ifdef USE_STRING_HEADINGS
|
2985
|
|
- Draw_Title(GET_TEXT_F(MSG_JERK));
|
2986
|
|
- DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Max Jerk X"));
|
2987
|
|
- DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Max Jerk Y"));
|
2988
|
|
- DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Max Jerk Z"));
|
|
2965
|
+ if (HMI_IsChinese()) {
|
|
2966
|
+ DWIN_Frame_TitleCopy(1, 1, 16, 28, 28); // "Jerk"
|
|
2967
|
+
|
|
2968
|
+ DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(1));
|
|
2969
|
+ DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(1) + 1);
|
|
2970
|
+ DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(1));
|
|
2971
|
+ DWIN_Frame_AreaCopy(1, 229, 133, 236, 147, LBLX + 83, MBASE(1)); // Max Jerk speed X
|
|
2972
|
+ DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(2));
|
|
2973
|
+ DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(2) + 1);
|
|
2974
|
+ DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(2));
|
|
2975
|
+ DWIN_Frame_AreaCopy(1, 1, 150, 7, 160, LBLX + 83, MBASE(2) + 3); // Max Jerk speed Y
|
|
2976
|
+ DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(3));
|
|
2977
|
+ DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(3) + 1);
|
|
2978
|
+ DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(3));
|
|
2979
|
+ DWIN_Frame_AreaCopy(1, 9, 150, 16, 160, LBLX + 83, MBASE(3) + 3); // Max Jerk speed Z
|
2989
|
2980
|
#if HAS_HOTEND
|
2990
|
|
- DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Max Jerk E"));
|
|
2981
|
+ DWIN_Frame_AreaCopy(1, 173, 133, 200, 147, LBLX , MBASE(4));
|
|
2982
|
+ DWIN_Frame_AreaCopy(1, 1, 180, 28, 192, LBLX + 27, MBASE(4) + 1);
|
|
2983
|
+ DWIN_Frame_AreaCopy(1, 202, 133, 228, 147, LBLX + 53, MBASE(4));
|
|
2984
|
+ DWIN_Frame_AreaCopy(1, 18, 150, 25, 160, LBLX + 83, MBASE(4) + 3); // Max Jerk speed E
|
2991
|
2985
|
#endif
|
2992
|
|
- #else
|
2993
|
|
- DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Jerk"
|
2994
|
|
- draw_max_en(MBASE(1)); // "Max"
|
2995
|
|
- draw_jerk_en(MBASE(1)); // "Jerk"
|
2996
|
|
- draw_speed_en(72, MBASE(1)); // "Speed"
|
2997
|
|
- say_x(115, MBASE(1)); // "X"
|
2998
|
|
-
|
2999
|
|
- draw_max_en(MBASE(2)); // "Max"
|
3000
|
|
- draw_jerk_en(MBASE(2)); // "Jerk"
|
3001
|
|
- draw_speed_en(72, MBASE(2)); // "Speed"
|
3002
|
|
- say_y(115, MBASE(2)); // "Y"
|
3003
|
|
-
|
3004
|
|
- draw_max_en(MBASE(3)); // "Max"
|
3005
|
|
- draw_jerk_en(MBASE(3)); // "Jerk"
|
3006
|
|
- draw_speed_en(72, MBASE(3)); // "Speed"
|
3007
|
|
- say_z(115, MBASE(3)); // "Z"
|
|
2986
|
+ }
|
|
2987
|
+ else {
|
|
2988
|
+ #ifdef USE_STRING_HEADINGS
|
|
2989
|
+ Draw_Title(GET_TEXT_F(MSG_JERK));
|
|
2990
|
+ DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(1), F("Max Jerk X"));
|
|
2991
|
+ DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(2), F("Max Jerk Y"));
|
|
2992
|
+ DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(3), F("Max Jerk Z"));
|
|
2993
|
+ #if HAS_HOTEND
|
|
2994
|
+ DWIN_Draw_String(false, true, font8x16, Color_White, Color_Bg_Black, LBLX, MBASE(4), F("Max Jerk E"));
|
|
2995
|
+ #endif
|
|
2996
|
+ #else
|
|
2997
|
+ DWIN_Frame_TitleCopy(1, 144, 16, 189, 26); // "Jerk"
|
|
2998
|
+ draw_max_en(MBASE(1)); // "Max"
|
|
2999
|
+ draw_jerk_en(MBASE(1)); // "Jerk"
|
|
3000
|
+ draw_speed_en(72, MBASE(1)); // "Speed"
|
|
3001
|
+ say_x(115, MBASE(1)); // "X"
|
|
3002
|
+
|
|
3003
|
+ draw_max_en(MBASE(2)); // "Max"
|
|
3004
|
+ draw_jerk_en(MBASE(2)); // "Jerk"
|
|
3005
|
+ draw_speed_en(72, MBASE(2)); // "Speed"
|
|
3006
|
+ say_y(115, MBASE(2)); // "Y"
|
|
3007
|
+
|
|
3008
|
+ draw_max_en(MBASE(3)); // "Max"
|
|
3009
|
+ draw_jerk_en(MBASE(3)); // "Jerk"
|
|
3010
|
+ draw_speed_en(72, MBASE(3)); // "Speed"
|
|
3011
|
+ say_z(115, MBASE(3)); // "Z"
|
3008
|
3012
|
|
3009
|
|
- #if HAS_HOTEND
|
3010
|
|
- draw_max_en(MBASE(4)); // "Max"
|
3011
|
|
- draw_jerk_en(MBASE(4)); // "Jerk"
|
3012
|
|
- draw_speed_en(72, MBASE(4)); // "Speed"
|
3013
|
|
- say_e(115, MBASE(4)); // "E"
|
|
3013
|
+ #if HAS_HOTEND
|
|
3014
|
+ draw_max_en(MBASE(4)); // "Max"
|
|
3015
|
+ draw_jerk_en(MBASE(4)); // "Jerk"
|
|
3016
|
+ draw_speed_en(72, MBASE(4)); // "Speed"
|
|
3017
|
+ say_e(115, MBASE(4)); // "E"
|
|
3018
|
+ #endif
|
3014
|
3019
|
#endif
|
|
3020
|
+ }
|
|
3021
|
+
|
|
3022
|
+ Draw_Back_First();
|
|
3023
|
+ LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i);
|
|
3024
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT);
|
|
3025
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT);
|
|
3026
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT);
|
|
3027
|
+ #if HAS_HOTEND
|
|
3028
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT);
|
3015
|
3029
|
#endif
|
3016
|
3030
|
}
|
3017
|
|
-
|
3018
|
|
- Draw_Back_First();
|
3019
|
|
- LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i);
|
3020
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT);
|
3021
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT);
|
3022
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT);
|
3023
|
|
- #if HAS_HOTEND
|
3024
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT);
|
3025
|
|
- #endif
|
3026
|
|
-}
|
|
3031
|
+#endif
|
3027
|
3032
|
|
3028
|
3033
|
inline void Draw_Steps_Menu() {
|
3029
|
3034
|
Clear_Main_Window();
|
|
@@ -3636,7 +3641,9 @@ void DWIN_HandleScreen() {
|
3636
|
3641
|
#endif
|
3637
|
3642
|
case MaxSpeed: HMI_MaxSpeed(); break;
|
3638
|
3643
|
case MaxAcceleration: HMI_MaxAcceleration(); break;
|
3639
|
|
- case MaxJerk: HMI_MaxJerk(); break;
|
|
3644
|
+ #if HAS_CLASSIC_JERK
|
|
3645
|
+ case MaxJerk: HMI_MaxJerk(); break;
|
|
3646
|
+ #endif
|
3640
|
3647
|
case Step: HMI_Step(); break;
|
3641
|
3648
|
case Move_X: HMI_Move_X(); break;
|
3642
|
3649
|
case Move_Y: HMI_Move_Y(); break;
|
|
@@ -3657,7 +3664,9 @@ void DWIN_HandleScreen() {
|
3657
|
3664
|
case PrintSpeed: HMI_PrintSpeed(); break;
|
3658
|
3665
|
case MaxSpeed_value: HMI_MaxFeedspeedXYZE(); break;
|
3659
|
3666
|
case MaxAcceleration_value: HMI_MaxAccelerationXYZE(); break;
|
3660
|
|
- case MaxJerk_value: HMI_MaxJerkXYZE(); break;
|
|
3667
|
+ #if HAS_CLASSIC_JERK
|
|
3668
|
+ case MaxJerk_value: HMI_MaxJerkXYZE(); break;
|
|
3669
|
+ #endif
|
3661
|
3670
|
case Step_value: HMI_StepXYZE(); break;
|
3662
|
3671
|
default: break;
|
3663
|
3672
|
}
|