Преглед на файлове

Show M503 report with current linear units

Scott Lahteine преди 8 години
родител
ревизия
b956f2642b
променени са 1 файла, в които са добавени 165 реда и са изтрити 148 реда
  1. 165
    148
      Marlin/configuration_store.cpp

+ 165
- 148
Marlin/configuration_store.cpp Целия файл

@@ -1165,6 +1165,13 @@ void MarlinSettings::reset() {
1165 1165
 
1166 1166
   #define CONFIG_ECHO_START do{ if (!forReplay) SERIAL_ECHO_START; }while(0)
1167 1167
 
1168
+  #if ENABLED(INCH_MODE_SUPPORT)
1169
+    extern float linear_unit_factor;
1170
+    #define LINEAR_UNIT(N) ((N) / linear_unit_factor)
1171
+  #else
1172
+    #define LINEAR_UNIT(N) N
1173
+  #endif
1174
+
1168 1175
   /**
1169 1176
    * M503 - Report current settings in RAM
1170 1177
    *
@@ -1172,113 +1179,168 @@ void MarlinSettings::reset() {
1172 1179
    */
1173 1180
   void MarlinSettings::report(bool forReplay) {
1174 1181
 
1182
+    /**
1183
+     * Announce current units, in case inches are being displayed
1184
+     */
1175 1185
     CONFIG_ECHO_START;
1186
+    #if ENABLED(INCH_MODE_SUPPORT)
1187
+      extern float linear_unit_factor, volumetric_unit_factor;
1188
+      #define LINEAR_UNIT(N) ((N) / linear_unit_factor)
1189
+      #define VOLUMETRIC_UNIT(N) ((N) / (volumetric_enabled ? volumetric_unit_factor : linear_unit_factor))
1190
+      serialprintPGM(linear_unit_factor == 1.0 ? PSTR("  G21 ; Units in mm\n") : PSTR("  G20 ; Units in inches\n"));
1191
+    #else
1192
+      #define LINEAR_UNIT(N) N
1193
+      #define VOLUMETRIC_UNIT(N) N
1194
+      SERIAL_ECHOLNPGM("  G21 ; Units in mm\n");
1195
+    #endif
1196
+    SERIAL_EOL;
1176 1197
 
1198
+    /**
1199
+     * Volumetric extrusion M200
1200
+     */
1177 1201
     if (!forReplay) {
1178
-      SERIAL_ECHOLNPGM("Steps per unit:");
1179 1202
       CONFIG_ECHO_START;
1203
+      SERIAL_ECHOPGM("Filament settings:");
1204
+      if (volumetric_enabled)
1205
+        SERIAL_EOL;
1206
+      else
1207
+        SERIAL_ECHOLNPGM(" Disabled");
1180 1208
     }
1181
-    SERIAL_ECHOPAIR("  M92 X", planner.axis_steps_per_mm[X_AXIS]);
1182
-    SERIAL_ECHOPAIR(" Y", planner.axis_steps_per_mm[Y_AXIS]);
1183
-    SERIAL_ECHOPAIR(" Z", planner.axis_steps_per_mm[Z_AXIS]);
1209
+
1210
+    CONFIG_ECHO_START;
1211
+    SERIAL_ECHOPAIR("  M200 D", filament_size[0]);
1212
+    SERIAL_EOL;
1213
+    #if EXTRUDERS > 1
1214
+      CONFIG_ECHO_START;
1215
+      SERIAL_ECHOPAIR("  M200 T1 D", filament_size[1]);
1216
+      SERIAL_EOL;
1217
+      #if EXTRUDERS > 2
1218
+        CONFIG_ECHO_START;
1219
+        SERIAL_ECHOPAIR("  M200 T2 D", filament_size[2]);
1220
+        SERIAL_EOL;
1221
+        #if EXTRUDERS > 3
1222
+          CONFIG_ECHO_START;
1223
+          SERIAL_ECHOPAIR("  M200 T3 D", filament_size[3]);
1224
+          SERIAL_EOL;
1225
+          #if EXTRUDERS > 4
1226
+            CONFIG_ECHO_START;
1227
+            SERIAL_ECHOPAIR("  M200 T4 D", filament_size[4]);
1228
+            SERIAL_EOL;
1229
+          #endif // EXTRUDERS > 4
1230
+        #endif // EXTRUDERS > 3
1231
+      #endif // EXTRUDERS > 2
1232
+    #endif // EXTRUDERS > 1
1233
+
1234
+    if (!volumetric_enabled) {
1235
+      CONFIG_ECHO_START;
1236
+      SERIAL_ECHOLNPGM("  M200 D0");
1237
+    }
1238
+
1239
+    if (!forReplay) {
1240
+      CONFIG_ECHO_START;
1241
+      SERIAL_ECHOLNPGM("Steps per unit:");
1242
+    }
1243
+    CONFIG_ECHO_START;
1244
+    SERIAL_ECHOPAIR("  M92 X", LINEAR_UNIT(planner.axis_steps_per_mm[X_AXIS]));
1245
+    SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.axis_steps_per_mm[Y_AXIS]));
1246
+    SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.axis_steps_per_mm[Z_AXIS]));
1184 1247
     #if DISABLED(DISTINCT_E_FACTORS)
