Browse Source

Show M503 report with current linear units

Scott Lahteine 8 years ago
parent
commit
b956f2642b
1 changed files with 165 additions and 148 deletions
  1. 165
    148
      Marlin/configuration_store.cpp

+ 165
- 148
Marlin/configuration_store.cpp View File

1165
 
1165
 
1166
   #define CONFIG_ECHO_START do{ if (!forReplay) SERIAL_ECHO_START; }while(0)
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
    * M503 - Report current settings in RAM
1176
    * M503 - Report current settings in RAM
1170
    *
1177
    *
1172
    */
1179
    */
1173
   void MarlinSettings::report(bool forReplay) {
1180
   void MarlinSettings::report(bool forReplay) {
1174
 
1181
 
1182
+    /**
1183
+     * Announce current units, in case inches are being displayed
1184
+     */
1175
     CONFIG_ECHO_START;
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
     if (!forReplay) {
1201
     if (!forReplay) {
1178
-      SERIAL_ECHOLNPGM("Steps per unit:");
1179
       CONFIG_ECHO_START;
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
     #if DISABLED(DISTINCT_E_FACTORS)
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
     #endif
1249
     #endif
1187
     SERIAL_EOL;
1250
     SERIAL_EOL;
1188
     #if ENABLED(DISTINCT_E_FACTORS)
1251
     #if ENABLED(DISTINCT_E_FACTORS)
1252
+      CONFIG_ECHO_START;
1189
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1253
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1190
         SERIAL_ECHOPAIR("  M92 T", (int)i);
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
     #endif
1257
     #endif
1194
 
1258
 
1195
-    CONFIG_ECHO_START;
1196
-
1197
     if (!forReplay) {
1259
     if (!forReplay) {
1198
-      SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):");
1199
       CONFIG_ECHO_START;
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
     #if DISABLED(DISTINCT_E_FACTORS)
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
     #endif
1269
     #endif
1207
     SERIAL_EOL;
1270
     SERIAL_EOL;
1208
     #if ENABLED(DISTINCT_E_FACTORS)
1271
     #if ENABLED(DISTINCT_E_FACTORS)
1272
+      CONFIG_ECHO_START;
1209
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1273
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1210
         SERIAL_ECHOPAIR("  M203 T", (int)i);
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
     #endif
1277
     #endif
1214
 
1278
 
1215
-    CONFIG_ECHO_START;
1216
     if (!forReplay) {
1279
     if (!forReplay) {
1217
-      SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):");
1218
       CONFIG_ECHO_START;
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
     #if DISABLED(DISTINCT_E_FACTORS)
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
     #endif
1289
     #endif
1226
     SERIAL_EOL;
1290
     SERIAL_EOL;
1227
     #if ENABLED(DISTINCT_E_FACTORS)
1291
     #if ENABLED(DISTINCT_E_FACTORS)
1292
+      SERIAL_ECHO_START;
1228
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1293
       for (uint8_t i = 0; i < E_STEPPERS; i++) {
1229
         SERIAL_ECHOPAIR("  M201 T", (int)i);
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
     #endif
1297
     #endif
1233
 
1298
 
1234
-    CONFIG_ECHO_START;
1235
     if (!forReplay) {
1299
     if (!forReplay) {
1236
-      SERIAL_ECHOLNPGM("Accelerations: P=printing, R=retract and T=travel");
1237
       CONFIG_ECHO_START;
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
     CONFIG_ECHO_START;
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
     if (!forReplay) {
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
       CONFIG_ECHO_START;
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
     SERIAL_ECHOPAIR(" B", planner.min_segment_time);
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
     #if HAS_M206_COMMAND
1321
     #if HAS_M206_COMMAND
1259
-      CONFIG_ECHO_START;
1260
       if (!forReplay) {
1322
       if (!forReplay) {
1261
-        SERIAL_ECHOLNPGM("Home offset (mm)");
1262
         CONFIG_ECHO_START;
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
     #endif
1330
     #endif
1269
 
1331
 
1270
     #if HOTENDS > 1
1332
     #if HOTENDS > 1
1271
-      CONFIG_ECHO_START;
1272
       if (!forReplay) {
1333
       if (!forReplay) {
1273
-        SERIAL_ECHOLNPGM("Hotend offsets (mm)");
1274
         CONFIG_ECHO_START;
1334
         CONFIG_ECHO_START;
1335
+        SERIAL_ECHOLNPGM("Hotend offsets:");
1275
       }
1336
       }
1337
+      CONFIG_ECHO_START;
1276
       for (uint8_t e = 1; e < HOTENDS; e++) {
1338
       for (uint8_t e = 1; e < HOTENDS; e++) {
1277
         SERIAL_ECHOPAIR("  M218 T", (int)e);
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
         #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(SWITCHING_EXTRUDER)
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
         #endif
1344
         #endif
1283
         SERIAL_EOL;
1345
         SERIAL_EOL;
1284
       }
1346
       }
1287
     #if ENABLED(MESH_BED_LEVELING)
1349
     #if ENABLED(MESH_BED_LEVELING)
1288
 
1350
 
1289
       if (!forReplay) {
1351
       if (!forReplay) {
1290
-        SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
1291
         CONFIG_ECHO_START;
1352
         CONFIG_ECHO_START;
1353
+        SERIAL_ECHOLNPGM("Mesh Bed Leveling:");
1292
       }
1354
       }
1355
+      CONFIG_ECHO_START;
1293
       SERIAL_ECHOPAIR("  M420 S", mbl.has_mesh() ? 1 : 0);
1356
       SERIAL_ECHOPAIR("  M420 S", mbl.has_mesh() ? 1 : 0);
1294
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
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
       #endif
1359
       #endif
1297
       SERIAL_EOL;
1360
       SERIAL_EOL;
1298
       for (uint8_t py = 0; py < GRID_MAX_POINTS_Y; py++) {
1361
       for (uint8_t py = 0; py < GRID_MAX_POINTS_Y; py++) {
1301
           SERIAL_ECHOPAIR("  G29 S3 X", (int)px + 1);
1364
           SERIAL_ECHOPAIR("  G29 S3 X", (int)px + 1);
1302
           SERIAL_ECHOPAIR(" Y", (int)py + 1);
1365
           SERIAL_ECHOPAIR(" Y", (int)py + 1);
1303
           SERIAL_ECHOPGM(" Z");
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
           SERIAL_EOL;
1368
           SERIAL_EOL;
1306
         }
1369
         }
1307
       }
1370
       }
1309
     #elif ENABLED(AUTO_BED_LEVELING_UBL)
1372
     #elif ENABLED(AUTO_BED_LEVELING_UBL)
1310
 
1373
 
1311
       if (!forReplay) {
1374
       if (!forReplay) {
1312
-        SERIAL_ECHOLNPGM("Unified Bed Leveling:");
1313
         CONFIG_ECHO_START;
1375
         CONFIG_ECHO_START;
1376
+        SERIAL_ECHOLNPGM("Unified Bed Leveling:");
1314
       }
1377
       }
1378
+      CONFIG_ECHO_START;
1315
       SERIAL_ECHOPAIR("  M420 S", ubl.state.active ? 1 : 0);
1379
       SERIAL_ECHOPAIR("  M420 S", ubl.state.active ? 1 : 0);
1316
       //#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
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
       //#endif
1382
       //#endif
1319
       SERIAL_EOL;
1383
       SERIAL_EOL;
1320
 
1384
 
1351
     #elif HAS_ABL
1415
     #elif HAS_ABL
1352
 
1416
 
1353
       if (!forReplay) {
1417
       if (!forReplay) {
1354
-        SERIAL_ECHOLNPGM("Auto Bed Leveling:");
1355
         CONFIG_ECHO_START;
1418
         CONFIG_ECHO_START;
1419
+        SERIAL_ECHOLNPGM("Auto Bed Leveling:");
1356
       }
1420
       }
1421
+      CONFIG_ECHO_START;
1357
       SERIAL_ECHOPAIR("  M420 S", planner.abl_enabled ? 1 : 0);
1422
       SERIAL_ECHOPAIR("  M420 S", planner.abl_enabled ? 1 : 0);
1358
       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
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
       #endif
1425
       #endif
1361
       SERIAL_EOL;
1426
       SERIAL_EOL;
1362
 
1427
 
1363
     #endif
1428
     #endif
1364
 
1429
 
1365
     #if ENABLED(DELTA)
1430
     #if ENABLED(DELTA)
1366
-      CONFIG_ECHO_START;
1367
       if (!forReplay) {
1431
       if (!forReplay) {
1368
-        SERIAL_ECHOLNPGM("Endstop adjustment (mm):");
1369
         CONFIG_ECHO_START;
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
       CONFIG_ECHO_START;
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
       if (!forReplay) {
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
         CONFIG_ECHO_START;
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
       SERIAL_ECHOPAIR(" S", delta_segments_per_second);
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
     #elif ENABLED(Z_DUAL_ENDSTOPS)
1454
     #elif ENABLED(Z_DUAL_ENDSTOPS)
1392
-      CONFIG_ECHO_START;
1393
       if (!forReplay) {
1455
       if (!forReplay) {
1394
-        SERIAL_ECHOLNPGM("Z2 Endstop adjustment (mm):");
1395
         CONFIG_ECHO_START;
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
     #endif // DELTA
1461
     #endif // DELTA
1400
 
1462
 
1401
     #if ENABLED(ULTIPANEL)
1463
     #if ENABLED(ULTIPANEL)
1402
-      CONFIG_ECHO_START;
1403
       if (!forReplay) {
1464
       if (!forReplay) {
1404
-        SERIAL_ECHOLNPGM("Material heatup parameters:");
1405
         CONFIG_ECHO_START;
1465
         CONFIG_ECHO_START;
1466
+        SERIAL_ECHOLNPGM("Material heatup parameters:");
1406
       }
1467
       }
1468
+      CONFIG_ECHO_START;
1407
       for (uint8_t i = 0; i < COUNT(lcd_preheat_hotend_temp); i++) {
1469
       for (uint8_t i = 0; i < COUNT(lcd_preheat_hotend_temp); i++) {
1408
         SERIAL_ECHOPAIR("  M145 S", (int)i);
1470
         SERIAL_ECHOPAIR("  M145 S", (int)i);
1409
         SERIAL_ECHOPAIR(" H", lcd_preheat_hotend_temp[i]);
1471
         SERIAL_ECHOPAIR(" H", lcd_preheat_hotend_temp[i]);
1410
         SERIAL_ECHOPAIR(" B", lcd_preheat_bed_temp[i]);
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
     #endif // ULTIPANEL
1475
     #endif // ULTIPANEL
1415
 
1476
 
1416
     #if HAS_PID_HEATING
1477
     #if HAS_PID_HEATING
1417
 
1478
 
1418
-      CONFIG_ECHO_START;
1419
       if (!forReplay) {
1479
       if (!forReplay) {
1480
+        CONFIG_ECHO_START;
1420
         SERIAL_ECHOLNPGM("PID settings:");
1481
         SERIAL_ECHOLNPGM("PID settings:");
1421
       }
1482
       }
1422
       #if ENABLED(PIDTEMP)
1483
       #if ENABLED(PIDTEMP)
1462
     #endif // PIDTEMP || PIDTEMPBED
1523
     #endif // PIDTEMP || PIDTEMPBED
1463
 
1524
 
1464
     #if HAS_LCD_CONTRAST
1525
     #if HAS_LCD_CONTRAST
1465
-      CONFIG_ECHO_START;
1466
       if (!forReplay) {
1526
       if (!forReplay) {
1467
-        SERIAL_ECHOLNPGM("LCD Contrast:");
1468
         CONFIG_ECHO_START;
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
     #endif
1532
     #endif
1473
 
1533
 
1474
     #if ENABLED(FWRETRACT)
1534
     #if ENABLED(FWRETRACT)
1475
 
1535
 
1476
-      CONFIG_ECHO_START;
1477
       if (!forReplay) {
1536
       if (!forReplay) {
1478
-        SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)");
1479
         CONFIG_ECHO_START;
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
       #if EXTRUDERS > 1
1542
       #if EXTRUDERS > 1
1483
-        SERIAL_ECHOPAIR(" W", retract_length_swap);
1543
+        SERIAL_ECHOPAIR(" W", LINEAR_UNIT(retract_length_swap));
1484
       #endif
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
       if (!forReplay) {
1548
       if (!forReplay) {
1490
-        SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)");
1491
         CONFIG_ECHO_START;
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
       #if EXTRUDERS > 1
1554
       #if EXTRUDERS > 1
1495
-        SERIAL_ECHOPAIR(" W", retract_recover_length_swap);
1555
+        SERIAL_ECHOPAIR(" W", LINEAR_UNIT(retract_recover_length_swap));
1496
       #endif
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
       if (!forReplay) {
1559
       if (!forReplay) {
1501
-        SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
1502
         CONFIG_ECHO_START;
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
       CONFIG_ECHO_START;
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
      * Auto Bed Leveling
1569
      * Auto Bed Leveling
1552
      */
1570
      */
1553
     #if HAS_BED_PROBE
1571
     #if HAS_BED_PROBE
1554
-      CONFIG_ECHO_START;
1555
       if (!forReplay) {
1572
       if (!forReplay) {
1556
-        SERIAL_ECHOLNPGM("Z-Probe Offset (mm):");
1557
         CONFIG_ECHO_START;
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
     #endif
1578
     #endif
1562
 
1579
 
1563
     /**
1580
     /**
1564
      * TMC2130 stepper driver current
1581
      * TMC2130 stepper driver current
1565
      */
1582
      */
1566
     #if ENABLED(HAVE_TMC2130)
1583
     #if ENABLED(HAVE_TMC2130)
1567
-      CONFIG_ECHO_START;
1568
       if (!forReplay) {
1584
       if (!forReplay) {
1569
-        SERIAL_ECHOLNPGM("Stepper driver current:");
1570
         CONFIG_ECHO_START;
1585
         CONFIG_ECHO_START;
1586
+        SERIAL_ECHOLNPGM("Stepper driver current:");
1571
       }
1587
       }
1588
+      CONFIG_ECHO_START;
1572
       SERIAL_ECHO("  M906");
1589
       SERIAL_ECHO("  M906");
1573
       #if ENABLED(X_IS_TMC2130)
1590
       #if ENABLED(X_IS_TMC2130)
1574
         SERIAL_ECHOPAIR(" X", stepperX.getCurrent());
1591
         SERIAL_ECHOPAIR(" X", stepperX.getCurrent());

Loading…
Cancel
Save