Bläddra i källkod

Fix: Unsupported use of %f in printf (#21001)

MKS-Sean 4 år sedan
förälder
incheckning
57e4b82b66
Inget konto är kopplat till bidragsgivarens mejladress

+ 4
- 4
Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.cpp Visa fil

109
 
109
 
110
 void lv_draw_acceleration_settings() {
110
 void lv_draw_acceleration_settings() {
111
   scr = lv_screen_create(ACCELERATION_UI, machine_menu.AccelerationConfTitle);
111
   scr = lv_screen_create(ACCELERATION_UI, machine_menu.AccelerationConfTitle);
112
-
112
+  char str_1[16];
113
   if (!uiCfg.para_ui_page) {
113
   if (!uiCfg.para_ui_page) {
114
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.acceleration);
114
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.acceleration, 1, 1, str_1));
115
     lv_screen_menu_item_1_edit(scr, machine_menu.PrintAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_ACCE_PRINT, 0, public_buf_l);
115
     lv_screen_menu_item_1_edit(scr, machine_menu.PrintAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_ACCE_PRINT, 0, public_buf_l);
116
 
116
 
117
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.retract_acceleration);
117
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.retract_acceleration, 1, 1, str_1));
118
     lv_screen_menu_item_1_edit(scr, machine_menu.RetractAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_ACCE_RETRA, 1, public_buf_l);
118
     lv_screen_menu_item_1_edit(scr, machine_menu.RetractAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_ACCE_RETRA, 1, public_buf_l);
119
 
119
 
120
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.travel_acceleration);
120
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.travel_acceleration, 1, 1, str_1));
121
     lv_screen_menu_item_1_edit(scr, machine_menu.TravelAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_ACCE_TRAVEL, 2, public_buf_l);
121
     lv_screen_menu_item_1_edit(scr, machine_menu.TravelAcceleration, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_ACCE_TRAVEL, 2, public_buf_l);
122
 
122
 
123
     sprintf_P(public_buf_l, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[X_AXIS]);
123
     sprintf_P(public_buf_l, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[X_AXIS]);

+ 4
- 3
Marlin/src/lcd/extui/lib/mks_ui/draw_auto_level_offset_settings.cpp Visa fil

65
 }
65
 }
66
 
66
 
