Browse Source

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

MKS-Sean 3 years ago
parent
commit
57e4b82b66
No account linked to committer's email address

+ 4
- 4
Marlin/src/lcd/extui/lib/mks_ui/draw_acceleration_settings.cpp View File

@@ -109,15 +109,15 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
109 109
 
110 110
 void lv_draw_acceleration_settings() {
111 111
   scr = lv_screen_create(ACCELERATION_UI, machine_menu.AccelerationConfTitle);
112
-
112
+  char str_1[16];
113 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 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 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 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 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 View File

@@ -65,15 +65,16 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
65 65
 }
66 66
 
67 67
 void lv_draw_auto_level_offset_settings() {
68
+  char str_1[16];
68 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 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 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 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 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 View File

@@ -60,34 +60,35 @@ static uint8_t has_adjust_z = 0;
60 60
 static void event_handler(lv_obj_t *obj, lv_event_t event) {
61 61
   if (event != LV_EVENT_RELEASED) return;
62 62
   char baby_buf[30] = { 0 };
63
+  char str_1[16];
63 64
   switch (obj->mks_obj_id) {
64 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 67
       gcode.process_subcommands_now_P(PSTR(baby_buf));
67 68
       has_adjust_z = 1;
68 69
       break;
69 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 72
       gcode.process_subcommands_now_P(PSTR(baby_buf));
72 73
       has_adjust_z = 1;
73 74
       break;
74 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 77
       gcode.process_subcommands_now_P(PSTR(baby_buf));
77 78
       has_adjust_z = 1;
78 79
       break;
79 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 82
       gcode.process_subcommands_now_P(PSTR(baby_buf));
82 83
       has_adjust_z = 1;
83 84
       break;
84 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 87
       gcode.process_subcommands_now_P(PSTR(baby_buf));
87 88
       has_adjust_z = 1;
88 89
       break;
89 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 92
       gcode.process_subcommands_now_P(PSTR(baby_buf));
92 93
       has_adjust_z = 1;
93 94
       break;
@@ -161,7 +162,12 @@ void disp_baby_step_dist() {
161 162
 
162 163
 void disp_z_offset_value() {
163 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 171
   lv_label_set_text(zOffsetText, buf);
166 172
 }
167 173
 

+ 5
- 4
Marlin/src/lcd/extui/lib/mks_ui/draw_jerk_settings.cpp View File

@@ -71,18 +71,19 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
71 71
 }
72 72
 
73 73
 void lv_draw_jerk_settings() {
74
+  char str_1[16];
74 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 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 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 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 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 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 View File

@@ -80,25 +80,26 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
80 80
 }
81 81
 
82 82
 void lv_draw_max_feedrate_settings() {
83
+  char str_1[16];
83 84
   scr = lv_screen_create(MAXFEEDRATE_UI, machine_menu.MaxFeedRateConfTitle);
84 85
 
85 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 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 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 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 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 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 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 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 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 View File

@@ -52,6 +52,7 @@ enum {
52 52
 };
53 53
 
54 54
 static void event_handler(lv_obj_t *obj, lv_event_t event) {
55
+  char str_1[16];
55 56
   if (event != LV_EVENT_RELEASED) return;
56 57
   if (queue.length <= (BUFSIZE - 3)) {
57 58
     bool do_inject = true;
@@ -63,7 +64,7 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
63 64
       default: do_inject = false;
64 65
     }
65 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 68
       queue.inject(public_buf_l);
68 69
     }
69 70
   }
@@ -125,7 +126,8 @@ void lv_draw_move_motor() {
125 126
 }
126 127
 
127 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 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 View File

@@ -73,19 +73,20 @@ enum {
73 73
 
74 74
 static void disp_key_value() {
75 75
   char *temp;
76
+  char str_1[16];
76 77
   #if HAS_TRINAMIC_CONFIG
77 78
     float milliamps;
78 79
   #endif
79 80
 
80 81
   switch (value) {
81 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 84
       break;
84 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 87
       break;
87 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 90
       break;
90 91
     case XAcceleration:
91 92
       sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[X_AXIS]);
@@ -103,105 +104,104 @@ static void disp_key_value() {
103 104
       sprintf_P(public_buf_m, PSTR("%d"), (int)planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(1)]);
104 105
       break;
105 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 108
       break;
108 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 111
       break;
111 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 114
       break;
114 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 117
       break;
117 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 120
       break;
120 121
 
121 122
     case XJerk:
122 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 125
       #endif
125 126
       break;
126 127
     case YJerk:
127 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 130
       #endif
130 131
       break;
131 132
     case ZJerk:
132 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 135
       #endif
135 136
       break;
136 137
     case EJerk:
137 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 140
       #endif
140 141
       break;
141 142
 
142 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 145
       break;
146 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 149
       break;
150 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 153
       break;
154 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 157
       break;
158 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 160
       break;
161 161
 
162 162
     case Xcurrent:
163 163
       #if AXIS_IS_TMC(X)
164 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 166
       #endif
167 167
       break;
168 168
 
169 169
     case Ycurrent:
170 170
       #if AXIS_IS_TMC(Y)
171 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 173
       #endif
174 174
       break;
175 175
 
176 176
     case Zcurrent:
177 177
       #if AXIS_IS_TMC(Z)
178 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 180
       #endif
181 181
       break;
182 182
 
183 183
     case E0current:
184 184
       #if AXIS_IS_TMC(E0)
185 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 187
       #endif
188 188
       break;
189 189
 
190 190
     case E1current:
191 191
       #if AXIS_IS_TMC(E1)
192 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 194
       #endif
195 195
       break;
196 196
 
197 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 199
       break;
200 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 202
       break;
203 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 205
       break;
206 206
     case level_pos_x1:
207 207
       sprintf_P(public_buf_m, PSTR("%d"), (int)gCfgItems.levelingPos[0][0]);
@@ -236,16 +236,16 @@ static void disp_key_value() {
236 236
     #if HAS_BED_PROBE
237 237
       case x_offset:
238 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 240
         #endif
241 241
         break;
242 242
       case y_offset:
243 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 245
         #endif
246 246
         break;
247 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 249
         break;
250 250
     #endif
251 251
     case load_length:

+ 4
- 3
Marlin/src/lcd/extui/lib/mks_ui/draw_pause_position.cpp View File

@@ -60,15 +60,16 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
60 60
 }
61 61
 
62 62
 void lv_draw_pause_position() {
63
+  char str_1[16];
63 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 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 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 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 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 View File

@@ -56,7 +56,7 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
56 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 60
           else if ((int)thermalManager.temp_hotend[uiCfg.curSprayerChoose].target > (HEATER_1_MAXTEMP - (WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1))) {
61 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 View File

@@ -235,7 +235,8 @@ void disp_print_time() {
235 235
 }
236 236
 
237 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 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 View File

@@ -79,25 +79,26 @@ static void event_handler(lv_obj_t *obj, lv_event_t event) {
79 79
 }
80 80
 
81 81
 void lv_draw_step_settings() {
82
+  char str_1[16];
82 83
   scr = lv_screen_create(STEPS_UI, machine_menu.StepsConfTitle);
83 84
 
84 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 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 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 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 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 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 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 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 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 View File

@@ -95,13 +95,14 @@ void lv_draw_tmc_current_settings() {
95 95
   scr = lv_screen_create(TMC_CURRENT_UI, machine_menu.TmcCurrentConfTitle);
96 96
 
97 97
   float milliamps;
98
+  char str_1[16];
98 99
   if (!uiCfg.para_ui_page) {
99 100
     #if AXIS_IS_TMC(X)
100 101
       milliamps = stepperX.getMilliamps();
101 102
     #else
102 103
       milliamps = -1;
103 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 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 108
     #if AXIS_IS_TMC(Y)
@@ -109,7 +110,7 @@ void lv_draw_tmc_current_settings() {
109 110
     #else
110 111
       milliamps = -1;
111 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 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 116
     #if AXIS_IS_TMC(Z)
@@ -117,7 +118,7 @@ void lv_draw_tmc_current_settings() {
117 118
     #else
118 119
       milliamps = -1;
119 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 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 124
     #if AXIS_IS_TMC(E0)
@@ -125,7 +126,7 @@ void lv_draw_tmc_current_settings() {
125 126
     #else
126 127
       milliamps = -1;
127 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 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 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,7 +137,7 @@ void lv_draw_tmc_current_settings() {
136 137
     #else
137 138
       milliamps = -1;
138 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 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 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 View File

@@ -42,6 +42,7 @@ extern uint32_t To_pre_view;
42 42
 extern bool flash_preview_begin, default_preview_flg, gcode_preview_over;
43 43
 
44 44
 void printer_state_polling() {
45
+  char str_1[16];
45 46
   if (uiCfg.print_state == PAUSING) {
46 47
     #if ENABLED(SDSUPPORT)
47 48
       if (!planner.has_blocks_queued() && card.getIndex() > MIN_FILE_PRINTED)
@@ -59,11 +60,11 @@ void printer_state_polling() {
59 60
         uiCfg.current_z_position_bak = current_position.z;
60 61
 
61 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 64
           gcode.process_subcommands_now(public_buf_l);
64 65
         }
65 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 68
           gcode.process_subcommands_now(public_buf_l);
68 69
         }
69 70
         uiCfg.print_state = PAUSED;
@@ -83,12 +84,12 @@ void printer_state_polling() {
83 84
   if (uiCfg.print_state == RESUMING) {
84 85
     if (IS_SD_PAUSED()) {
85 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 88
         gcode.process_subcommands_now(public_buf_m);
88 89
       }
89 90
       if (gCfgItems.pausePosZ != (float)-1) {
90 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 93
         gcode.process_subcommands_now(public_buf_m);
93 94
       }
94 95
       gcode.process_subcommands_now_P(M24_STR);
@@ -126,7 +127,7 @@ void printer_state_polling() {
126 127
         gcode.process_subcommands_now(public_buf_m);
127 128
 
128 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 131
           gcode.process_subcommands_now(public_buf_l);
131 132
         }
132 133
       #endif

+ 44
- 18
Marlin/src/lcd/extui/lib/mks_ui/wifi_module.cpp View File

@@ -874,38 +874,64 @@ static void wifi_gcode_exec(uint8_t *cmd_line) {
874 874
             }
875 875
           }
876 876
           break;
877
+
877 878
         case 105:
878 879
         case 991:
879 880
           ZERO(tempBuf);
880 881
           if (cmd_value == 105) {
882
+
881 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 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 903
             #else
888
-              0.0f, 0.0f,
904
+              strcpy_P(outBuf, PSTR("0 /0"));
889 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 918
             #else
894
-              0.0f, 0.0f
919
+              strcat_P(outBuf, PSTR("0 /0"));
895 920
             #endif
896
-            );
921
+            outBuf += 4;
922
+
923
+            strcat_P(outBuf, PSTR(" @:0 B@:0\r\n"));
897 924
           }
898 925
           else {
899 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 935
                 (int)thermalManager.temp_hotend[1].celsius, (int)thermalManager.temp_hotend[1].target
910 936
               #else
911 937
                 0, 0

+ 2
- 2
Marlin/src/module/temperature.cpp View File

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

Loading…
Cancel
Save