1185
-      SERIAL_ECHOPAIR(" E", planner.axis_steps_per_mm[E_AXIS]);
1248
+      SERIAL_ECHOPAIR(" E", VOLUMETRIC_UNIT(planner.axis_steps_per_mm[E_AXIS]));
1186 1249
     #endif
1187 1250
     SERIAL_EOL;
1188 1251
     #if ENABLED(DISTINCT_E_FACTORS)
1252
+      CONFIG_ECHO_START;
1189 1253
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1190 1254
         SERIAL_ECHOPAIR("  M92 T", (int)i);
1191
-        SERIAL_ECHOLNPAIR(" E", planner.axis_steps_per_mm[E_AXIS + i]);
1255
+        SERIAL_ECHOLNPAIR(" E", VOLUMETRIC_UNIT(planner.axis_steps_per_mm[E_AXIS + i]));
1192 1256
       }
1193 1257
     #endif
1194 1258
 
1195
-    CONFIG_ECHO_START;
1196
-
1197 1259
     if (!forReplay) {
1198
-      SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):");
1199 1260
       CONFIG_ECHO_START;
1261
+      SERIAL_ECHOLNPGM("Maximum feedrates (units/s):");
1200 1262
     }
1201
-    SERIAL_ECHOPAIR("  M203 X", planner.max_feedrate_mm_s[X_AXIS]);
1202
-    SERIAL_ECHOPAIR(" Y", planner.max_feedrate_mm_s[Y_AXIS]);
1203
-    SERIAL_ECHOPAIR(" Z", planner.max_feedrate_mm_s[Z_AXIS]);
1263
+    CONFIG_ECHO_START;
1264
+    SERIAL_ECHOPAIR("  M203 X", LINEAR_UNIT(planner.max_feedrate_mm_s[X_AXIS]));
1265
+    SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.max_feedrate_mm_s[Y_AXIS]));
1266
+    SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.max_feedrate_mm_s[Z_AXIS]));
1204 1267
     #if DISABLED(DISTINCT_E_FACTORS)
1205
-      SERIAL_ECHOPAIR(" E", planner.max_feedrate_mm_s[E_AXIS]);
1268
+      SERIAL_ECHOPAIR(" E", VOLUMETRIC_UNIT(planner.max_feedrate_mm_s[E_AXIS]));
1206 1269
     #endif
1207 1270
     SERIAL_EOL;
1208 1271
     #if ENABLED(DISTINCT_E_FACTORS)
1272
+      CONFIG_ECHO_START;
1209 1273
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1210 1274
         SERIAL_ECHOPAIR("  M203 T", (int)i);
1211
-        SERIAL_ECHOLNPAIR(" E", planner.max_feedrate_mm_s[E_AXIS + i]);
1275
+        SERIAL_ECHOLNPAIR(" E", VOLUMETRIC_UNIT(planner.max_feedrate_mm_s[E_AXIS + i]));
1212 1276
       }
1213 1277
     #endif
1214 1278
 