67
 void lv_draw_auto_level_offset_settings() {
67
 void lv_draw_auto_level_offset_settings() {
68
+  char str_1[16];
68
   scr = lv_screen_create(NOZZLE_PROBE_OFFSET_UI, machine_menu.OffsetConfTitle);
69
   scr = lv_screen_create(NOZZLE_PROBE_OFFSET_UI, machine_menu.OffsetConfTitle);
69
 
70
 
70
-  sprintf_P(public_buf_l, PSTR("%.1f"), TERN(HAS_PROBE_XY_OFFSET, probe.offset.x, 0));
71
+  sprintf_P(public_buf_l, PSTR("%s"), TERN(HAS_PROBE_XY_OFFSET, dtostrf(probe.offset.x, 1, 1, str_1) , 0));
71
   lv_screen_menu_item_1_edit(scr, machine_menu.Xoffset, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_OFFSET_X, 0, public_buf_l);
72
   lv_screen_menu_item_1_edit(scr, machine_menu.Xoffset, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_OFFSET_X, 0, public_buf_l);
72
 
73
 
73
-  sprintf_P(public_buf_l, PSTR("%.1f"), TERN(HAS_PROBE_XY_OFFSET, probe.offset.y, 0));
74
+  sprintf_P(public_buf_l, PSTR("%s"), TERN(HAS_PROBE_XY_OFFSET, dtostrf(probe.offset.y, 1, 1, str_1) , 0));
74
   lv_screen_menu_item_1_edit(scr, machine_menu.Yoffset, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_OFFSET_Y, 1, public_buf_l);
75
   lv_screen_menu_item_1_edit(scr, machine_menu.Yoffset, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_OFFSET_Y, 1, public_buf_l);
75
 
76
 
76
-  sprintf_P(public_buf_l, PSTR("%.1f"), probe.offset.z);
77
+  sprintf_P(public_buf_l, PSTR("%s"), TERN(HAS_PROBE_XY_OFFSET, dtostrf(probe.offset.z, 1, 1, str_1) , 0));
77
   lv_screen_menu_item_1_edit(scr, machine_menu.Zoffset, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_OFFSET_Z, 2, public_buf_l);
78
   lv_screen_menu_item_1_edit(scr, machine_menu.Zoffset, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_OFFSET_Z, 2, public_buf_l);
78
 
79
 
79
   lv_big_button_create(scr, "F:/bmp_back70x40.bin", common_menu.text_back, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y, event_handler, ID_OFFSET_RETURN, true);
80
   lv_big_button_create(scr, "F:/bmp_back70x40.bin", common_menu.text_back, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y, event_handler, ID_OFFSET_RETURN, true);

+ 13
- 7
Marlin/src/lcd/extui/lib/mks_ui/draw_baby_stepping.cpp Visa fil

60
 static void event_handler(lv_obj_t *obj, lv_event_t event) {
60
 static void event_handler(lv_obj_t *obj, lv_event_t event) {
61
   if (event != LV_EVENT_RELEASED) return;
61
   if (event != LV_EVENT_RELEASED) return;
62
   char baby_buf[30] = { 0 };
62
   char baby_buf[30] = { 0 };
63
+  char str_1[16];
63
   switch (obj->mks_obj_id) {
64
   switch (obj->mks_obj_id) {
64
     case ID_BABY_STEP_X_P:
65
     case ID_BABY_STEP_X_P:
65
-      sprintf_P(baby_buf, PSTR("M290 X%.3f"), babystep_dist);
66
+      sprintf_P(baby_buf, PSTR("M290 X%s"), dtostrf(babystep_dist, 1, 3, str_1));
66
       gcode.process_subcommands_now_P(PSTR(baby_buf));
67
       gcode.process_subcommands_now_P(PSTR(baby_buf));
67
       has_adjust_z = 1;
68
       has_adjust_z = 1;
68
       break;
69
       break;
69
     case ID_BABY_STEP_X_N:
70
     case ID_BABY_STEP_X_N:
70
-      sprintf_P(baby_buf, PSTR("M290 X%.3f"), -babystep_dist);
71
+      sprintf_P(baby_buf, PSTR("M290 X%s"), dtostrf(-babystep_dist, 1, 3, str_1));
71
       gcode.process_subcommands_now_P(PSTR(baby_buf));
72
       gcode.process_subcommands_now_P(PSTR(baby_buf));
72
       has_adjust_z = 1;
73
       has_adjust_z = 1;
73
       break;
74
       break;
74
     case ID_BABY_STEP_Y_P:
75
     case ID_BABY_STEP_Y_P:
75
-      sprintf_P(baby_buf, PSTR("M290 Y%.3f"), babystep_dist);
76
+      sprintf_P(baby_buf, PSTR("M290 Y%s"), dtostrf(babystep_dist, 1, 3, str_1));
76
       gcode.process_subcommands_now_P(PSTR(baby_buf));
77
       gcode.process_subcommands_now_P(PSTR(baby_buf));
77
       has_adjust_z = 1;
78
       has_adjust_z = 1;
78
       break;
79
       break;
79
     case ID_BABY_STEP_Y_N:
80
     case ID_BABY_STEP_Y_N:
80
-      sprintf_P(baby_buf, PSTR("M290 Y%.3f"), -babystep_dist);
81
+      sprintf_P(baby_buf, PSTR("M290 Y%s"), dtostrf(-babystep_dist, 1, 3, str_1));
81
       gcode.process_subcommands_now_P(PSTR(baby_buf));
82
       gcode.process_subcommands_now_P(PSTR(baby_buf));
82
       has_adjust_z = 1;
83
       has_adjust_z = 1;
83
       break;
84
       break;
84
     case ID_BABY_STEP_Z_P:
85
     case ID_BABY_STEP_Z_P:
85
-      sprintf_P(baby_buf, PSTR("M290 Z%.3f"), babystep_dist);
86
+      sprintf_P(baby_buf, PSTR("M290 Z%s"), dtostrf(babystep_dist, 1, 3, str_1));
86
       gcode.process_subcommands_now_P(PSTR(baby_buf));
87
       gcode.process_subcommands_now_P(PSTR(baby_buf));
87
       has_adjust_z = 1;
88
       has_adjust_z = 1;
88
       break;
89
       break;
89
     case ID_BABY_STEP_Z_N:
90
     case ID_BABY_STEP_Z_N:
90
-      sprintf_P(baby_buf, PSTR("M290 Z%.3f"), -babystep_dist);
91
+      sprintf_P(baby_buf, PSTR("M290 Z%s"), dtostrf(-babystep_dist, 1, 3, str_1));
91
       gcode.process_subcommands_now_P(PSTR(baby_buf));
92
       gcode.process_subcommands_now_P(PSTR(baby_buf));
92
       has_adjust_z = 1;
93
       has_adjust_z = 1;
93
       break;
94
       break;
161
 
162
 
162
 void disp_z_offset_value() {
163
 void disp_z_offset_value() {
163
   char buf[20];
164
   char buf[20];
164
-  sprintf_P(buf, PSTR("offset Z: %.3f"), (float)TERN(HAS_BED_PROBE, probe.offset.z, 0));
165
+  #if HAS_BED_PROBE
166
+    char str_1[16];
167
+    sprintf_P(buf, PSTR("Offset Z: %s mm"), dtostrf(probe.offset.z, 1, 3, str_1));
168
+  #else
169
+    strcpy_P(buf, PSTR("Offset Z: 0 mm"));
170
+  #endif
165
   lv_label_set_text(zOffsetText, buf);
171
   lv_label_set_text(zOffsetText, buf);
166
 }
172
 }
167
 
173
 

+ 5
- 4
Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.cpp Visa fil

71
 }
71
 }
72
 
72
 
73
 void lv_draw_jerk_settings() {
73
 void lv_draw_jerk_settings() {
74
+  char str_1[16];
74
   scr = lv_screen_create(JERK_UI, machine_menu.JerkConfTitle);
75
   scr = lv_screen_create(JERK_UI, machine_menu.JerkConfTitle);
75
 
76
 
76
-  sprintf_P(public_buf_l, PSTR("%.1f"), planner.max_jerk[X_AXIS]);
77
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.max_jerk[X_AXIS], 1, 1, str_1));
77
   lv_screen_menu_item_1_edit(scr, machine_menu.X_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_JERK_X, 0, public_buf_l);
78
   lv_screen_menu_item_1_edit(scr, machine_menu.X_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_JERK_X, 0, public_buf_l);
78
 
79
 
79
-  sprintf_P(public_buf_l, PSTR("%.1f"), planner.max_jerk[Y_AXIS]);
80
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.max_jerk[Y_AXIS], 1, 1, str_1));
80
   lv_screen_menu_item_1_edit(scr, machine_menu.Y_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_JERK_Y, 1, public_buf_l);
81
   lv_screen_menu_item_1_edit(scr, machine_menu.Y_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_JERK_Y, 1, public_buf_l);
81
 
82
 
82
-  sprintf_P(public_buf_l, PSTR("%.1f"), planner.max_jerk[Z_AXIS]);
83
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.max_jerk[Z_AXIS], 1, 1, str_1));
83
   lv_screen_menu_item_1_edit(scr, machine_menu.Z_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_JERK_Z, 2, public_buf_l);
84
   lv_screen_menu_item_1_edit(scr, machine_menu.Z_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_JERK_Z, 2, public_buf_l);
84
 
85
 
85
-  sprintf_P(public_buf_l, PSTR("%.1f"), planner.max_jerk[E_AXIS]);
86
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.max_jerk[E_AXIS], 1, 1, str_1));
86
   lv_screen_menu_item_1_edit(scr, machine_menu.E_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_JERK_E, 3, public_buf_l);
87
   lv_screen_menu_item_1_edit(scr, machine_menu.E_Jerk, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_JERK_E, 3, public_buf_l);
87
 
88
 
88
   lv_big_button_create(scr, "F:/bmp_back70x40.bin", common_menu.text_back, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y, event_handler, ID_JERK_RETURN, true);
