|
@@ -132,8 +132,9 @@
|
132
|
132
|
|
133
|
133
|
#define FEEDRATE_E (60)
|
134
|
134
|
|
135
|
|
-// Mininum unit (0.1) : multiple (10)
|
136
|
|
-#define MINUNITMULT 10
|
|
135
|
+// Minimum unit (0.1) : multiple (10)
|
|
136
|
+#define UNITFDIGITS 1
|
|
137
|
+#define MINUNITMULT pow(10, UNITFDIGITS)
|
137
|
138
|
|
138
|
139
|
#define ENCODER_WAIT 20
|
139
|
140
|
#define DWIN_SCROLL_UPDATE_INTERVAL 2000
|
|
@@ -1171,8 +1172,8 @@ void HMI_Move_X() {
|
1171
|
1172
|
}
|
1172
|
1173
|
NOLESS(HMI_ValueStruct.Move_X_scale, (X_MIN_POS) * MINUNITMULT);
|
1173
|
1174
|
NOMORE(HMI_ValueStruct.Move_X_scale, (X_MAX_POS) * MINUNITMULT);
|
1174
|
|
- current_position.x = HMI_ValueStruct.Move_X_scale / 10;
|
1175
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale);
|
|
1175
|
+ current_position.x = HMI_ValueStruct.Move_X_scale / MINUNITMULT;
|
|
1176
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, UNITFDIGITS, 216, MBASE(1), HMI_ValueStruct.Move_X_scale);
|
1176
|
1177
|
DWIN_UpdateLCD();
|
1177
|
1178
|
}
|
1178
|
1179
|
}
|
|
@@ -1194,8 +1195,8 @@ void HMI_Move_Y() {
|
1194
|
1195
|
}
|
1195
|
1196
|
NOLESS(HMI_ValueStruct.Move_Y_scale, (Y_MIN_POS) * MINUNITMULT);
|
1196
|
1197
|
NOMORE(HMI_ValueStruct.Move_Y_scale, (Y_MAX_POS) * MINUNITMULT);
|
1197
|
|
- current_position.y = HMI_ValueStruct.Move_Y_scale / 10;
|
1198
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale);
|
|
1198
|
+ current_position.y = HMI_ValueStruct.Move_Y_scale / MINUNITMULT;
|
|
1199
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, UNITFDIGITS, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale);
|
1199
|
1200
|
DWIN_UpdateLCD();
|
1200
|
1201
|
}
|
1201
|
1202
|
}
|
|
@@ -1206,7 +1207,7 @@ void HMI_Move_Z() {
|
1206
|
1207
|
if (Apply_Encoder(encoder_diffState, HMI_ValueStruct.Move_Z_scale)) {
|
1207
|
1208
|
checkkey = AxisMove;
|
1208
|
1209
|
EncoderRate.enabled = false;
|
1209
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale);
|
|
1210
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale);
|
1210
|
1211
|
if (!planner.is_full()) {
|
1211
|
1212
|
// Wait for planner moves to finish!
|
1212
|
1213
|
planner.synchronize();
|
|
@@ -1217,8 +1218,8 @@ void HMI_Move_Z() {
|
1217
|
1218
|
}
|
1218
|
1219
|
NOLESS(HMI_ValueStruct.Move_Z_scale, Z_MIN_POS * MINUNITMULT);
|
1219
|
1220
|
NOMORE(HMI_ValueStruct.Move_Z_scale, Z_MAX_POS * MINUNITMULT);
|
1220
|
|
- current_position.z = HMI_ValueStruct.Move_Z_scale / 10;
|
1221
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale);
|
|
1221
|
+ current_position.z = HMI_ValueStruct.Move_Z_scale / MINUNITMULT;
|
|
1222
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, UNITFDIGITS, 216, MBASE(3), HMI_ValueStruct.Move_Z_scale);
|
1222
|
1223
|
DWIN_UpdateLCD();
|
1223
|
1224
|
}
|
1224
|
1225
|
}
|
|
@@ -1233,7 +1234,7 @@ void HMI_Move_Z() {
|
1233
|
1234
|
checkkey = AxisMove;
|
1234
|
1235
|
EncoderRate.enabled = false;
|
1235
|
1236
|
last_E_scale = HMI_ValueStruct.Move_E_scale;
|
1236
|
|
- DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale);
|
|
1237
|
+ DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 3, UNITFDIGITS, 216, MBASE(4), HMI_ValueStruct.Move_E_scale);
|
1237
|
1238
|
if (!planner.is_full()) {
|
1238
|
1239
|
planner.synchronize(); // Wait for planner moves to finish!
|
1239
|
1240
|
planner.buffer_line(current_position, MMM_TO_MMS(FEEDRATE_E), active_extruder);
|
|
@@ -1245,8 +1246,8 @@ void HMI_Move_Z() {
|
1245
|
1246
|
HMI_ValueStruct.Move_E_scale = last_E_scale + (EXTRUDE_MAXLENGTH) * MINUNITMULT;
|
1246
|
1247
|
else if ((last_E_scale - HMI_ValueStruct.Move_E_scale) > (EXTRUDE_MAXLENGTH) * MINUNITMULT)
|
1247
|
1248
|
HMI_ValueStruct.Move_E_scale = last_E_scale - (EXTRUDE_MAXLENGTH) * MINUNITMULT;
|
1248
|
|
- current_position.e = HMI_ValueStruct.Move_E_scale / 10;
|
1249
|
|
- DWIN_Draw_Signed_Float(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale);
|
|
1249
|
+ current_position.e = HMI_ValueStruct.Move_E_scale / MINUNITMULT;
|
|
1250
|
+ DWIN_Draw_Signed_Float(font8x16, Select_Color, 3, UNITFDIGITS, 216, MBASE(4), HMI_ValueStruct.Move_E_scale);
|
1250
|
1251
|
DWIN_UpdateLCD();
|
1251
|
1252
|
}
|
1252
|
1253
|
}
|
|
@@ -1503,7 +1504,7 @@ void HMI_MaxAccelerationXYZE() {
|
1503
|
1504
|
NOMORE(HMI_ValueStruct.Max_Jerk, default_max_jerk[HMI_flag.jerk_axis] * 2 * MINUNITMULT);
|
1504
|
1505
|
NOLESS(HMI_ValueStruct.Max_Jerk, (MIN_MAXJERK) * MINUNITMULT);
|
1505
|
1506
|
// MaxJerk value
|
1506
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk);
|
|
1507
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, UNITFDIGITS, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk);
|
1507
|
1508
|
}
|
1508
|
1509
|
}
|
1509
|
1510
|
|
|
@@ -1525,7 +1526,7 @@ void HMI_StepXYZE() {
|
1525
|
1526
|
NOMORE(HMI_ValueStruct.Max_Step, 999.9 * MINUNITMULT);
|
1526
|
1527
|
NOLESS(HMI_ValueStruct.Max_Step, MIN_STEP);
|
1527
|
1528
|
// Step value
|
1528
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step);
|
|
1529
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, UNITFDIGITS, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step);
|
1529
|
1530
|
}
|
1530
|
1531
|
}
|
1531
|
1532
|
|
|
@@ -2317,13 +2318,12 @@ void HMI_Prepare() {
|
2317
|
2318
|
select_axis.reset();
|
2318
|
2319
|
Draw_Move_Menu();
|
2319
|
2320
|
|
2320
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(1), current_position.x * MINUNITMULT);
|
2321
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(2), current_position.y * MINUNITMULT);
|
2322
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(3), current_position.z * MINUNITMULT);
|
|
2321
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 216, MBASE(1), current_position.x * MINUNITMULT);
|
|
2322
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 216, MBASE(2), current_position.y * MINUNITMULT);
|
|
2323
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 216, MBASE(3), current_position.z * MINUNITMULT);
|
2323
|
2324
|
#if HAS_HOTEND
|
2324
|
|
- current_position.e = HMI_ValueStruct.Move_E_scale = 0.0;
|
2325
|
|
- sync_plan_position_e();
|
2326
|
|
- DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 3, 1, 216, MBASE(4), 0.0);
|
|
2325
|
+ HMI_ValueStruct.Move_E_scale = current_position.e * MINUNITMULT;
|
|
2326
|
+ DWIN_Draw_Signed_Float(font8x16, Color_Bg_Black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale);
|
2327
|
2327
|
#endif
|
2328
|
2328
|
break;
|
2329
|
2329
|
case PREPARE_CASE_DISA: // Disable steppers
|
|
@@ -2573,8 +2573,7 @@ void HMI_AxisMove() {
|
2573
|
2573
|
if (HMI_flag.ETempTooLow_flag) {
|
2574
|
2574
|
if (encoder_diffState == ENCODER_DIFF_ENTER) {
|
2575
|
2575
|
HMI_flag.ETempTooLow_flag = false;
|
2576
|
|
- current_position.e = HMI_ValueStruct.Move_E_scale = 0;
|
2577
|
|
- sync_plan_position_e();
|
|
2576
|
+ HMI_ValueStruct.Move_E_scale = current_position.e * MINUNITMULT;
|
2578
|
2577
|
Draw_Move_Menu();
|
2579
|
2578
|
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(1), HMI_ValueStruct.Move_X_scale);
|
2580
|
2579
|
DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 216, MBASE(2), HMI_ValueStruct.Move_Y_scale);
|
|
@@ -3020,11 +3019,11 @@ inline void Draw_Max_Accel_Menu() {
|
3020
|
3019
|
|
3021
|
3020
|
Draw_Back_First();
|
3022
|
3021
|
LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_MaxSpeedJerkX + i);
|
3023
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT);
|
3024
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT);
|
3025
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT);
|
|
3022
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(1), planner.max_jerk[X_AXIS] * MINUNITMULT);
|
|
3023
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(2), planner.max_jerk[Y_AXIS] * MINUNITMULT);
|
|
3024
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(3), planner.max_jerk[Z_AXIS] * MINUNITMULT);
|
3026
|
3025
|
#if HAS_HOTEND
|
3027
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT);
|
|
3026
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(4), planner.max_jerk[E_AXIS] * MINUNITMULT);
|
3028
|
3027
|
#endif
|
3029
|
3028
|
}
|
3030
|
3029
|
#endif
|
|
@@ -3068,11 +3067,11 @@ inline void Draw_Steps_Menu() {
|
3068
|
3067
|
|
3069
|
3068
|
Draw_Back_First();
|
3070
|
3069
|
LOOP_L_N(i, 3 + ENABLED(HAS_HOTEND)) Draw_Menu_Line(i + 1, ICON_StepX + i);
|
3071
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(1), planner.settings.axis_steps_per_mm[X_AXIS] * MINUNITMULT);
|
3072
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(2), planner.settings.axis_steps_per_mm[Y_AXIS] * MINUNITMULT);
|
3073
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(3), planner.settings.axis_steps_per_mm[Z_AXIS] * MINUNITMULT);
|
|
3070
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(1), planner.settings.axis_steps_per_mm[X_AXIS] * MINUNITMULT);
|
|
3071
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(2), planner.settings.axis_steps_per_mm[Y_AXIS] * MINUNITMULT);
|
|
3072
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(3), planner.settings.axis_steps_per_mm[Z_AXIS] * MINUNITMULT);
|
3074
|
3073
|
#if HAS_HOTEND
|
3075
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, 1, 210, MBASE(4), planner.settings.axis_steps_per_mm[E_AXIS] * MINUNITMULT);
|
|
3074
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Color_Bg_Black, 3, UNITFDIGITS, 210, MBASE(4), planner.settings.axis_steps_per_mm[E_AXIS] * MINUNITMULT);
|
3076
|
3075
|
#endif
|
3077
|
3076
|
}
|
3078
|
3077
|
|
|
@@ -3419,7 +3418,7 @@ void HMI_MaxAcceleration() {
|
3419
|
3418
|
checkkey = MaxJerk_value;
|
3420
|
3419
|
HMI_flag.jerk_axis = AxisEnum(select_jerk.now - 1);
|
3421
|
3420
|
HMI_ValueStruct.Max_Jerk = planner.max_jerk[HMI_flag.jerk_axis] * MINUNITMULT;
|
3422
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk);
|
|
3421
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, UNITFDIGITS, 210, MBASE(select_jerk.now), HMI_ValueStruct.Max_Jerk);
|
3423
|
3422
|
EncoderRate.enabled = true;
|
3424
|
3423
|
}
|
3425
|
3424
|
else { // Back
|
|
@@ -3449,7 +3448,7 @@ void HMI_Step() {
|
3449
|
3448
|
checkkey = Step_value;
|
3450
|
3449
|
HMI_flag.step_axis = AxisEnum(select_step.now - 1);
|
3451
|
3450
|
HMI_ValueStruct.Max_Step = planner.settings.axis_steps_per_mm[HMI_flag.step_axis] * MINUNITMULT;
|
3452
|
|
- DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, 1, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step);
|
|
3451
|
+ DWIN_Draw_FloatValue(true, true, 0, font8x16, Color_White, Select_Color, 3, UNITFDIGITS, 210, MBASE(select_step.now), HMI_ValueStruct.Max_Step);
|
3453
|
3452
|
EncoderRate.enabled = true;
|
3454
|
3453
|
}
|
3455
|
3454
|
else { // Back
|