1215
-    CONFIG_ECHO_START;
1216 1279
     if (!forReplay) {
1217
-      SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):");
1218 1280
       CONFIG_ECHO_START;
1281
+      SERIAL_ECHOLNPGM("Maximum Acceleration (units/s2):");
1219 1282
     }
1220
-    SERIAL_ECHOPAIR("  M201 X", planner.max_acceleration_mm_per_s2[X_AXIS]);
1221
-    SERIAL_ECHOPAIR(" Y", planner.max_acceleration_mm_per_s2[Y_AXIS]);
1222
-    SERIAL_ECHOPAIR(" Z", planner.max_acceleration_mm_per_s2[Z_AXIS]);
1283
+    CONFIG_ECHO_START;
1284
+    SERIAL_ECHOPAIR("  M201 X", LINEAR_UNIT(planner.max_acceleration_mm_per_s2[X_AXIS]));
1285
+    SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.max_acceleration_mm_per_s2[Y_AXIS]));
1286
+    SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.max_acceleration_mm_per_s2[Z_AXIS]));
1223 1287
     #if DISABLED(DISTINCT_E_FACTORS)
1224
-      SERIAL_ECHOPAIR(" E", planner.max_acceleration_mm_per_s2[E_AXIS]);
1288
+      SERIAL_ECHOPAIR(" E", VOLUMETRIC_UNIT(planner.max_acceleration_mm_per_s2[E_AXIS]));
1225 1289
     #endif
1226 1290
     SERIAL_EOL;
1227 1291
     #if ENABLED(DISTINCT_E_FACTORS)
1292
+      SERIAL_ECHO_START;
1228 1293
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1229 1294
         SERIAL_ECHOPAIR("  M201 T", (int)i);
1230
-        SERIAL_ECHOLNPAIR(" E", planner.max_acceleration_mm_per_s2[E_AXIS + i]);
1295
+        SERIAL_ECHOLNPAIR(" E", VOLUMETRIC_UNIT(planner.max_acceleration_mm_per_s2[E_AXIS + i]));
1231 1296
       }
1232 1297
     #endif
1233 1298
 
1234
-    CONFIG_ECHO_START;
1235 1299
     if (!forReplay) {
1236
-      SERIAL_ECHOLNPGM("Accelerations: P=printing, R=retract and T=travel");
1237 1300
       CONFIG_ECHO_START;
1301
+      SERIAL_ECHOLNPGM("Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>");
1238 1302
     }
1239
-    SERIAL_ECHOPAIR("  M204 P", planner.acceleration);
1240
-    SERIAL_ECHOPAIR(" R", planner.retract_acceleration);
1241
-    SERIAL_ECHOPAIR(" T", planner.travel_acceleration);
1242
-    SERIAL_EOL;
1243
-
1244 1303
     CONFIG_ECHO_START;
1304
+    SERIAL_ECHOPAIR("  M204 P", LINEAR_UNIT(planner.acceleration));
1305
+    SERIAL_ECHOPAIR(" R", LINEAR_UNIT(planner.retract_acceleration));
1306
+    SERIAL_ECHOLNPAIR(" T", LINEAR_UNIT(planner.travel_acceleration));
1307
+
1245 1308
     if (!forReplay) {
1246
-      SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)");
1247 1309
       CONFIG_ECHO_START;
1310
+      SERIAL_ECHOLNPGM("Advanced: S<min_feedrate> T<min_travel_feedrate> B<min_segment_time_ms> X<max_xy_jerk> Z<max_z_jerk> E<max_e_jerk>");
1248 1311
     }
1249
-    SERIAL_ECHOPAIR("  M205 S", planner.min_feedrate_mm_s);
1250
-    SERIAL_ECHOPAIR(" T", planner.min_travel_feedrate_mm_s);
1312
+    CONFIG_ECHO_START;
1313
+    SERIAL_ECHOPAIR("  M205 S", LINEAR_UNIT(planner.min_feedrate_mm_s));
1314
+    SERIAL_ECHOPAIR(" T", LINEAR_UNIT(planner.min_travel_feedrate_mm_s));
1251 1315
     SERIAL_ECHOPAIR(" B", planner.min_segment_time);