89
   lv_big_button_create(scr, "F:/bmp_back70x40.bin", common_menu.text_back, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y, event_handler, ID_JERK_RETURN, true);

+ 6
- 5
Marlin/src/lcd/extui/lib/mks_ui/draw_max_feedrate_settings.cpp Visa fil

80
 }
80
 }
81
 
81
 
82
 void lv_draw_max_feedrate_settings() {
82
 void lv_draw_max_feedrate_settings() {
83
+  char str_1[16];
83
   scr = lv_screen_create(MAXFEEDRATE_UI, machine_menu.MaxFeedRateConfTitle);
84
   scr = lv_screen_create(MAXFEEDRATE_UI, machine_menu.MaxFeedRateConfTitle);
84
 
85
 
85
   if (!uiCfg.para_ui_page) {
86
   if (!uiCfg.para_ui_page) {
86
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[X_AXIS]);
87
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[X_AXIS], 1, 1, str_1));
87
     lv_screen_menu_item_1_edit(scr, machine_menu.XMaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_FEED_X, 0, public_buf_l);
88
     lv_screen_menu_item_1_edit(scr, machine_menu.XMaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_FEED_X, 0, public_buf_l);
88
 
89
 
89
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[Y_AXIS]);
90
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[Y_AXIS], 1, 1, str_1));
90
     lv_screen_menu_item_1_edit(scr, machine_menu.YMaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_FEED_Y, 1, public_buf_l);
91
     lv_screen_menu_item_1_edit(scr, machine_menu.YMaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_FEED_Y, 1, public_buf_l);
91
 
92
 
92
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[Z_AXIS]);
93
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[Z_AXIS], 1, 1, str_1));
93
     lv_screen_menu_item_1_edit(scr, machine_menu.ZMaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_FEED_Z, 2, public_buf_l);
94
     lv_screen_menu_item_1_edit(scr, machine_menu.ZMaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_FEED_Z, 2, public_buf_l);
94
 
95
 
95
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[E_AXIS]);
96
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[E_AXIS], 1, 1, str_1));
96
     lv_screen_menu_item_1_edit(scr, machine_menu.E0MaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_FEED_E0, 3, public_buf_l);
97
     lv_screen_menu_item_1_edit(scr, machine_menu.E0MaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_FEED_E0, 3, public_buf_l);
97
 
98
 
98
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_FEED_DOWN, true);
99
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_FEED_DOWN, true);
99
   }
100
   }
100
   else {
101
   else {
101
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[E_AXIS_N(1)]);
102
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[E_AXIS_N(1)], 1, 1, str_1));
102
     lv_screen_menu_item_1_edit(scr, machine_menu.E1MaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_FEED_E1, 0, public_buf_l);
103
     lv_screen_menu_item_1_edit(scr, machine_menu.E1MaxFeedRate, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_FEED_E1, 0, public_buf_l);
103
 
104
 
104
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.previous, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_FEED_UP, true);
105
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.previous, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_FEED_UP, true);

+ 4
- 2
Marlin/src/lcd/extui/lib/mks_ui/draw_move_motor.cpp Visa fil

52
 };
52
 };
53
 
53
 
54
 static void event_handler(lv_obj_t *obj, lv_event_t event) {
54
 static void event_handler(lv_obj_t *obj, lv_event_t event) {
55
+  char str_1[16];
55
   if (event != LV_EVENT_RELEASED) return;
56
   if (event != LV_EVENT_RELEASED) return;
56
   if (queue.length <= (BUFSIZE - 3)) {
57
   if (queue.length <= (BUFSIZE - 3)) {
57
     bool do_inject = true;
58
     bool do_inject = true;
63
       default: do_inject = false;
64
       default: do_inject = false;
64
     }
65
     }
65
     if (do_inject) {
66
     if (do_inject) {
66
-      sprintf_P(public_buf_l, PSTR("G91\nG1 %c%3.1f F%d\nG90"), cur_label, dist, uiCfg.moveSpeed);
67
+      sprintf_P(public_buf_l, PSTR("G91\nG1 %c%s F%d\nG90"), cur_label, dtostrf(dist, 1, 3, str_1), uiCfg.moveSpeed);
67
       queue.inject(public_buf_l);
68
       queue.inject(public_buf_l);
68
     }
69
     }
69
   }
70
   }
125
 }
126
 }
126
 
127
 
127
 void disp_cur_pos() {
128
 void disp_cur_pos() {
128
-  sprintf_P(public_buf_l, PSTR("%c:%3.1fmm"), cur_label, cur_pos);
129
+  char str_1[16];
130
+  sprintf_P(public_buf_l, PSTR("%c:%s mm"), cur_label, dtostrf(cur_pos, 1, 1, str_1));
129
   if (labelP) lv_label_set_text(labelP, public_buf_l);
131
   if (labelP) lv_label_set_text(labelP, public_buf_l);
130
 }
132
 }
131
 
133
 

+ 29
- 29
Marlin/src/lcd/extui/lib/mks_ui/draw_number_key.cpp Visa fil

73
 
73
 
74
 static void disp_key_value() {
74
 static void disp_key_value() {
75
   char *temp;
75
   char *temp;
76
+  char str_1[16];
76
   #if HAS_TRINAMIC_CONFIG
77
   #if HAS_TRINAMIC_CONFIG
77
     float milliamps;
78
     float milliamps;
78
   #endif
79
   #endif
79
 
80
 
80
   switch (value) {
81
   switch (value) {
81
     case PrintAcceleration:
82
     case PrintAcceleration:
82
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.acceleration);
83
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.acceleration, 1, 1, str_1));
83
       break;
84
       break;
84
     case RetractAcceleration:
85
     case RetractAcceleration:
85
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.retract_acceleration);
86
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.retract_acceleration, 1, 1, str_1));
86
       break;
87
       break;
87
     case TravelAcceleration:
88
     case TravelAcceleration:
88
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.travel_acceleration);
89
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.travel_acceleration, 1, 1, str_1));
89
       break;
90
       break;
90
     case XAcceleration:
91
     case XAcceleration:
91
       sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[X_AXIS]);
92
       sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[X_AXIS]);
103
       sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(1)]);
104
       sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(1)]);
104
       break;
105
       break;
105
     case XMaxFeedRate:
106
     case XMaxFeedRate:
106
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[X_AXIS]);
107
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[X_AXIS], 1, 1, str_1));
107
       break;
108
       break;
108
     case YMaxFeedRate:
109
     case YMaxFeedRate:
109
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[Y_AXIS]);
110
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[Y_AXIS], 1, 1, str_1));
110
       break;
111
       break;
111
     case ZMaxFeedRate:
112
     case ZMaxFeedRate:
112
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[Z_AXIS]);
113
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[Z_AXIS], 1, 1, str_1));
113
       break;
114
       break;
114
     case E0MaxFeedRate:
115
     case E0MaxFeedRate:
115
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[E_AXIS]);
116
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[E_AXIS], 1, 1, str_1));
116
       break;
117
       break;
117
     case E1MaxFeedRate:
118
     case E1MaxFeedRate:
118
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.max_feedrate_mm_s[E_AXIS_N(1)]);
119
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.max_feedrate_mm_s[E_AXIS_N(1)], 1, 1, str_1));
119
       break;
120
       break;
120
 
121
 
121
     case XJerk:
122
     case XJerk:
122
       #if HAS_CLASSIC_JERK
123
       #if HAS_CLASSIC_JERK
123
-        sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[X_AXIS]);
124
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.max_jerk[X_AXIS], 1, 1, str_1));
124
       #endif
125
       #endif
125
       break;
126
       break;
126
     case YJerk:
127
     case YJerk:
127
       #if HAS_CLASSIC_JERK
128
       #if HAS_CLASSIC_JERK
128
-        sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[Y_AXIS]);
129
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.max_jerk[Y_AXIS], 1, 1, str_1));
129
       #endif
130
       #endif
130
       break;
131
       break;
131
     case ZJerk:
132
     case ZJerk:
132
       #if HAS_CLASSIC_JERK
133
       #if HAS_CLASSIC_JERK
133
-        sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[Z_AXIS]);
134
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.max_jerk[Z_AXIS], 1, 1, str_1));
134
       #endif
135
       #endif
135
       break;
136
       break;
136
     case EJerk:
137
     case EJerk:
137
       #if HAS_CLASSIC_JERK
138
       #if HAS_CLASSIC_JERK
138
-        sprintf_P(public_buf_m, PSTR("%.1f"), planner.max_jerk[E_AXIS]);
139
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.max_jerk[E_AXIS], 1, 1, str_1));
139
       #endif
140
       #endif
140
       break;
141
       break;
141
 
142
 
142
     case Xstep:
143
     case Xstep:
143
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[X_AXIS]);
144
-
144
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[X_AXIS], 1, 1, str_1));
145
       break;
145
       break;
146
     case Ystep:
146
     case Ystep:
147
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[Y_AXIS]);
147
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[Y_AXIS], 1, 1, str_1));
148
 
148
 
149
       break;
149
       break;
150
     case Zstep:
150
     case Zstep:
151
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[Z_AXIS]);
151
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[Z_AXIS], 1, 1, str_1));
152
 
152
 
153
       break;
153
       break;
154
     case E0step:
154
     case E0step:
155
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[E_AXIS]);
155
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[E_AXIS], 1, 1, str_1));
156
 
156
 
157
       break;
157
       break;
158
     case E1step:
158
     case E1step:
159
-      sprintf_P(public_buf_m, PSTR("%.1f"), planner.settings.axis_steps_per_mm[E_AXIS_N(1)]);
159
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[E_AXIS_N(1)], 1, 1, str_1));
160
       break;
160
       break;
161
 
161
 
162
     case Xcurrent:
162
     case Xcurrent:
163
       #if AXIS_IS_TMC(X)
163
       #if AXIS_IS_TMC(X)
164
         milliamps = stepperX.getMilliamps();
164
         milliamps = stepperX.getMilliamps();
165
-        sprintf_P(public_buf_m, PSTR("%.1f"), milliamps);
165
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
166
       #endif
166
       #endif
167
       break;
167
       break;
168
 
168
 
169
     case Ycurrent:
169
     case Ycurrent:
170
       #if AXIS_IS_TMC(Y)
170
       #if AXIS_IS_TMC(Y)
171
         milliamps = stepperY.getMilliamps();
171
         milliamps = stepperY.getMilliamps();
172
-        sprintf_P(public_buf_m, PSTR("%.1f"), milliamps);
172
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
173
       #endif
173
       #endif
174
       break;
174
       break;
175
 
175
 
176
     case Zcurrent:
176
     case Zcurrent:
177
       #if AXIS_IS_TMC(Z)
177
       #if AXIS_IS_TMC(Z)
178
         milliamps = stepperZ.getMilliamps();
178
         milliamps = stepperZ.getMilliamps();
179
-        sprintf_P(public_buf_m, PSTR("%.1f"), milliamps);
179
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
180
       #endif
180
       #endif
181
       break;
181
       break;
182
 
182
 
183
     case E0current:
183
     case E0current:
184
       #if AXIS_IS_TMC(E0)
184
       #if AXIS_IS_TMC(E0)
185
         milliamps = stepperE0.getMilliamps();
185
         milliamps = stepperE0.getMilliamps();
186
-        sprintf_P(public_buf_m, PSTR("%.1f"), milliamps);
186
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
187
       #endif
187
       #endif
188
       break;
188
       break;
189
 
189
 
190
     case E1current:
190
     case E1current:
191
       #if AXIS_IS_TMC(E1)
191
       #if AXIS_IS_TMC(E1)
192
         milliamps = stepperE1.getMilliamps();
192
         milliamps = stepperE1.getMilliamps();
193
-        sprintf_P(public_buf_m, PSTR("%.1f"), milliamps);
193
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
194
       #endif
194
       #endif
195
       break;
195
       break;
196
 
196
 
197
     case pause_pos_x:
197
     case pause_pos_x:
198
-      sprintf_P(public_buf_m, PSTR("%.1f"), gCfgItems.pausePosX);
198
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(gCfgItems.pausePosX, 1, 1, str_1));
199
       break;
199
       break;
200
     case pause_pos_y:
200
     case pause_pos_y:
201
-      sprintf_P(public_buf_m, PSTR("%.1f"), gCfgItems.pausePosY);
201
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(gCfgItems.pausePosY, 1, 1, str_1));
202
       break;
202
       break;
203
     case pause_pos_z:
203
     case pause_pos_z:
204
-      sprintf_P(public_buf_m, PSTR("%.1f"), gCfgItems.pausePosZ);
204
+      sprintf_P(public_buf_m, PSTR("%s"), dtostrf(gCfgItems.pausePosZ, 1, 1, str_1));
205
       break;
205
       break;
206
     case level_pos_x1:
206
     case level_pos_x1:
207
       sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[0][0]);
207
       sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[0][0]);
236
     #if HAS_BED_PROBE
236
     #if HAS_BED_PROBE
237
       case x_offset:
237
       case x_offset:
238
         #if HAS_PROBE_XY_OFFSET
238
         #if HAS_PROBE_XY_OFFSET
239
-        sprintf_P(public_buf_m, PSTR("%.1f"), probe.offset.x);
239
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(probe.offset.x, 1, 3, str_1));
240
         #endif
240
         #endif
241
         break;
241
         break;
242
       case y_offset:
242
       case y_offset:
243
         #if HAS_PROBE_XY_OFFSET
243
         #if HAS_PROBE_XY_OFFSET
244
-        sprintf_P(public_buf_m, PSTR("%.1f"), probe.offset.y);
244
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(probe.offset.y, 1, 3, str_1));
245
         #endif
245
         #endif
246
         break;
246
         break;
247
       case z_offset:
247
       case z_offset:
248
-        sprintf_P(public_buf_m, PSTR("%.1f"), probe.offset.z);
248
+        sprintf_P(public_buf_m, PSTR("%s"), dtostrf(probe.offset.z, 1, 3, str_1));
249
         break;
249
         break;
250
     #endif
250
     #endif
251
     case load_length:
251
     case load_length:

+ 4
- 3
Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.cpp Visa fil

60
 }
60
 }
61
 
61
 
62
 void lv_draw_pause_position() {
62
 void lv_draw_pause_position() {
63
+  char str_1[16];
63
   scr = lv_screen_create(PAUSE_POS_UI, machine_menu.PausePosText);
64
   scr = lv_screen_create(PAUSE_POS_UI, machine_menu.PausePosText);
64
 
65
 
65
-  sprintf_P(public_buf_l, PSTR("%.1f"), gCfgItems.pausePosX);
66
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(gCfgItems.pausePosX, 1, 1, str_1));
66
   lv_screen_menu_item_1_edit(scr, machine_menu.xPos, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_PAUSE_X, 0, public_buf_l);
67
   lv_screen_menu_item_1_edit(scr, machine_menu.xPos, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_PAUSE_X, 0, public_buf_l);
67
 
68
 
68
-  sprintf_P(public_buf_l, PSTR("%.1f"), gCfgItems.pausePosY);
69
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(gCfgItems.pausePosY, 1, 1, str_1));
69
   lv_screen_menu_item_1_edit(scr, machine_menu.yPos, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_PAUSE_Y, 1, public_buf_l);
70
   lv_screen_menu_item_1_edit(scr, machine_menu.yPos, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_PAUSE_Y, 1, public_buf_l);
70
 
71
 
71
-  sprintf_P(public_buf_l, PSTR("%.1f"), gCfgItems.pausePosZ);
72
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(gCfgItems.pausePosZ, 1, 1, str_1));
72
   lv_screen_menu_item_1_edit(scr, machine_menu.zPos, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_PAUSE_Z, 2, public_buf_l);
73
   lv_screen_menu_item_1_edit(scr, machine_menu.zPos, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_PAUSE_Z, 2, public_buf_l);
73
 
74
 
74
   lv_big_button_create(scr, "F:/bmp_back70x40.bin", common_menu.text_back, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y, event_handler, ID_PAUSE_RETURN, true);
75
   lv_big_button_create(scr, "F:/bmp_back70x40.bin", common_menu.text_back, PARA_UI_BACL_POS_X, PARA_UI_BACL_POS_Y, event_handler, ID_PAUSE_RETURN, true);

+ 1
- 1
Marlin/src/lcd/extui/lib/mks_ui/draw_preHeat.cpp Visa fil

56
             thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
56
             thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)HEATER_0_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
57
           }
57
           }
58
         }
58
         }
59
-        #if DISABLED(SINGLENOZZLE) && HAS_MULTI_EXTRUDER
59
+        #if HAS_MULTI_HOTEND
60
           else if ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > (HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1))) {
60
           else if ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > (HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1))) {
61
             thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
61
             thermalManager.temp_hotend[uiCfg.curSprayerChoose].target = (float)HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1);
62
           }
62
           }

+ 2
- 1
Marlin/src/lcd/extui/lib/mks_ui/draw_printing.cpp Visa fil

235
 }
235
 }
236
 
236
 
237
 void disp_fan_Zpos() {
237
 void disp_fan_Zpos() {
238
-  sprintf_P(public_buf_l, PSTR("%.3f"), current_position[Z_AXIS]);
238
+  char str_1[16];
239
+  sprintf_P(public_buf_l, PSTR("%s"), dtostrf(current_position[Z_AXIS], 1, 3, str_1));
239
   lv_label_set_text(labelZpos, public_buf_l);
240
   lv_label_set_text(labelZpos, public_buf_l);
240
 }
241
 }
241
 
242
 

+ 6
- 5
Marlin/src/lcd/extui/lib/mks_ui/draw_step_settings.cpp Visa fil

79
 }
79
 }
80
 
80
 
81
 void lv_draw_step_settings() {
81
 void lv_draw_step_settings() {
82
+  char str_1[16];
82
   scr = lv_screen_create(STEPS_UI, machine_menu.StepsConfTitle);
83
   scr = lv_screen_create(STEPS_UI, machine_menu.StepsConfTitle);
83
 
84
 
84
   if (!uiCfg.para_ui_page) {
85
   if (!uiCfg.para_ui_page) {
85
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.axis_steps_per_mm[X_AXIS]);
86
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[X_AXIS], 1, 1, str_1));
86
     lv_screen_menu_item_1_edit(scr, machine_menu.X_Steps, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_STEP_X, 0, public_buf_l);
87
     lv_screen_menu_item_1_edit(scr, machine_menu.X_Steps, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_STEP_X, 0, public_buf_l);
87
 
88
 
88
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.axis_steps_per_mm[Y_AXIS]);
89
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[Y_AXIS], 1, 1, str_1));
89
     lv_screen_menu_item_1_edit(scr, machine_menu.Y_Steps, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_STEP_Y, 1, public_buf_l);