1252
-    SERIAL_ECHOPAIR(" X", planner.max_jerk[X_AXIS]);
1253
-    SERIAL_ECHOPAIR(" Y", planner.max_jerk[Y_AXIS]);
1254
-    SERIAL_ECHOPAIR(" Z", planner.max_jerk[Z_AXIS]);
1255
-    SERIAL_ECHOPAIR(" E", planner.max_jerk[E_AXIS]);
1256
-    SERIAL_EOL;
1316
+    SERIAL_ECHOPAIR(" X", LINEAR_UNIT(planner.max_jerk[X_AXIS]));
1317
+    SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.max_jerk[Y_AXIS]));
1318
+    SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.max_jerk[Z_AXIS]));
1319
+    SERIAL_ECHOLNPAIR(" E", LINEAR_UNIT(planner.max_jerk[E_AXIS]));
1257 1320
 
1258 1321
     #if HAS_M206_COMMAND
1259
-      CONFIG_ECHO_START;
1260 1322
       if (!forReplay) {
1261
-        SERIAL_ECHOLNPGM("Home offset (mm)");
1262 1323
         CONFIG_ECHO_START;
1324
+        SERIAL_ECHOLNPGM("Home offset:");
1263 1325
       }
1264
-      SERIAL_ECHOPAIR("  M206 X", home_offset[X_AXIS]);
1265
-      SERIAL_ECHOPAIR(" Y", home_offset[Y_AXIS]);
1266
-      SERIAL_ECHOPAIR(" Z", home_offset[Z_AXIS]);
1267
-      SERIAL_EOL;
1326
+      CONFIG_ECHO_START;
1327
+      SERIAL_ECHOPAIR("  M206 X", LINEAR_UNIT(home_offset[X_AXIS]));
1328
+      SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(home_offset[Y_AXIS]));
1329
+      SERIAL_ECHOLNPAIR(" Z", LINEAR_UNIT(home_offset[Z_AXIS]));
1268 1330
     #endif
1269 1331
 
1270 1332
     #if HOTENDS > 1
1271
-      CONFIG_ECHO_START;
1272 1333
       if (!forReplay) {
1273
-        SERIAL_ECHOLNPGM("Hotend offsets (mm)");
1274 1334
         CONFIG_ECHO_START;
1335
+        SERIAL_ECHOLNPGM("Hotend offsets:");
1275 1336
       }
1337
+      CONFIG_ECHO_START;
1276 1338
       for (uint8_t e = 1; e < HOTENDS; e++) {
1277 1339
         SERIAL_ECHOPAIR("  M218 T", (int)e);
1278
-        SERIAL_ECHOPAIR(" X", hotend_offset[X_AXIS][e]);
1279
-        SERIAL_ECHOPAIR(" Y", hotend_offset[Y_AXIS][e]);
1340
+        SERIAL_ECHOPAIR(" X", LINEAR_UNIT(hotend_offset[X_AXIS][e]));
1341
+        SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(hotend_offset[Y_AXIS][e]));
1280 1342
         #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_EXTRUDER)
1281
-          SERIAL_ECHOPAIR(" Z", hotend_offset[Z_AXIS][e]);
1343
+          SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(hotend_offset[Z_AXIS][e]));
1282 1344
         #endif
1283 1345
         SERIAL_EOL;
1284 1346
       }