90
     lv_screen_menu_item_1_edit(scr, machine_menu.Y_Steps, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_STEP_Y, 1, public_buf_l);
90
 
91
 
91
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.axis_steps_per_mm[Z_AXIS]);
92
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[Z_AXIS], 1, 1, str_1));
92
     lv_screen_menu_item_1_edit(scr, machine_menu.Z_Steps, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_STEP_Z, 2, public_buf_l);
93
     lv_screen_menu_item_1_edit(scr, machine_menu.Z_Steps, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_STEP_Z, 2, public_buf_l);
93
 
94
 
94
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.axis_steps_per_mm[E_AXIS]);
95
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[E_AXIS], 1, 1, str_1));
95
     lv_screen_menu_item_1_edit(scr, machine_menu.E0_Steps, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_STEP_E0, 3, public_buf_l);
96
     lv_screen_menu_item_1_edit(scr, machine_menu.E0_Steps, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_STEP_E0, 3, public_buf_l);
96
 
97
 
97
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_STEP_DOWN, true);
98
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_STEP_DOWN, true);
98
   }
99
   }
99
   else {
100
   else {
100
-    sprintf_P(public_buf_l, PSTR("%.1f"), planner.settings.axis_steps_per_mm[E_AXIS_N(1)]);
101
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(planner.settings.axis_steps_per_mm[E_AXIS_N(1)], 1, 1, str_1));
101
     lv_screen_menu_item_1_edit(scr, machine_menu.E1_Steps, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_STEP_E1, 0, public_buf_l);
102
     lv_screen_menu_item_1_edit(scr, machine_menu.E1_Steps, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_STEP_E1, 0, public_buf_l);
102
 
103
 
103
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.previous, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_STEP_UP, true);
104
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.previous, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_STEP_UP, true);

+ 6
- 5
Marlin/src/lcd/extui/lib/mks_ui/draw_tmc_current_settings.cpp Visa fil

95
   scr = lv_screen_create(TMC_CURRENT_UI, machine_menu.TmcCurrentConfTitle);
95
   scr = lv_screen_create(TMC_CURRENT_UI, machine_menu.TmcCurrentConfTitle);
96
 
96
 
97
   float milliamps;
97
   float milliamps;
98
+  char str_1[16];
98
   if (!uiCfg.para_ui_page) {
99
   if (!uiCfg.para_ui_page) {
99
     #if AXIS_IS_TMC(X)
100
     #if AXIS_IS_TMC(X)
100
       milliamps = stepperX.getMilliamps();
101
       milliamps = stepperX.getMilliamps();
101
     #else
102
     #else
102
       milliamps = -1;
103
       milliamps = -1;
103
     #endif
104
     #endif
104
-    sprintf_P(public_buf_l, PSTR("%.1f"), milliamps);
105
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
105
     lv_screen_menu_item_1_edit(scr, machine_menu.X_Current, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_TMC_CURRENT_X, 0, public_buf_l);
106
     lv_screen_menu_item_1_edit(scr, machine_menu.X_Current, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_TMC_CURRENT_X, 0, public_buf_l);
106
 
107
 
107
     #if AXIS_IS_TMC(Y)
108
     #if AXIS_IS_TMC(Y)
109
     #else
110
     #else
110
       milliamps = -1;
111
       milliamps = -1;
111
     #endif
112
     #endif
112
-    sprintf_P(public_buf_l, PSTR("%.1f"), milliamps);
113
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
113
     lv_screen_menu_item_1_edit(scr, machine_menu.Y_Current, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_TMC_CURRENT_Y, 1, public_buf_l);
114
     lv_screen_menu_item_1_edit(scr, machine_menu.Y_Current, PARA_UI_POS_X, PARA_UI_POS_Y * 2, event_handler, ID_TMC_CURRENT_Y, 1, public_buf_l);
114
 
115
 
115
     #if AXIS_IS_TMC(Z)
116
     #if AXIS_IS_TMC(Z)
117
     #else
118
     #else
118
       milliamps = -1;
119
       milliamps = -1;
119
     #endif
120
     #endif
120
-    sprintf_P(public_buf_l, PSTR("%.1f"), milliamps);
121
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
121
     lv_screen_menu_item_1_edit(scr, machine_menu.Z_Current, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_TMC_CURRENT_Z, 2, public_buf_l);
122
     lv_screen_menu_item_1_edit(scr, machine_menu.Z_Current, PARA_UI_POS_X, PARA_UI_POS_Y * 3, event_handler, ID_TMC_CURRENT_Z, 2, public_buf_l);
122
 
123
 
123
     #if AXIS_IS_TMC(E0)
124
     #if AXIS_IS_TMC(E0)
125
     #else
126
     #else
126
       milliamps = -1;
127
       milliamps = -1;
127
     #endif
128
     #endif
128
-    sprintf_P(public_buf_l, PSTR("%.1f"), milliamps);
129
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
129
     lv_screen_menu_item_1_edit(scr, machine_menu.E0_Current, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_TMC_CURRENT_E0, 3, public_buf_l);
130
     lv_screen_menu_item_1_edit(scr, machine_menu.E0_Current, PARA_UI_POS_X, PARA_UI_POS_Y * 4, event_handler, ID_TMC_CURRENT_E0, 3, public_buf_l);
130
 
131
 
131
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_TMC_CURRENT_DOWN, true);
132
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.next, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_TMC_CURRENT_DOWN, true);
136
     #else
137
     #else
137
       milliamps = -1;
138
       milliamps = -1;
138
     #endif
139
     #endif
139
-    sprintf_P(public_buf_l, PSTR("%.1f"), milliamps);
140
+    sprintf_P(public_buf_l, PSTR("%s"), dtostrf(milliamps, 1, 1, str_1));
140
     lv_screen_menu_item_1_edit(scr, machine_menu.E1_Current, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_TMC_CURRENT_E1, 0, public_buf_l);