@@ -1287,12 +1349,13 @@ void MarlinSettings::reset() {
1287 1349
     #if ENABLED(MESH_BED_LEVELING)
1288 1350
 
1289 1351
       if (!forReplay) {
1290
-        SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
1291 1352
         CONFIG_ECHO_START;
1353
+        SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
1292 1354
       }
1355
+      CONFIG_ECHO_START;
1293 1356
       SERIAL_ECHOPAIR("  M420 S", mbl.has_mesh() ? 1 : 0);
1294 1357
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1295
-        SERIAL_ECHOLNPAIR(" Z", planner.z_fade_height);
1358
+        SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1296 1359
       #endif
1297 1360
       SERIAL_EOL;
1298 1361
       for (uint8_t py = 0; py < GRID_MAX_POINTS_Y; py++) {
@@ -1301,7 +1364,7 @@ void MarlinSettings::reset() {
1301 1364
           SERIAL_ECHOPAIR("  G29 S3 X", (int)px + 1);
1302 1365
           SERIAL_ECHOPAIR(" Y", (int)py + 1);
1303 1366
           SERIAL_ECHOPGM(" Z");
1304
-          SERIAL_PROTOCOL_F(mbl.z_values[px][py], 5);
1367
+          SERIAL_PROTOCOL_F(LINEAR_UNIT(mbl.z_values[px][py]), 5);
1305 1368
           SERIAL_EOL;
1306 1369
         }
1307 1370
       }
@@ -1309,12 +1372,13 @@ void MarlinSettings::reset() {
1309 1372
     #elif ENABLED(AUTO_BED_LEVELING_UBL)
1310 1373
 
1311 1374
       if (!forReplay) {
1312
-        SERIAL_ECHOLNPGM("Unified Bed Leveling:");
1313 1375
         CONFIG_ECHO_START;
1376
+        SERIAL_ECHOLNPGM("Unified Bed Leveling:");
1314 1377
       }
1378
+      CONFIG_ECHO_START;
1315 1379
       SERIAL_ECHOPAIR("  M420 S", ubl.state.active ? 1 : 0);
1316 1380
       //#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1317
-      //  SERIAL_ECHOLNPAIR(" Z", ubl.state.g29_correction_fade_height);
1381
+      //  SERIAL_ECHOPAIR(" Z", ubl.state.g29_correction_fade_height);
1318 1382
       //#endif
1319 1383
       SERIAL_EOL;
1320 1384
 
@@ -1351,72 +1415,69 @@ void MarlinSettings::reset() {
1351 1415
     #elif HAS_ABL
1352 1416
 
1353 1417
       if (!forReplay) {
1354
-        SERIAL_ECHOLNPGM("Auto Bed Leveling:");
1355 1418
         CONFIG_ECHO_START;
1419
+        SERIAL_ECHOLNPGM("Auto Bed Leveling:");
1356 1420
       }
1421
+      CONFIG_ECHO_START;
1357 1422
       SERIAL_ECHOPAIR("  M420 S", planner.abl_enabled ? 1 : 0);
1358 1423
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
1359
-        SERIAL_ECHOLNPAIR(" Z", planner.z_fade_height);
1424
+        SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
1360 1425
       #endif
1361 1426
       SERIAL_EOL;
1362 1427
 
1363 1428
     #endif
1364 1429
 
1365 1430
     #if ENABLED(DELTA)
1366
-      CONFIG_ECHO_START;
1367 1431
       if (!forReplay) {
1368
-        SERIAL_ECHOLNPGM("Endstop adjustment (mm):");
1369 1432
         CONFIG_ECHO_START;
1433
+        SERIAL_ECHOLNPGM("Endstop adjustment:");
1370 1434
       }
1371
-      SERIAL_ECHOPAIR("  M666 X", endstop_adj[X_AXIS]);
1372
-      SERIAL_ECHOPAIR(" Y", endstop_adj[Y_AXIS]);
1373
-      SERIAL_ECHOPAIR(" Z", endstop_adj[Z_AXIS]);
1374
-      SERIAL_EOL;
1375 1435
       CONFIG_ECHO_START;
1436
+      SERIAL_ECHOPAIR("  M666 X", LINEAR_UNIT(endstop_adj[X_AXIS]));
1437
+      SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(endstop_adj[Y_AXIS]));
1438
+      SERIAL_ECHOLNPAIR(" Z", LINEAR_UNIT(endstop_adj[Z_AXIS]));
1376 1439
       if (!forReplay) {
1377
-        SERIAL_ECHOLNPGM("Delta settings: L=diagonal_rod, R=radius, H=height, S=segments_per_second, ABC=diagonal_rod_trim_tower_[123]");
1378 1440
         CONFIG_ECHO_START;
1441
+        SERIAL_ECHOLNPGM("Delta settings: L<diagonal_rod> R<radius> H<height> S<segments_per_s> ABC<diagonal_rod_[123]_trim>");
1379 1442
       }
1380
-      SERIAL_ECHOPAIR("  M665 L", delta_diagonal_rod);
1381
-      SERIAL_ECHOPAIR(" R", delta_radius);
1382
-      SERIAL_ECHOPAIR(" H", DELTA_HEIGHT + home_offset[Z_AXIS]);
1443
+      CONFIG_ECHO_START;
1444
+      SERIAL_ECHOPAIR("  M665 L", LINEAR_UNIT(delta_diagonal_rod));
1445
+      SERIAL_ECHOPAIR(" R", LINEAR_UNIT(delta_radius));
1446
+      SERIAL_ECHOPAIR(" H", LINEAR_UNIT(DELTA_HEIGHT + home_offset[Z_AXIS]));
1383 1447
       SERIAL_ECHOPAIR(" S", delta_segments_per_second);
1384
-      SERIAL_ECHOPAIR(" A", delta_diagonal_rod_trim[A_AXIS]);
1385
-      SERIAL_ECHOPAIR(" B", delta_diagonal_rod_trim[B_AXIS]);
1386
-      SERIAL_ECHOPAIR(" C", delta_diagonal_rod_trim[C_AXIS]);
1387
-      SERIAL_ECHOPAIR(" I", delta_tower_angle_trim[A_AXIS]);
1388
-      SERIAL_ECHOPAIR(" J", delta_tower_angle_trim[B_AXIS]);
1389
-      SERIAL_ECHOPAIR(" K", delta_tower_angle_trim[C_AXIS]);
1390
-      SERIAL_EOL;
1448
+      SERIAL_ECHOPAIR(" A", LINEAR_UNIT(delta_diagonal_rod_trim[A_AXIS]));
1449
+      SERIAL_ECHOPAIR(" B", LINEAR_UNIT(delta_diagonal_rod_trim[B_AXIS]));
1450
+      SERIAL_ECHOPAIR(" C", LINEAR_UNIT(delta_diagonal_rod_trim[C_AXIS]));
1451
+      SERIAL_ECHOPAIR(" I", LINEAR_UNIT(delta_tower_angle_trim[A_AXIS]));
1452
+      SERIAL_ECHOPAIR(" J", LINEAR_UNIT(delta_tower_angle_trim[B_AXIS]));
1453
+      SERIAL_ECHOLNPAIR(" K", LINEAR_UNIT(delta_tower_angle_trim[C_AXIS]));
1391 1454
     #elif ENABLED(Z_DUAL_ENDSTOPS)
1392
-      CONFIG_ECHO_START;
1393 1455
       if (!forReplay) {
1394
-        SERIAL_ECHOLNPGM("Z2 Endstop adjustment (mm):");
1395 1456
         CONFIG_ECHO_START;
1457
+        SERIAL_ECHOLNPGM("Z2 Endstop adjustment:");
1396 1458
       }
1397
-      SERIAL_ECHOPAIR("  M666 Z", z_endstop_adj);
1398
-      SERIAL_EOL;
1459
+      CONFIG_ECHO_START;
1460
+      SERIAL_ECHOLNPAIR("  M666 Z", LINEAR_UNIT(z_endstop_adj));
1399 1461
     #endif // DELTA
1400 1462
 
1401 1463
     #if ENABLED(ULTIPANEL)
1402
-      CONFIG_ECHO_START;
1403 1464
       if (!forReplay) {
1404
-        SERIAL_ECHOLNPGM("Material heatup parameters:");
1405 1465
         CONFIG_ECHO_START;
1466
+        SERIAL_ECHOLNPGM("Material heatup parameters:");
1406 1467
       }
1468
+      CONFIG_ECHO_START;
1407 1469
       for (uint8_t i = 0; i < COUNT(lcd_preheat_hotend_temp); i++) {
1408 1470
         SERIAL_ECHOPAIR("  M145 S", (int)i);
1409 1471
         SERIAL_ECHOPAIR(" H", lcd_preheat_hotend_temp[i]);
1410 1472
         SERIAL_ECHOPAIR(" B", lcd_preheat_bed_temp[i]);
1411
-        SERIAL_ECHOPAIR(" F", lcd_preheat_fan_speed[i]);
1412
-        SERIAL_EOL;
1473
+        SERIAL_ECHOLNPAIR(" F", lcd_preheat_fan_speed[i]);
1413 1474
       }
1414 1475
     #endif // ULTIPANEL
1415 1476
 
1416 1477
     #if HAS_PID_HEATING
1417 1478
 
1418
-      CONFIG_ECHO_START;
1419 1479
       if (!forReplay) {
1480
+        CONFIG_ECHO_START;
1420 1481
         SERIAL_ECHOLNPGM("PID settings:");
1421 1482
       }
1422 1483
       #if ENABLED(PIDTEMP)
@@ -1462,113 +1523,69 @@ void MarlinSettings::reset() {
1462 1523
     #endif // PIDTEMP || PIDTEMPBED
1463 1524
 
1464 1525
     #if HAS_LCD_CONTRAST
1465
-      CONFIG_ECHO_START;
1466 1526
       if (!forReplay) {
1467
-        SERIAL_ECHOLNPGM("LCD Contrast:");
1468 1527
         CONFIG_ECHO_START;
1528
+        SERIAL_ECHOLNPGM("LCD Contrast:");
1469 1529
       }
1470
-      SERIAL_ECHOPAIR("  M250 C", lcd_contrast);
1471
-      SERIAL_EOL;
1530
+      CONFIG_ECHO_START;
1531
+      SERIAL_ECHOLNPAIR("  M250 C", lcd_contrast);
1472 1532
     #endif
1473 1533
 
1474 1534
     #if ENABLED(FWRETRACT)
1475 1535
 
1476
-      CONFIG_ECHO_START;
1477 1536
       if (!forReplay) {
1478
-        SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)");
1479 1537
         CONFIG_ECHO_START;
1538
+        SERIAL_ECHOLNPGM("Retract: S<length> F<units/m> Z<lift>");
1480 1539
       }
1481
-      SERIAL_ECHOPAIR("  M207 S", retract_length);
1540
+      CONFIG_ECHO_START;
1541
+      SERIAL_ECHOPAIR("  M207 S", LINEAR_UNIT(retract_length));
1482 1542
       #if EXTRUDERS > 1
1483
-        SERIAL_ECHOPAIR(" W", retract_length_swap);
1543
+        SERIAL_ECHOPAIR(" W", LINEAR_UNIT(retract_length_swap));
1484 1544
       #endif
1485
-      SERIAL_ECHOPAIR(" F", MMS_TO_MMM(retract_feedrate_mm_s));
1486
-      SERIAL_ECHOPAIR(" Z", retract_zlift);
1487
-      SERIAL_EOL;
1488
-      CONFIG_ECHO_START;
1545
+      SERIAL_ECHOPAIR(" F", MMS_TO_MMM(LINEAR_UNIT(retract_feedrate_mm_s)));
1546
+      SERIAL_ECHOLNPAIR(" Z", LINEAR_UNIT(retract_zlift));
1547
+
1489 1548
       if (!forReplay) {
1490
-        SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)");
1491 1549
         CONFIG_ECHO_START;
1550
+        SERIAL_ECHOLNPGM("Recover: S<length> F<units/m>");
1492 1551
       }
1493
-      SERIAL_ECHOPAIR("  M208 S", retract_recover_length);
1552
+      CONFIG_ECHO_START;
1553
+      SERIAL_ECHOPAIR("  M208 S", LINEAR_UNIT(retract_recover_length));
1494 1554
       #if EXTRUDERS > 1
1495
-        SERIAL_ECHOPAIR(" W", retract_recover_length_swap);
1555
+        SERIAL_ECHOPAIR(" W", LINEAR_UNIT(retract_recover_length_swap));
1496 1556
       #endif
1497
-      SERIAL_ECHOPAIR(" F", MMS_TO_MMM(retract_recover_feedrate_mm_s));
1498
-      SERIAL_EOL;
1499
-      CONFIG_ECHO_START;
1557
+      SERIAL_ECHOLNPAIR(" F", MMS_TO_MMM(LINEAR_UNIT(retract_recover_feedrate_mm_s)));
1558
+
1500 1559
       if (!forReplay) {
1501
-        SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
1502 1560
         CONFIG_ECHO_START;
1561
+        SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
1503 1562
       }
1504
-      SERIAL_ECHOPAIR("  M209 S", autoretract_enabled ? 1 : 0);
1505
-      SERIAL_EOL;
1506
-
1507
-    #endif // FWRETRACT
1508
-
1509
-    /**
1510
-     * Volumetric extrusion M200
1511
-     */
1512
-    if (!forReplay) {
1513
-      CONFIG_ECHO_START;
1514
-      SERIAL_ECHOPGM("Filament settings:");
1515
-      if (volumetric_enabled)
1516
-        SERIAL_EOL;
1517
-      else
1518
-        SERIAL_ECHOLNPGM(" Disabled");
1519
-    }
1520
-
1521
-    CONFIG_ECHO_START;
1522
-    SERIAL_ECHOPAIR("  M200 D", filament_size[0]);
1523
-    SERIAL_EOL;
1524
-    #if EXTRUDERS > 1
1525 1563
       CONFIG_ECHO_START;
1526
-      SERIAL_ECHOPAIR("  M200 T1 D", filament_size[1]);
1527
-      SERIAL_EOL;
1528
-      #if EXTRUDERS > 2
1529
-        CONFIG_ECHO_START;
1530
-        SERIAL_ECHOPAIR("  M200 T2 D", filament_size[2]);
1531
-        SERIAL_EOL;
1532
-        #if EXTRUDERS > 3
1533
-          CONFIG_ECHO_START;
1534
-          SERIAL_ECHOPAIR("  M200 T3 D", filament_size[3]);
1535
-          SERIAL_EOL;
1536
-          #if EXTRUDERS > 4
1537
-            CONFIG_ECHO_START;
1538
-            SERIAL_ECHOPAIR("  M200 T4 D", filament_size[4]);
1539
-            SERIAL_EOL;
1540
-          #endif // EXTRUDERS > 4
1541
-        #endif // EXTRUDERS > 3
1542
-      #endif // EXTRUDERS > 2
1543
-    #endif // EXTRUDERS > 1
1564
+      SERIAL_ECHOLNPAIR("  M209 S", autoretract_enabled ? 1 : 0);
1544 1565
 
1545
-    if (!volumetric_enabled) {
1546
-      CONFIG_ECHO_START;
1547
-      SERIAL_ECHOLNPGM("  M200 D0");
1548
-    }
1566
+    #endif // FWRETRACT
1549 1567
 
1550 1568
     /**
1551 1569
      * Auto Bed Leveling
1552 1570
      */
1553 1571
     #if HAS_BED_PROBE
1554
-      CONFIG_ECHO_START;
1555 1572
       if (!forReplay) {
1556
-        SERIAL_ECHOLNPGM("Z-Probe Offset (mm):");
1557 1573
         CONFIG_ECHO_START;
1574
+        SERIAL_ECHOLNPGM("Z-Probe Offset (mm):");
1558 1575
       }
1559
-      SERIAL_ECHOPAIR("  M851 Z", zprobe_zoffset);
1560
-      SERIAL_EOL;
1576
+      CONFIG_ECHO_START;
1577
+      SERIAL_ECHOLNPAIR("  M851 Z", LINEAR_UNIT(zprobe_zoffset));
1561 1578
     #endif
1562 1579
 
1563 1580
     /**
1564 1581
      * TMC2130 stepper driver current
1565 1582
      */
1566 1583
     #if ENABLED(HAVE_TMC2130)
1567
-      CONFIG_ECHO_START;
1568 1584
       if (!forReplay) {
1569
-        SERIAL_ECHOLNPGM("Stepper driver current:");
1570 1585
         CONFIG_ECHO_START;
1586
+        SERIAL_ECHOLNPGM("Stepper driver current:");
1571 1587
       }
1588
+      CONFIG_ECHO_START;
1572 1589
       SERIAL_ECHO("  M906");
1573 1590
       #if ENABLED(X_IS_TMC2130)
1574 1591
         SERIAL_ECHOPAIR(" X", stepperX.getCurrent());

Loading…
Отказ
Запис