141
     lv_screen_menu_item_1_edit(scr, machine_menu.E1_Current, PARA_UI_POS_X, PARA_UI_POS_Y, event_handler, ID_TMC_CURRENT_E1, 0, public_buf_l);
141
 
142
 
142
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.previous, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_TMC_CURRENT_UP, true);
143
     lv_big_button_create(scr, "F:/bmp_back70x40.bin", machine_menu.previous, PARA_UI_TURN_PAGE_POS_X, PARA_UI_TURN_PAGE_POS_Y, event_handler, ID_TMC_CURRENT_UP, true);

+ 6
- 5
Marlin/src/lcd/extui/lib/mks_ui/printer_operation.cpp Visa fil

42
 extern bool flash_preview_begin, default_preview_flg, gcode_preview_over;
42
 extern bool flash_preview_begin, default_preview_flg, gcode_preview_over;
43
 
43
 
44
 void printer_state_polling() {
44
 void printer_state_polling() {
45
+  char str_1[16];
45
   if (uiCfg.print_state == PAUSING) {
46
   if (uiCfg.print_state == PAUSING) {
46
     #if ENABLED(SDSUPPORT)
47
     #if ENABLED(SDSUPPORT)
47
       if (!planner.has_blocks_queued() && card.getIndex() > MIN_FILE_PRINTED)
48
       if (!planner.has_blocks_queued() && card.getIndex() > MIN_FILE_PRINTED)
59
         uiCfg.current_z_position_bak = current_position.z;
60
         uiCfg.current_z_position_bak = current_position.z;
60
 
61
 
61
         if (gCfgItems.pausePosZ != (float)-1) {
62
         if (gCfgItems.pausePosZ != (float)-1) {
62
-          sprintf_P(public_buf_l, PSTR("G91\nG1 Z%.1f\nG90"), gCfgItems.pausePosZ);
63
+          sprintf_P(public_buf_l, PSTR("G91\nG1 Z%s\nG90"), dtostrf(gCfgItems.pausePosZ, 1, 1, str_1));
63
           gcode.process_subcommands_now(public_buf_l);
64
           gcode.process_subcommands_now(public_buf_l);
64
         }
65
         }
65
         if (gCfgItems.pausePosX != (float)-1 && gCfgItems.pausePosY != (float)-1) {
66
         if (gCfgItems.pausePosX != (float)-1 && gCfgItems.pausePosY != (float)-1) {
66
-          sprintf_P(public_buf_l, PSTR("G1 X%.1f Y%.1f"), gCfgItems.pausePosX, gCfgItems.pausePosY);
67
+          sprintf_P(public_buf_l, PSTR("G1 X%s Y%s"), dtostrf(gCfgItems.pausePosX, 1, 1, str_1), dtostrf(gCfgItems.pausePosY, 1, 1, str_1));
67
           gcode.process_subcommands_now(public_buf_l);
68
           gcode.process_subcommands_now(public_buf_l);
68
         }
69
         }
69
         uiCfg.print_state = PAUSED;
70
         uiCfg.print_state = PAUSED;
83
   if (uiCfg.print_state == RESUMING) {
84
   if (uiCfg.print_state == RESUMING) {
84
     if (IS_SD_PAUSED()) {
85
     if (IS_SD_PAUSED()) {
85
       if (gCfgItems.pausePosX != (float)-1 && gCfgItems.pausePosY != (float)-1) {
86
       if (gCfgItems.pausePosX != (float)-1 && gCfgItems.pausePosY != (float)-1) {
86
-        sprintf_P(public_buf_m, PSTR("G1 X%.1f Y%.1f"), uiCfg.current_x_position_bak, uiCfg.current_y_position_bak);
87
+        sprintf_P(public_buf_m, PSTR("G1 X%s Y%s"), dtostrf(uiCfg.current_x_position_bak, 1, 1, str_1), dtostrf(uiCfg.current_y_position_bak, 1, 1, str_1));
87
         gcode.process_subcommands_now(public_buf_m);
88
         gcode.process_subcommands_now(public_buf_m);
88
       }
89
       }
89
       if (gCfgItems.pausePosZ != (float)-1) {
90
       if (gCfgItems.pausePosZ != (float)-1) {
90
         ZERO(public_buf_m);
91
         ZERO(public_buf_m);
91
-        sprintf_P(public_buf_m, PSTR("G1 Z%.1f"), uiCfg.current_z_position_bak);
92
+        sprintf_P(public_buf_m, PSTR("G1 Z%s"), dtostrf(uiCfg.current_z_position_bak, 1, 1, str_1));
92
         gcode.process_subcommands_now(public_buf_m);
93
         gcode.process_subcommands_now(public_buf_m);
93
       }
94
       }
94
       gcode.process_subcommands_now_P(M24_STR);
95
       gcode.process_subcommands_now_P(M24_STR);
126
         gcode.process_subcommands_now(public_buf_m);
127
         gcode.process_subcommands_now(public_buf_m);
127
 
128
 
128
         if (gCfgItems.pause_reprint && gCfgItems.pausePosZ != -1.0f) {
129
         if (gCfgItems.pause_reprint && gCfgItems.pausePosZ != -1.0f) {
129
-          sprintf_P(public_buf_l, PSTR("G91\nG1 Z-%.1f\nG90"), gCfgItems.pausePosZ);
130
+          sprintf_P(public_buf_l, PSTR("G91\nG1 Z-%s\nG90"), dtostrf(gCfgItems.pausePosZ, 1, 1, str_2));
130
           gcode.process_subcommands_now(public_buf_l);
131
           gcode.process_subcommands_now(public_buf_l);
131
         }
132
         }
132
       #endif
133
       #endif

+ 44
- 18
Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp Visa fil

874
             }
874
             }
875
           }
875
           }
876
           break;
876
           break;
877
+
877
         case 105:
878
         case 105:
878
         case 991:
879
         case 991:
879
           ZERO(tempBuf);
880
           ZERO(tempBuf);
880
           if (cmd_value == 105) {
881
           if (cmd_value == 105) {
882
+
881
             SEND_OK_TO_WIFI;
883
             SEND_OK_TO_WIFI;
882
-            sprintf_P((char *)tempBuf, PSTR("T:%.1f /%.1f B:%.1f /%.1f T0:%.1f /%.1f T1:%.1f /%.1f @:0 B@:0\r\n"),
883
 
884
 
884
-            (float)thermalManager.temp_hotend[0].celsius, (float)thermalManager.temp_hotend[0].target,
885
+            char *outBuf = (char *)tempBuf;
886
+            char str_1[16], tbuf[34];
887
+
888
+            dtostrf(thermalManager.temp_hotend[0].celsius, 1, 1, tbuf);
889
+            strcat_P(tbuf, PSTR(" /"));
890
+            strcat(tbuf, dtostrf(thermalManager.temp_hotend[0].target, 1, 1, str_1));
891
+
892
+            const int tlen = strlen(tbuf);
893
+
894
+            sprintf_P(outBuf, PSTR("T:%s"), tbuf);
895
+            outBuf += 2 + tlen;
896
+
897
+            strcpy_P(outBuf, PSTR(" B:"));
898
+            outBuf += 3;
885
             #if HAS_HEATED_BED
899
             #if HAS_HEATED_BED
886
-              (float)thermalManager.temp_bed.celsius, (float)thermalManager.temp_bed.target,
900
+              strcpy(outBuf, dtostrf(thermalManager.temp_bed.celsius, 1, 1, str_1));
901
+              strcat_P(outBuf, PSTR(" /"));
902
+              strcat(outBuf, dtostrf(thermalManager.temp_bed.target, 1, 1, str_1));
887
             #else
903
             #else
888
-              0.0f, 0.0f,
904
+              strcpy_P(outBuf, PSTR("0 /0"));
889
             #endif
905
             #endif
890
-            (float)thermalManager.temp_hotend[0].celsius, (float)thermalManager.temp_hotend[0].target,
891
-            #if DISABLED(SINGLENOZZLE) && HAS_MULTI_EXTRUDER
892
-              (float)thermalManager.temp_hotend[1].celsius, (float)thermalManager.temp_hotend[1].target
906
+            outBuf += 4;
907
+
908
+            strcat_P(outBuf, PSTR(" T0:"));
909
+            strcat(outBuf, tbuf);
910
+            outBuf += 4 + tlen;
911
+
912
+            strcat_P(outBuf, PSTR(" T1:"));
913
+            outBuf += 4;
914
+            #if HAS_MULTI_HOTEND
915
+              strcat(outBuf, dtostrf(thermalManager.temp_hotend[1].celsius, 1, 1, str_1));
916
+              strcat_P(outBuf, PSTR(" /"));
917
+              strcat(outBuf, dtostrf(thermalManager.temp_hotend[1].target, 1, 1, str_1));
893
             #else
918
             #else
894
-              0.0f, 0.0f
919
+              strcat_P(outBuf, PSTR("0 /0"));
895
             #endif
920
             #endif
896
-            );
921
+            outBuf += 4;
922
+
923
+            strcat_P(outBuf, PSTR(" @:0 B@:0\r\n"));
897
           }
924
           }
898
           else {
925
           else {
899
             sprintf_P((char *)tempBuf, PSTR("T:%d /%d B:%d /%d T0:%d /%d T1:%d /%d @:0 B@:0\r\n"),
926
             sprintf_P((char *)tempBuf, PSTR("T:%d /%d B:%d /%d T0:%d /%d T1:%d /%d @:0 B@:0\r\n"),
900
-
901
-            (int)thermalManager.temp_hotend[0].celsius, (int)thermalManager.temp_hotend[0].target,
902
-            #if HAS_HEATED_BED
903
-              (int)thermalManager.temp_bed.celsius, (int)thermalManager.temp_bed.target,
904
-            #else
905
-              0, 0,
906
-            #endif
907
-            (int)thermalManager.temp_hotend[0].celsius, (int)thermalManager.temp_hotend[0].target,
908
-              #if DISABLED(SINGLENOZZLE) && HAS_MULTI_EXTRUDER
927
+              (int)thermalManager.temp_hotend[0].celsius, (int)thermalManager.temp_hotend[0].target,
928
+              #if HAS_HEATED_BED
929
+                (int)thermalManager.temp_bed.celsius, (int)thermalManager.temp_bed.target,
930
+              #else
931
+                0, 0,
932
+              #endif
933
+              (int)thermalManager.temp_hotend[0].celsius, (int)thermalManager.temp_hotend[0].target,
934
+              #if HAS_MULTI_HOTEND
909
                 (int)thermalManager.temp_hotend[1].celsius, (int)thermalManager.temp_hotend[1].target
935
                 (int)thermalManager.temp_hotend[1].celsius, (int)thermalManager.temp_hotend[1].target
910
               #else
936
               #else
911
                 0, 0
937
                 0, 0

+ 2
- 2
Marlin/src/module/temperature.cpp Visa fil

3093
         #endif
3093
         #endif
3094
         , H_CHAMBER
3094
         , H_CHAMBER
3095
       );
3095
       );
3096
-    #endif // HAS_TEMP_CHAMBER
3096
+    #endif
3097
     #if HAS_TEMP_PROBE
3097
     #if HAS_TEMP_PROBE
3098
       print_heater_state(degProbe(), 0
3098
       print_heater_state(degProbe(), 0
3099
         #if ENABLED(SHOW_TEMP_ADC_VALUES)
3099
         #if ENABLED(SHOW_TEMP_ADC_VALUES)
3101
         #endif
3101
         #endif
3102
         , H_PROBE
3102
         , H_PROBE
3103
       );
3103
       );
3104
-    #endif // HAS_TEMP_PROBE
3104
+    #endif
3105
     #if HAS_MULTI_HOTEND
3105
     #if HAS_MULTI_HOTEND
3106
       HOTEND_LOOP() print_heater_state(degHotend(e), degTargetHotend(e)
3106
       HOTEND_LOOP() print_heater_state(degHotend(e), degTargetHotend(e)
3107
         #if ENABLED(SHOW_TEMP_ADC_VALUES)
3107
         #if ENABLED(SHOW_TEMP_ADC_VALUES)

Laddar…
Avbryt
Spara