|
@@ -382,8 +382,8 @@ void MarlinSettings::postprocess() {
|
382
|
382
|
#if ENABLED(EEPROM_CHITCHAT)
|
383
|
383
|
#define CHITCHAT_ECHO(V) SERIAL_ECHO(V)
|
384
|
384
|
#define CHITCHAT_ECHOLNPGM(STR) SERIAL_ECHOLNPGM(STR)
|
385
|
|
- #define CHITCHAT_ECHOPAIR(STR,V) SERIAL_ECHOPAIR(STR,V)
|
386
|
|
- #define CHITCHAT_ECHOLNPAIR(STR,V) SERIAL_ECHOLNPAIR(STR,V)
|
|
385
|
+ #define CHITCHAT_ECHOPAIR(...) SERIAL_ECHOPAIR(__VA_ARGS__)
|
|
386
|
+ #define CHITCHAT_ECHOLNPAIR(...) SERIAL_ECHOLNPAIR(__VA_ARGS__)
|
387
|
387
|
#define CHITCHAT_ECHO_START() SERIAL_ECHO_START()
|
388
|
388
|
#define CHITCHAT_ERROR_START() SERIAL_ERROR_START()
|
389
|
389
|
#define CHITCHAT_ERROR_MSG(STR) SERIAL_ERROR_MSG(STR)
|
|
@@ -392,8 +392,8 @@ void MarlinSettings::postprocess() {
|
392
|
392
|
#else
|
393
|
393
|
#define CHITCHAT_ECHO(V) NOOP
|
394
|
394
|
#define CHITCHAT_ECHOLNPGM(STR) NOOP
|
395
|
|
- #define CHITCHAT_ECHOPAIR(STR,V) NOOP
|
396
|
|
- #define CHITCHAT_ECHOLNPAIR(STR,V) NOOP
|
|
395
|
+ #define CHITCHAT_ECHOPAIR(...) NOOP
|
|
396
|
+ #define CHITCHAT_ECHOLNPAIR(...) NOOP
|
397
|
397
|
#define CHITCHAT_ECHO_START() NOOP
|
398
|
398
|
#define CHITCHAT_ERROR_START() NOOP
|
399
|
399
|
#define CHITCHAT_ERROR_MSG(STR) NOOP
|
|
@@ -1104,9 +1104,7 @@ void MarlinSettings::postprocess() {
|
1104
|
1104
|
|
1105
|
1105
|
// Report storage size
|
1106
|
1106
|
CHITCHAT_ECHO_START();
|
1107
|
|
- CHITCHAT_ECHOPAIR("Settings Stored (", eeprom_size);
|
1108
|
|
- CHITCHAT_ECHOPAIR(" bytes; crc ", (uint32_t)final_crc);
|
1109
|
|
- CHITCHAT_ECHOLNPGM(")");
|
|
1107
|
+ CHITCHAT_ECHOLNPAIR("Settings Stored (", eeprom_size, " bytes; crc ", (uint32_t)final_crc, ")");
|
1110
|
1108
|
|
1111
|
1109
|
eeprom_error |= size_error(eeprom_size);
|
1112
|
1110
|
}
|
|
@@ -1144,9 +1142,7 @@ void MarlinSettings::postprocess() {
|
1144
|
1142
|
stored_ver[1] = '\0';
|
1145
|
1143
|
}
|
1146
|
1144
|
CHITCHAT_ECHO_START();
|
1147
|
|
- CHITCHAT_ECHOPGM("EEPROM version mismatch ");
|
1148
|
|
- CHITCHAT_ECHOPAIR("(EEPROM=", stored_ver);
|
1149
|
|
- CHITCHAT_ECHOLNPGM(" Marlin=" EEPROM_VERSION ")");
|
|
1145
|
+ CHITCHAT_ECHOLNPAIR("EEPROM version mismatch (EEPROM=", stored_ver, " Marlin=" EEPROM_VERSION ")");
|
1150
|
1146
|
eeprom_error = true;
|
1151
|
1147
|
}
|
1152
|
1148
|
else {
|
|
@@ -1812,24 +1808,17 @@ void MarlinSettings::postprocess() {
|
1812
|
1808
|
eeprom_error = size_error(eeprom_index - (EEPROM_OFFSET));
|
1813
|
1809
|
if (eeprom_error) {
|
1814
|
1810
|
CHITCHAT_ECHO_START();
|
1815
|
|
- CHITCHAT_ECHOPAIR("Index: ", int(eeprom_index - (EEPROM_OFFSET)));
|
1816
|
|
- CHITCHAT_ECHOLNPAIR(" Size: ", datasize());
|
|
1811
|
+ CHITCHAT_ECHOLNPAIR("Index: ", int(eeprom_index - (EEPROM_OFFSET)), " Size: ", datasize());
|
1817
|
1812
|
}
|
1818
|
1813
|
else if (working_crc != stored_crc) {
|
1819
|
1814
|
eeprom_error = true;
|
1820
|
1815
|
CHITCHAT_ERROR_START();
|
1821
|
|
- CHITCHAT_ECHOPGM("EEPROM CRC mismatch - (stored) ");
|
1822
|
|
- CHITCHAT_ECHO(stored_crc);
|
1823
|
|
- CHITCHAT_ECHOPGM(" != ");
|
1824
|
|
- CHITCHAT_ECHO(working_crc);
|
1825
|
|
- CHITCHAT_ECHOLNPGM(" (calculated)!");
|
|
1816
|
+ CHITCHAT_ECHOLNPAIR("EEPROM CRC mismatch - (stored) ", stored_crc, " != ", working_crc, " (calculated)!");
|
1826
|
1817
|
}
|
1827
|
1818
|
else if (!validating) {
|
1828
|
1819
|
CHITCHAT_ECHO_START();
|
1829
|
1820
|
CHITCHAT_ECHO(version);
|
1830
|
|
- CHITCHAT_ECHOPAIR(" stored settings retrieved (", eeprom_index - (EEPROM_OFFSET));
|
1831
|
|
- CHITCHAT_ECHOPAIR(" bytes; crc ", (uint32_t)working_crc);
|
1832
|
|
- CHITCHAT_ECHOLNPGM(")");
|
|
1821
|
+ CHITCHAT_ECHOLNPAIR(" stored settings retrieved (", eeprom_index - (EEPROM_OFFSET), " bytes; crc ", (uint32_t)working_crc, ")");
|
1833
|
1822
|
}
|
1834
|
1823
|
|
1835
|
1824
|
if (!validating && !eeprom_error) postprocess();
|
|
@@ -1857,8 +1846,7 @@ void MarlinSettings::postprocess() {
|
1857
|
1846
|
|
1858
|
1847
|
if (ubl.storage_slot >= 0) {
|
1859
|
1848
|
load_mesh(ubl.storage_slot);
|
1860
|
|
- CHITCHAT_ECHOPAIR("Mesh ", ubl.storage_slot);
|
1861
|
|
- CHITCHAT_ECHOLNPGM(" loaded from storage.");
|
|
1849
|
+ CHITCHAT_ECHOLNPAIR("Mesh ", ubl.storage_slot, " loaded from storage.");
|
1862
|
1850
|
}
|
1863
|
1851
|
else {
|
1864
|
1852
|
ubl.reset();
|
|
@@ -1924,9 +1912,7 @@ void MarlinSettings::postprocess() {
|
1924
|
1912
|
const int16_t a = calc_num_meshes();
|
1925
|
1913
|
if (!WITHIN(slot, 0, a - 1)) {
|
1926
|
1914
|
ubl_invalid_slot(a);
|
1927
|
|
- CHITCHAT_ECHOPAIR("E2END=", persistentStore.capacity() - 1);
|
1928
|
|
- CHITCHAT_ECHOPAIR(" meshes_end=", meshes_end);
|
1929
|
|
- CHITCHAT_ECHOLNPAIR(" slot=", slot);
|
|
1915
|
+ CHITCHAT_ECHOLNPAIR("E2END=", persistentStore.capacity() - 1, " meshes_end=", meshes_end, " slot=", slot);
|
1930
|
1916
|
CHITCHAT_EOL();
|
1931
|
1917
|
return;
|
1932
|
1918
|
}
|
|
@@ -2314,7 +2300,7 @@ void MarlinSettings::reset() {
|
2314
|
2300
|
#define CONFIG_ECHO_HEADING(STR) do{ if (!forReplay) { CONFIG_ECHO_START(); SERIAL_ECHOLNPGM(STR); } }while(0)
|
2315
|
2301
|
|
2316
|
2302
|
#if HAS_TRINAMIC
|
2317
|
|
- void say_M906() { SERIAL_ECHOPGM(" M906"); }
|
|
2303
|
+ inline void say_M906(const bool forReplay) { CONFIG_ECHO_START(); SERIAL_ECHOPGM(" M906"); }
|
2318
|
2304
|
#if HAS_STEALTHCHOP
|
2319
|
2305
|
void say_M569(const char * const etc=NULL) {
|
2320
|
2306
|
SERIAL_ECHOPGM(" M569 S1");
|
|
@@ -2326,15 +2312,15 @@ void MarlinSettings::reset() {
|
2326
|
2312
|
}
|
2327
|
2313
|
#endif
|
2328
|
2314
|
#if ENABLED(HYBRID_THRESHOLD)
|
2329
|
|
- void say_M913() { SERIAL_ECHOPGM(" M913"); }
|
|
2315
|
+ inline void say_M913() { SERIAL_ECHOPGM(" M913"); }
|
2330
|
2316
|
#endif
|
2331
|
2317
|
#if USE_SENSORLESS
|
2332
|
|
- void say_M914() { SERIAL_ECHOPGM(" M914"); }
|
|
2318
|
+ inline void say_M914() { SERIAL_ECHOPGM(" M914"); }
|
2333
|
2319
|
#endif
|
2334
|
2320
|
#endif
|
2335
|
2321
|
|
2336
|
2322
|
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
2337
|
|
- void say_M603() { SERIAL_ECHOPGM(" M603 "); }
|
|
2323
|
+ inline void say_M603(const bool forReplay) { CONFIG_ECHO_START(); SERIAL_ECHOPGM(" M603 "); }
|
2338
|
2324
|
#endif
|
2339
|
2325
|
|
2340
|
2326
|
inline void say_units(const bool colon) {
|
|
@@ -2403,28 +2389,22 @@ void MarlinSettings::reset() {
|
2403
|
2389
|
}
|
2404
|
2390
|
|
2405
|
2391
|
CONFIG_ECHO_START();
|
2406
|
|
- SERIAL_ECHOPAIR(" M200 D", LINEAR_UNIT(planner.filament_size[0]));
|
2407
|
|
- SERIAL_EOL();
|
|
2392
|
+ SERIAL_ECHOLNPAIR(" M200 D", LINEAR_UNIT(planner.filament_size[0]));
|
2408
|
2393
|
#if EXTRUDERS > 1
|
2409
|
2394
|
CONFIG_ECHO_START();
|
2410
|
|
- SERIAL_ECHOPAIR(" M200 T1 D", LINEAR_UNIT(planner.filament_size[1]));
|
2411
|
|
- SERIAL_EOL();
|
|
2395
|
+ SERIAL_ECHOLNPAIR(" M200 T1 D", LINEAR_UNIT(planner.filament_size[1]));
|
2412
|
2396
|
#if EXTRUDERS > 2
|
2413
|
2397
|
CONFIG_ECHO_START();
|
2414
|
|
- SERIAL_ECHOPAIR(" M200 T2 D", LINEAR_UNIT(planner.filament_size[2]));
|
2415
|
|
- SERIAL_EOL();
|
|
2398
|
+ SERIAL_ECHOLNPAIR(" M200 T2 D", LINEAR_UNIT(planner.filament_size[2]));
|
2416
|
2399
|
#if EXTRUDERS > 3
|
2417
|
2400
|
CONFIG_ECHO_START();
|
2418
|
|
- SERIAL_ECHOPAIR(" M200 T3 D", LINEAR_UNIT(planner.filament_size[3]));
|
2419
|
|
- SERIAL_EOL();
|
|
2401
|
+ SERIAL_ECHOLNPAIR(" M200 T3 D", LINEAR_UNIT(planner.filament_size[3]));
|
2420
|
2402
|
#if EXTRUDERS > 4
|
2421
|
2403
|
CONFIG_ECHO_START();
|
2422
|
|
- SERIAL_ECHOPAIR(" M200 T4 D", LINEAR_UNIT(planner.filament_size[4]));
|
2423
|
|
- SERIAL_EOL();
|
|
2404
|
+ SERIAL_ECHOLNPAIR(" M200 T4 D", LINEAR_UNIT(planner.filament_size[4]));
|
2424
|
2405
|
#if EXTRUDERS > 5
|
2425
|
2406
|
CONFIG_ECHO_START();
|
2426
|
|
- SERIAL_ECHOPAIR(" M200 T5 D", LINEAR_UNIT(planner.filament_size[5]));
|
2427
|
|
- SERIAL_EOL();
|
|
2407
|
+ SERIAL_ECHOLNPAIR(" M200 T5 D", LINEAR_UNIT(planner.filament_size[5]));
|
2428
|
2408
|
#endif // EXTRUDERS > 5
|
2429
|
2409
|
#endif // EXTRUDERS > 4
|
2430
|
2410
|
#endif // EXTRUDERS > 3
|
|
@@ -2441,43 +2421,50 @@ void MarlinSettings::reset() {
|
2441
|
2421
|
|
2442
|
2422
|
CONFIG_ECHO_HEADING("Maximum feedrates (units/s):");
|
2443
|
2423
|
CONFIG_ECHO_START();
|
2444
|
|
- SERIAL_ECHOPAIR(" M203 X", LINEAR_UNIT(planner.settings.max_feedrate_mm_s[X_AXIS]));
|
2445
|
|
- SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.settings.max_feedrate_mm_s[Y_AXIS]));
|
2446
|
|
- SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.settings.max_feedrate_mm_s[Z_AXIS]));
|
2447
|
|
- #if DISABLED(DISTINCT_E_FACTORS)
|
2448
|
|
- SERIAL_ECHOPAIR(" E", VOLUMETRIC_UNIT(planner.settings.max_feedrate_mm_s[E_AXIS]));
|
2449
|
|
- #endif
|
2450
|
|
- SERIAL_EOL();
|
|
2424
|
+ SERIAL_ECHOLNPAIR(
|
|
2425
|
+ " M203 X", LINEAR_UNIT(planner.settings.max_feedrate_mm_s[X_AXIS])
|
|
2426
|
+ , " Y", LINEAR_UNIT(planner.settings.max_feedrate_mm_s[Y_AXIS])
|
|
2427
|
+ , " Z", LINEAR_UNIT(planner.settings.max_feedrate_mm_s[Z_AXIS])
|
|
2428
|
+ #if DISABLED(DISTINCT_E_FACTORS)
|
|
2429
|
+ , " E", VOLUMETRIC_UNIT(planner.settings.max_feedrate_mm_s[E_AXIS])
|
|
2430
|
+ #endif
|
|
2431
|
+ );
|
2451
|
2432
|
#if ENABLED(DISTINCT_E_FACTORS)
|
2452
|
2433
|
CONFIG_ECHO_START();
|
2453
|
2434
|
for (uint8_t i = 0; i < E_STEPPERS; i++) {
|
2454
|
|
- SERIAL_ECHOPAIR(" M203 T", (int)i);
|
2455
|
|
- SERIAL_ECHOLNPAIR(" E", VOLUMETRIC_UNIT(planner.settings.max_feedrate_mm_s[E_AXIS_N(i)]));
|
|
2435
|
+ SERIAL_ECHOLNPAIR(
|
|
2436
|
+ " M203 T", (int)i
|
|
2437
|
+ , " E", VOLUMETRIC_UNIT(planner.settings.max_feedrate_mm_s[E_AXIS_N(i)])
|
|
2438
|
+ );
|
2456
|
2439
|
}
|
2457
|
2440
|
#endif
|
2458
|
2441
|
|
2459
|
2442
|
CONFIG_ECHO_HEADING("Maximum Acceleration (units/s2):");
|
2460
|
2443
|
CONFIG_ECHO_START();
|
2461
|
|
- SERIAL_ECHOPAIR(" M201 X", LINEAR_UNIT(planner.settings.max_acceleration_mm_per_s2[X_AXIS]));
|
2462
|
|
- SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.settings.max_acceleration_mm_per_s2[Y_AXIS]));
|
2463
|
|
- SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.settings.max_acceleration_mm_per_s2[Z_AXIS]));
|
2464
|
|
- #if DISABLED(DISTINCT_E_FACTORS)
|
2465
|
|
- SERIAL_ECHOPAIR(" E", VOLUMETRIC_UNIT(planner.settings.max_acceleration_mm_per_s2[E_AXIS]));
|
2466
|
|
- #endif
|
2467
|
|
- SERIAL_EOL();
|
|
2444
|
+ SERIAL_ECHOLNPAIR(
|
|
2445
|
+ " M201 X", LINEAR_UNIT(planner.settings.max_acceleration_mm_per_s2[X_AXIS])
|
|
2446
|
+ , " Y", LINEAR_UNIT(planner.settings.max_acceleration_mm_per_s2[Y_AXIS])
|
|
2447
|
+ , " Z", LINEAR_UNIT(planner.settings.max_acceleration_mm_per_s2[Z_AXIS])
|
|
2448
|
+ #if DISABLED(DISTINCT_E_FACTORS)
|
|
2449
|
+ , " E", VOLUMETRIC_UNIT(planner.settings.max_acceleration_mm_per_s2[E_AXIS])
|
|
2450
|
+ #endif
|
|
2451
|
+ );
|
2468
|
2452
|
#if ENABLED(DISTINCT_E_FACTORS)
|
2469
|
2453
|
CONFIG_ECHO_START();
|
2470
|
|
- for (uint8_t i = 0; i < E_STEPPERS; i++) {
|
2471
|
|
- SERIAL_ECHOPAIR(" M201 T", (int)i);
|
2472
|
|
- SERIAL_ECHOLNPAIR(" E", VOLUMETRIC_UNIT(planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(i)]));
|
2473
|
|
- }
|
|
2454
|
+ for (uint8_t i = 0; i < E_STEPPERS; i++)
|
|
2455
|
+ SERIAL_ECHOLNPAIR(
|
|
2456
|
+ " M201 T", (int)i
|
|
2457
|
+ , " E", VOLUMETRIC_UNIT(planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(i)])
|
|
2458
|
+ );
|
2474
|
2459
|
#endif
|
2475
|
2460
|
|
2476
|
2461
|
CONFIG_ECHO_HEADING("Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>");
|
2477
|
2462
|
CONFIG_ECHO_START();
|
2478
|
|
- SERIAL_ECHOPAIR(" M204 P", LINEAR_UNIT(planner.settings.acceleration));
|
2479
|
|
- SERIAL_ECHOPAIR(" R", LINEAR_UNIT(planner.settings.retract_acceleration));
|
2480
|
|
- SERIAL_ECHOLNPAIR(" T", LINEAR_UNIT(planner.settings.travel_acceleration));
|
|
2463
|
+ SERIAL_ECHOLNPAIR(
|
|
2464
|
+ " M204 P", LINEAR_UNIT(planner.settings.acceleration)
|
|
2465
|
+ , " R", LINEAR_UNIT(planner.settings.retract_acceleration)
|
|
2466
|
+ , " T", LINEAR_UNIT(planner.settings.travel_acceleration)
|
|
2467
|
+ );
|
2481
|
2468
|
|
2482
|
2469
|
if (!forReplay) {
|
2483
|
2470
|
CONFIG_ECHO_START();
|
|
@@ -2494,39 +2481,42 @@ void MarlinSettings::reset() {
|
2494
|
2481
|
SERIAL_EOL();
|
2495
|
2482
|
}
|
2496
|
2483
|
CONFIG_ECHO_START();
|
2497
|
|
- SERIAL_ECHOPAIR(" M205 B", LINEAR_UNIT(planner.settings.min_segment_time_us));
|
2498
|
|
- SERIAL_ECHOPAIR(" S", LINEAR_UNIT(planner.settings.min_feedrate_mm_s));
|
2499
|
|
- SERIAL_ECHOPAIR(" T", LINEAR_UNIT(planner.settings.min_travel_feedrate_mm_s));
|
2500
|
|
-
|
2501
|
|
- #if ENABLED(JUNCTION_DEVIATION)
|
2502
|
|
- SERIAL_ECHOPAIR(" J", LINEAR_UNIT(planner.junction_deviation_mm));
|
2503
|
|
- #endif
|
2504
|
|
- #if HAS_CLASSIC_JERK
|
2505
|
|
- SERIAL_ECHOPAIR(" X", LINEAR_UNIT(planner.max_jerk[X_AXIS]));
|
2506
|
|
- SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(planner.max_jerk[Y_AXIS]));
|
2507
|
|
- SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.max_jerk[Z_AXIS]));
|
2508
|
|
- #if DISABLED(JUNCTION_DEVIATION) || DISABLED(LIN_ADVANCE)
|
2509
|
|
- SERIAL_ECHOPAIR(" E", LINEAR_UNIT(planner.max_jerk[E_AXIS]));
|
|
2484
|
+ SERIAL_ECHOLNPAIR(
|
|
2485
|
+ " M205 B", LINEAR_UNIT(planner.settings.min_segment_time_us)
|
|
2486
|
+ , " S", LINEAR_UNIT(planner.settings.min_feedrate_mm_s)
|
|
2487
|
+ , " T", LINEAR_UNIT(planner.settings.min_travel_feedrate_mm_s)
|
|
2488
|
+ #if ENABLED(JUNCTION_DEVIATION)
|
|
2489
|
+ , " J", LINEAR_UNIT(planner.junction_deviation_mm)
|
2510
|
2490
|
#endif
|
2511
|
|
- #endif
|
2512
|
|
-
|
2513
|
|
- SERIAL_EOL();
|
|
2491
|
+ #if HAS_CLASSIC_JERK
|
|
2492
|
+ , " X", LINEAR_UNIT(planner.max_jerk[X_AXIS])
|
|
2493
|
+ , " Y", LINEAR_UNIT(planner.max_jerk[Y_AXIS])
|
|
2494
|
+ , " Z", LINEAR_UNIT(planner.max_jerk[Z_AXIS])
|
|
2495
|
+ #if DISABLED(JUNCTION_DEVIATION) || DISABLED(LIN_ADVANCE)
|
|
2496
|
+ , " E", LINEAR_UNIT(planner.max_jerk[E_AXIS])
|
|
2497
|
+ #endif
|
|
2498
|
+ #endif
|
|
2499
|
+ );
|
2514
|
2500
|
|
2515
|
2501
|
#if HAS_M206_COMMAND
|
2516
|
2502
|
CONFIG_ECHO_HEADING("Home offset:");
|
2517
|
2503
|
CONFIG_ECHO_START();
|
2518
|
|
- SERIAL_ECHOPAIR(" M206 X", LINEAR_UNIT(home_offset[X_AXIS]));
|
2519
|
|
- SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(home_offset[Y_AXIS]));
|
2520
|
|
- SERIAL_ECHOLNPAIR(" Z", LINEAR_UNIT(home_offset[Z_AXIS]));
|
|
2504
|
+ SERIAL_ECHOLNPAIR(
|
|
2505
|
+ " M206 X", LINEAR_UNIT(home_offset[X_AXIS])
|
|
2506
|
+ , " Y", LINEAR_UNIT(home_offset[Y_AXIS])
|
|
2507
|
+ , " Z", LINEAR_UNIT(home_offset[Z_AXIS])
|
|
2508
|
+ );
|
2521
|
2509
|
#endif
|
2522
|
2510
|
|
2523
|
2511
|
#if HAS_HOTEND_OFFSET
|
2524
|
2512
|
CONFIG_ECHO_HEADING("Hotend offsets:");
|
2525
|
2513
|
CONFIG_ECHO_START();
|
2526
|
2514
|
for (uint8_t e = 1; e < HOTENDS; e++) {
|
2527
|
|
- SERIAL_ECHOPAIR(" M218 T", (int)e);
|
2528
|
|
- SERIAL_ECHOPAIR(" X", LINEAR_UNIT(hotend_offset[X_AXIS][e]));
|
2529
|
|
- SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(hotend_offset[Y_AXIS][e]));
|
|
2515
|
+ SERIAL_ECHOPAIR(
|
|
2516
|
+ " M218 T", (int)e
|
|
2517
|
+ , " X", LINEAR_UNIT(hotend_offset[X_AXIS][e])
|
|
2518
|
+ , " Y", LINEAR_UNIT(hotend_offset[Y_AXIS][e])
|
|
2519
|
+ );
|
2530
|
2520
|
SERIAL_ECHOLNPAIR_F(" Z", LINEAR_UNIT(hotend_offset[Z_AXIS][e]), 3);
|
2531
|
2521
|
}
|
2532
|
2522
|
#endif
|
|
@@ -2555,11 +2545,12 @@ void MarlinSettings::reset() {
|
2555
|
2545
|
#endif
|
2556
|
2546
|
|
2557
|
2547
|
CONFIG_ECHO_START();
|
2558
|
|
- SERIAL_ECHOPAIR(" M420 S", planner.leveling_active ? 1 : 0);
|
2559
|
|
- #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
|
2560
|
|
- SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(planner.z_fade_height));
|
2561
|
|
- #endif
|
2562
|
|
- SERIAL_EOL();
|
|
2548
|
+ SERIAL_ECHOLNPAIR(
|
|
2549
|
+ " M420 S", planner.leveling_active ? 1 : 0
|
|
2550
|
+ #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
|
|
2551
|
+ , " Z", LINEAR_UNIT(planner.z_fade_height)
|
|
2552
|
+ #endif
|
|
2553
|
+ );
|
2563
|
2554
|
|
2564
|
2555
|
#if ENABLED(MESH_BED_LEVELING)
|
2565
|
2556
|
|
|
@@ -2567,8 +2558,7 @@ void MarlinSettings::reset() {
|
2567
|
2558
|
for (uint8_t py = 0; py < GRID_MAX_POINTS_Y; py++) {
|
2568
|
2559
|
for (uint8_t px = 0; px < GRID_MAX_POINTS_X; px++) {
|
2569
|
2560
|
CONFIG_ECHO_START();
|
2570
|
|
- SERIAL_ECHOPAIR(" G29 S3 X", (int)px + 1);
|
2571
|
|
- SERIAL_ECHOPAIR(" Y", (int)py + 1);
|
|
2561
|
+ SERIAL_ECHOPAIR(" G29 S3 X", (int)px + 1, " Y", (int)py + 1);
|
2572
|
2562
|
SERIAL_ECHOLNPAIR_F(" Z", LINEAR_UNIT(mbl.z_values[px][py]), 5);
|
2573
|
2563
|
}
|
2574
|
2564
|
}
|
|
@@ -2580,8 +2570,7 @@ void MarlinSettings::reset() {
|
2580
|
2570
|
SERIAL_EOL();
|
2581
|
2571
|
ubl.report_state();
|
2582
|
2572
|
SERIAL_ECHOLNPAIR("\nActive Mesh Slot: ", ubl.storage_slot);
|
2583
|
|
- SERIAL_ECHOPAIR("EEPROM can hold ", calc_num_meshes());
|
2584
|
|
- SERIAL_ECHOLNPGM(" meshes.\n");
|
|
2573
|
+ SERIAL_ECHOLNPAIR("EEPROM can hold ", calc_num_meshes(), " meshes.\n");
|
2585
|
2574
|
}
|
2586
|
2575
|
|
2587
|
2576
|
//ubl.report_current_mesh(); // This is too verbose for large meshes. A better (more terse)
|
|
@@ -2592,8 +2581,7 @@ void MarlinSettings::reset() {
|
2592
|
2581
|
for (uint8_t py = 0; py < GRID_MAX_POINTS_Y; py++) {
|
2593
|
2582
|
for (uint8_t px = 0; px < GRID_MAX_POINTS_X; px++) {
|
2594
|
2583
|
CONFIG_ECHO_START();
|
2595
|
|
- SERIAL_ECHOPAIR(" G29 W I", (int)px);
|
2596
|
|
- SERIAL_ECHOPAIR(" J", (int)py);
|
|
2584
|
+ SERIAL_ECHOPAIR(" G29 W I", (int)px, " J", (int)py);
|
2597
|
2585
|
SERIAL_ECHOLNPAIR_F(" Z", LINEAR_UNIT(z_values[px][py]), 5);
|
2598
|
2586
|
}
|
2599
|
2587
|
}
|
|
@@ -2619,10 +2607,7 @@ void MarlinSettings::reset() {
|
2619
|
2607
|
case Z_PROBE_SERVO_NR:
|
2620
|
2608
|
#endif
|
2621
|
2609
|
CONFIG_ECHO_START();
|
2622
|
|
- SERIAL_ECHOPAIR(" M281 P", int(i));
|
2623
|
|
- SERIAL_ECHOPAIR(" L", servo_angles[i][0]);
|
2624
|
|
- SERIAL_ECHOPAIR(" U", servo_angles[i][1]);
|
2625
|
|
- SERIAL_EOL();
|
|
2610
|
+ SERIAL_ECHOLNPAIR(" M281 P", int(i), " L", servo_angles[i][0], " U", servo_angles[i][1]);
|
2626
|
2611
|
default: break;
|
2627
|
2612
|
}
|
2628
|
2613
|
}
|
|
@@ -2633,33 +2618,37 @@ void MarlinSettings::reset() {
|
2633
|
2618
|
|
2634
|
2619
|
CONFIG_ECHO_HEADING("SCARA settings: S<seg-per-sec> P<theta-psi-offset> T<theta-offset>");
|
2635
|
2620
|
CONFIG_ECHO_START();
|
2636
|
|
- SERIAL_ECHOPAIR(" M665 S", delta_segments_per_second);
|
2637
|
|
- SERIAL_ECHOPAIR(" P", scara_home_offset[A_AXIS]);
|
2638
|
|
- SERIAL_ECHOPAIR(" T", scara_home_offset[B_AXIS]);
|
2639
|
|
- SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(scara_home_offset[Z_AXIS]));
|
2640
|
|
- SERIAL_EOL();
|
|
2621
|
+ SERIAL_ECHOLNPAIR(
|
|
2622
|
+ " M665 S", delta_segments_per_second
|
|
2623
|
+ , " P", scara_home_offset[A_AXIS]
|
|
2624
|
+ , " T", scara_home_offset[B_AXIS]
|
|
2625
|
+ , " Z", LINEAR_UNIT(scara_home_offset[Z_AXIS])
|
|
2626
|
+ );
|
2641
|
2627
|
|
2642
|
2628
|
#elif ENABLED(DELTA)
|
2643
|
2629
|
|
2644
|
2630
|
CONFIG_ECHO_HEADING("Endstop adjustment:");
|
2645
|
2631
|
CONFIG_ECHO_START();
|
2646
|
|
- SERIAL_ECHOPAIR(" M666 X", LINEAR_UNIT(delta_endstop_adj[X_AXIS]));
|
2647
|
|
- SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(delta_endstop_adj[Y_AXIS]));
|
2648
|
|
- SERIAL_ECHOLNPAIR(" Z", LINEAR_UNIT(delta_endstop_adj[Z_AXIS]));
|
|
2632
|
+ SERIAL_ECHOLNPAIR(
|
|
2633
|
+ " M666 X", LINEAR_UNIT(delta_endstop_adj[X_AXIS])
|
|
2634
|
+ , " Y", LINEAR_UNIT(delta_endstop_adj[Y_AXIS])
|
|
2635
|
+ , " Z", LINEAR_UNIT(delta_endstop_adj[Z_AXIS])
|
|
2636
|
+ );
|
2649
|
2637
|
|
2650
|
2638
|
CONFIG_ECHO_HEADING("Delta settings: L<diagonal_rod> R<radius> H<height> S<segments_per_s> B<calibration radius> XYZ<tower angle corrections>");
|
2651
|
2639
|
CONFIG_ECHO_START();
|
2652
|
|
- SERIAL_ECHOPAIR(" M665 L", LINEAR_UNIT(delta_diagonal_rod));
|
2653
|
|
- SERIAL_ECHOPAIR(" R", LINEAR_UNIT(delta_radius));
|
2654
|
|
- SERIAL_ECHOPAIR(" H", LINEAR_UNIT(delta_height));
|
2655
|
|
- SERIAL_ECHOPAIR(" S", delta_segments_per_second);
|
2656
|
|
- SERIAL_ECHOPAIR(" B", LINEAR_UNIT(delta_calibration_radius));
|
2657
|
|
- SERIAL_ECHOPAIR(" X", LINEAR_UNIT(delta_tower_angle_trim[A_AXIS]));
|
2658
|
|
- SERIAL_ECHOPAIR(" Y", LINEAR_UNIT(delta_tower_angle_trim[B_AXIS]));
|
2659
|
|
- SERIAL_ECHOPAIR(" Z", LINEAR_UNIT(delta_tower_angle_trim[C_AXIS]));
|
2660
|
|
- SERIAL_EOL();
|
|
2640
|
+ SERIAL_ECHOLNPAIR(
|
|
2641
|
+ " M665 L", LINEAR_UNIT(delta_diagonal_rod)
|
|
2642
|
+ , " R", LINEAR_UNIT(delta_radius)
|
|
2643
|
+ , " H", LINEAR_UNIT(delta_height)
|
|
2644
|
+ , " S", delta_segments_per_second
|
|
2645
|
+ , " B", LINEAR_UNIT(delta_calibration_radius)
|
|
2646
|
+ , " X", LINEAR_UNIT(delta_tower_angle_trim[A_AXIS])
|
|
2647
|
+ , " Y", LINEAR_UNIT(delta_tower_angle_trim[B_AXIS])
|
|
2648
|
+ , " Z", LINEAR_UNIT(delta_tower_angle_trim[C_AXIS])
|
|
2649
|
+ );
|
2661
|
2650
|
|
2662
|
|
- #elif ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || ENABLED(Z_DUAL_ENDSTOPS)
|
|
2651
|
+ #elif ENABLED(X_DUAL_ENDSTOPS) || ENABLED(Y_DUAL_ENDSTOPS) || Z_MULTI_ENDSTOPS
|
2663
|
2652
|
|
2664
|
2653
|
CONFIG_ECHO_HEADING("Endstop adjustment:");
|
2665
|
2654
|
CONFIG_ECHO_START();
|
|
@@ -2686,10 +2675,12 @@ void MarlinSettings::reset() {
|
2686
|
2675
|
CONFIG_ECHO_HEADING("Material heatup parameters:");
|
2687
|
2676
|
for (uint8_t i = 0; i < COUNT(ui.preheat_hotend_temp); i++) {
|
2688
|
2677
|
CONFIG_ECHO_START();
|
2689
|
|
- SERIAL_ECHOPAIR(" M145 S", (int)i);
|
2690
|
|
- SERIAL_ECHOPAIR(" H", TEMP_UNIT(ui.preheat_hotend_temp[i]));
|
2691
|
|
- SERIAL_ECHOPAIR(" B", TEMP_UNIT(ui.preheat_bed_temp[i]));
|
2692
|
|
- SERIAL_ECHOLNPAIR(" F", int(ui.preheat_fan_speed[i]));
|
|
2678
|
+ SERIAL_ECHOLNPAIR(
|
|
2679
|
+ " M145 S", (int)i
|
|
2680
|
+ , " H", TEMP_UNIT(ui.preheat_hotend_temp[i])
|
|
2681
|
+ , " B", TEMP_UNIT(ui.preheat_bed_temp[i])
|
|
2682
|
+ , " F", int(ui.preheat_fan_speed[i])
|
|
2683
|
+ );
|
2693
|
2684
|
}
|
2694
|
2685
|
|
2695
|
2686
|
#endif
|
|
@@ -2702,10 +2693,12 @@ void MarlinSettings::reset() {
|
2702
|
2693
|
if (forReplay) {
|
2703
|
2694
|
HOTEND_LOOP() {
|
2704
|
2695
|
CONFIG_ECHO_START();
|
2705
|
|
- SERIAL_ECHOPAIR(" M301 E", e);
|
2706
|
|
- SERIAL_ECHOPAIR(" P", PID_PARAM(Kp, e));
|
2707
|
|
- SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, e)));
|
2708
|
|
- SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, e)));
|
|
2696
|
+ SERIAL_ECHOPAIR(
|
|
2697
|
+ " M301 E", e
|
|
2698
|
+ , " P", PID_PARAM(Kp, e)
|
|
2699
|
+ , " I", unscalePID_i(PID_PARAM(Ki, e))
|
|
2700
|
+ , " D", unscalePID_d(PID_PARAM(Kd, e))
|
|
2701
|
+ );
|
2709
|
2702
|
#if ENABLED(PID_EXTRUSION_SCALING)
|
2710
|
2703
|
SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, e));
|
2711
|
2704
|
if (e == 0) SERIAL_ECHOPAIR(" L", thermalManager.lpq_len);
|
|
@@ -2718,23 +2711,25 @@ void MarlinSettings::reset() {
|
2718
|
2711
|
// !forReplay || HOTENDS == 1
|
2719
|
2712
|
{
|
2720
|
2713
|
CONFIG_ECHO_START();
|
2721
|
|
- SERIAL_ECHOPAIR(" M301 P", PID_PARAM(Kp, 0)); // for compatibility with hosts, only echo values for E0
|
2722
|
|
- SERIAL_ECHOPAIR(" I", unscalePID_i(PID_PARAM(Ki, 0)));
|
2723
|
|
- SERIAL_ECHOPAIR(" D", unscalePID_d(PID_PARAM(Kd, 0)));
|
2724
|
|
- #if ENABLED(PID_EXTRUSION_SCALING)
|
2725
|
|
- SERIAL_ECHOPAIR(" C", PID_PARAM(Kc, 0));
|
2726
|
|
- SERIAL_ECHOPAIR(" L", thermalManager.lpq_len);
|
2727
|
|
- #endif
|
2728
|
|
- SERIAL_EOL();
|
|
2714
|
+ SERIAL_ECHOLNPAIR(
|
|
2715
|
+ " M301 P", PID_PARAM(Kp, 0) // for compatibility with hosts, only echo values for E0
|
|
2716
|
+ , " I", unscalePID_i(PID_PARAM(Ki, 0))
|
|
2717
|
+ , " D", unscalePID_d(PID_PARAM(Kd, 0))
|
|
2718
|
+ #if ENABLED(PID_EXTRUSION_SCALING)
|
|
2719
|
+ , " C", PID_PARAM(Kc, 0)
|
|
2720
|
+ , " L", thermalManager.lpq_len
|
|
2721
|
+ #endif
|
|
2722
|
+ );
|
2729
|
2723
|
}
|
2730
|
2724
|
#endif // PIDTEMP
|
2731
|
2725
|
|
2732
|
2726
|
#if ENABLED(PIDTEMPBED)
|
2733
|
2727
|
CONFIG_ECHO_START();
|
2734
|
|
- SERIAL_ECHOPAIR(" M304 P", thermalManager.bed_pid.Kp);
|
2735
|
|
- SERIAL_ECHOPAIR(" I", unscalePID_i(thermalManager.bed_pid.Ki));
|
2736
|
|
- SERIAL_ECHOPAIR(" D", unscalePID_d(thermalManager.bed_pid.Kd));
|
2737
|
|
- SERIAL_EOL();
|
|
2728
|
+ SERIAL_ECHOLNPAIR(
|
|
2729
|
+ " M304 P", thermalManager.bed_pid.Kp
|
|
2730
|
+ , " I", unscalePID_i(thermalManager.bed_pid.Ki)
|
|
2731
|
+ , " D", unscalePID_d(thermalManager.bed_pid.Kd)
|
|
2732
|
+ );
|
2738
|
2733
|
#endif
|
2739
|
2734
|
|
2740
|
2735
|
#endif // PIDTEMP || PIDTEMPBED
|
|
@@ -2755,16 +2750,20 @@ void MarlinSettings::reset() {
|
2755
|
2750
|
|
2756
|
2751
|
CONFIG_ECHO_HEADING("Retract: S<length> F<units/m> Z<lift>");
|
2757
|
2752
|
CONFIG_ECHO_START();
|
2758
|
|
- SERIAL_ECHOPAIR(" M207 S", LINEAR_UNIT(fwretract.settings.retract_length));
|
2759
|
|
- SERIAL_ECHOPAIR(" W", LINEAR_UNIT(fwretract.settings.swap_retract_length));
|
2760
|
|
- SERIAL_ECHOPAIR(" F", MMS_TO_MMM(LINEAR_UNIT(fwretract.settings.retract_feedrate_mm_s)));
|
2761
|
|
- SERIAL_ECHOLNPAIR(" Z", LINEAR_UNIT(fwretract.settings.retract_zraise));
|
|
2753
|
+ SERIAL_ECHOLNPAIR(
|
|
2754
|
+ " M207 S", LINEAR_UNIT(fwretract.settings.retract_length)
|
|
2755
|
+ , " W", LINEAR_UNIT(fwretract.settings.swap_retract_length)
|
|
2756
|
+ , " F", MMS_TO_MMM(LINEAR_UNIT(fwretract.settings.retract_feedrate_mm_s))
|
|
2757
|
+ , " Z", LINEAR_UNIT(fwretract.settings.retract_zraise)
|
|
2758
|
+ );
|
2762
|
2759
|
|
2763
|
2760
|
CONFIG_ECHO_HEADING("Recover: S<length> F<units/m>");
|
2764
|
2761
|
CONFIG_ECHO_START();
|
2765
|
|
- SERIAL_ECHOPAIR(" M208 S", LINEAR_UNIT(fwretract.settings.retract_recover_length));
|
2766
|
|
- SERIAL_ECHOPAIR(" W", LINEAR_UNIT(fwretract.settings.swap_retract_recover_length));
|
2767
|
|
- SERIAL_ECHOLNPAIR(" F", MMS_TO_MMM(LINEAR_UNIT(fwretract.settings.retract_recover_feedrate_mm_s)));
|
|
2762
|
+ SERIAL_ECHOLNPAIR(
|
|
2763
|
+ " M208 S", LINEAR_UNIT(fwretract.settings.retract_recover_length)
|
|
2764
|
+ , " W", LINEAR_UNIT(fwretract.settings.swap_retract_recover_length)
|
|
2765
|
+ , " F", MMS_TO_MMM(LINEAR_UNIT(fwretract.settings.retract_recover_feedrate_mm_s))
|
|
2766
|
+ );
|
2768
|
2767
|
|
2769
|
2768
|
#if ENABLED(FWRETRACT_AUTORETRACT)
|
2770
|
2769
|
|
|
@@ -2810,67 +2809,65 @@ void MarlinSettings::reset() {
|
2810
|
2809
|
* TMC stepper driver current
|
2811
|
2810
|
*/
|
2812
|
2811
|
CONFIG_ECHO_HEADING("Stepper driver current:");
|
2813
|
|
- CONFIG_ECHO_START();
|
2814
|
|
- #if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
|
2815
|
|
- say_M906();
|
2816
|
|
- #endif
|
2817
|
|
- #if AXIS_IS_TMC(X)
|
2818
|
|
- SERIAL_ECHOPAIR(" X", stepperX.getMilliamps());
|
2819
|
|
- #endif
|
2820
|
|
- #if AXIS_IS_TMC(Y)
|
2821
|
|
- SERIAL_ECHOPAIR(" Y", stepperY.getMilliamps());
|
2822
|
|
- #endif
|
2823
|
|
- #if AXIS_IS_TMC(Z)
|
2824
|
|
- SERIAL_ECHOPAIR(" Z", stepperZ.getMilliamps());
|
2825
|
|
- #endif
|
|
2812
|
+
|
2826
|
2813
|
#if AXIS_IS_TMC(X) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Z)
|
2827
|
|
- SERIAL_EOL();
|
|
2814
|
+ say_M906(forReplay);
|
|
2815
|
+ SERIAL_ECHOLNPAIR(
|
|
2816
|
+ #if AXIS_IS_TMC(X)
|
|
2817
|
+ " X", stepperX.getMilliamps(),
|
|
2818
|
+ #endif
|
|
2819
|
+ #if AXIS_IS_TMC(Y)
|
|
2820
|
+ " Y", stepperY.getMilliamps(),
|
|
2821
|
+ #endif
|
|
2822
|
+ #if AXIS_IS_TMC(Z)
|
|
2823
|
+ " Z", stepperZ.getMilliamps()
|
|
2824
|
+ #endif
|
|
2825
|
+ );
|
2828
|
2826
|
#endif
|
2829
|
2827
|
|
2830
|
2828
|
#if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
|
2831
|
|
- say_M906();
|
|
2829
|
+ say_M906(forReplay);
|
2832
|
2830
|
SERIAL_ECHOPGM(" I1");
|
2833
|
|
- #endif
|
2834
|
|
- #if AXIS_IS_TMC(X2)
|
2835
|
|
- SERIAL_ECHOPAIR(" X", stepperX2.getMilliamps());
|
2836
|
|
- #endif
|
2837
|
|
- #if AXIS_IS_TMC(Y2)
|
2838
|
|
- SERIAL_ECHOPAIR(" Y", stepperY2.getMilliamps());
|
2839
|
|
- #endif
|
2840
|
|
- #if AXIS_IS_TMC(Z2)
|
2841
|
|
- SERIAL_ECHOPAIR(" Z", stepperZ2.getMilliamps());
|
2842
|
|
- #endif
|
2843
|
|
- #if AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z2)
|
2844
|
|
- SERIAL_EOL();
|
|
2831
|
+ SERIAL_ECHOLNPAIR(
|
|
2832
|
+ #if AXIS_IS_TMC(X2)
|
|
2833
|
+ " X", stepperX2.getMilliamps(),
|
|
2834
|
+ #endif
|
|
2835
|
+ #if AXIS_IS_TMC(Y2)
|
|
2836
|
+ " Y", stepperY2.getMilliamps(),
|
|
2837
|
+ #endif
|
|
2838
|
+ #if AXIS_IS_TMC(Z2)
|
|
2839
|
+ " Z", stepperZ2.getMilliamps()
|
|
2840
|
+ #endif
|
|
2841
|
+ );
|
2845
|
2842
|
#endif
|
2846
|
2843
|
|
2847
|
2844
|
#if AXIS_IS_TMC(Z3)
|
2848
|
|
- say_M906();
|
|
2845
|
+ say_M906(forReplay);
|
2849
|
2846
|
SERIAL_ECHOLNPAIR(" I2 Z", stepperZ3.getMilliamps());
|
2850
|
2847
|
#endif
|
2851
|
2848
|
|
2852
|
2849
|
#if AXIS_IS_TMC(E0)
|
2853
|
|
- say_M906();
|
|
2850
|
+ say_M906(forReplay);
|
2854
|
2851
|
SERIAL_ECHOLNPAIR(" T0 E", stepperE0.getMilliamps());
|
2855
|
2852
|
#endif
|
2856
|
2853
|
#if AXIS_IS_TMC(E1)
|
2857
|
|
- say_M906();
|
|
2854
|
+ say_M906(forReplay);
|
2858
|
2855
|
SERIAL_ECHOLNPAIR(" T1 E", stepperE1.getMilliamps());
|
2859
|
2856
|
#endif
|
2860
|
2857
|
#if AXIS_IS_TMC(E2)
|
2861
|
|
- say_M906();
|
|
2858
|
+ say_M906(forReplay);
|
2862
|
2859
|
SERIAL_ECHOLNPAIR(" T2 E", stepperE2.getMilliamps());
|
2863
|
2860
|
#endif
|
2864
|
2861
|
#if AXIS_IS_TMC(E3)
|
2865
|
|
- say_M906();
|
|
2862
|
+ say_M906(forReplay);
|
2866
|
2863
|
SERIAL_ECHOLNPAIR(" T3 E", stepperE3.getMilliamps());
|
2867
|
2864
|
#endif
|
2868
|
2865
|
#if AXIS_IS_TMC(E4)
|
2869
|
|
- say_M906();
|
|
2866
|
+ say_M906(forReplay);
|
2870
|
2867
|
SERIAL_ECHOLNPAIR(" T4 E", stepperE4.getMilliamps());
|
2871
|
2868
|
#endif
|
2872
|
2869
|
#if AXIS_IS_TMC(E5)
|
2873
|
|
- say_M906();
|
|
2870
|
+ say_M906(forReplay);
|
2874
|
2871
|
SERIAL_ECHOLNPAIR(" T5 E", stepperE5.getMilliamps());
|
2875
|
2872
|
#endif
|
2876
|
2873
|
SERIAL_EOL();
|
|
@@ -2916,8 +2913,7 @@ void MarlinSettings::reset() {
|
2916
|
2913
|
|
2917
|
2914
|
#if AXIS_HAS_STEALTHCHOP(Z3)
|
2918
|
2915
|
say_M913();
|
2919
|
|
- SERIAL_ECHOPGM(" I2");
|
2920
|
|
- SERIAL_ECHOLNPAIR(" Z", TMC_GET_PWMTHRS(Z, Z3));
|
|
2916
|
+ SERIAL_ECHOLNPAIR(" I2 Z", TMC_GET_PWMTHRS(Z, Z3));
|
2921
|
2917
|
#endif
|
2922
|
2918
|
|
2923
|
2919
|
#if AXIS_HAS_STEALTHCHOP(E0)
|
|
@@ -2988,8 +2984,7 @@ void MarlinSettings::reset() {
|
2988
|
2984
|
|
2989
|
2985
|
#if HAS_Z3_SENSORLESS
|
2990
|
2986
|
say_M914();
|
2991
|
|
- SERIAL_ECHOPGM(" I2");
|
2992
|
|
- SERIAL_ECHOLNPAIR(" Z", stepperZ3.sgt());
|
|
2987
|
+ SERIAL_ECHOLNPAIR(" I2 Z", stepperZ3.sgt());
|
2993
|
2988
|
#endif
|
2994
|
2989
|
|
2995
|
2990
|
#endif // USE_SENSORLESS
|
|
@@ -3080,20 +3075,19 @@ void MarlinSettings::reset() {
|
3080
|
3075
|
#if EXTRUDERS < 2
|
3081
|
3076
|
SERIAL_ECHOLNPAIR(" M900 K", planner.extruder_advance_K[0]);
|
3082
|
3077
|
#else
|
3083
|
|
- LOOP_L_N(i, EXTRUDERS) {
|
3084
|
|
- SERIAL_ECHOPAIR(" M900 T", int(i));
|
3085
|
|
- SERIAL_ECHOLNPAIR(" K", planner.extruder_advance_K[i]);
|
3086
|
|
- }
|
|
3078
|
+ LOOP_L_N(i, EXTRUDERS)
|
|
3079
|
+ SERIAL_ECHOLNPAIR(" M900 T", int(i), " K", planner.extruder_advance_K[i]);
|
3087
|
3080
|
#endif
|
3088
|
3081
|
#endif
|
3089
|
3082
|
|
3090
|
3083
|
#if HAS_MOTOR_CURRENT_PWM
|
3091
|
3084
|
CONFIG_ECHO_HEADING("Stepper motor currents:");
|
3092
|
3085
|
CONFIG_ECHO_START();
|
3093
|
|
- SERIAL_ECHOPAIR(" M907 X", stepper.motor_current_setting[0]);
|
3094
|
|
- SERIAL_ECHOPAIR(" Z", stepper.motor_current_setting[1]);
|
3095
|
|
- SERIAL_ECHOPAIR(" E", stepper.motor_current_setting[2]);
|
3096
|
|
- SERIAL_EOL();
|
|
3086
|
+ SERIAL_ECHOLNPAIR(
|
|
3087
|
+ " M907 X", stepper.motor_current_setting[0]
|
|
3088
|
+ , " Z", stepper.motor_current_setting[1]
|
|
3089
|
+ , " E", stepper.motor_current_setting[2]
|
|
3090
|
+ );
|
3097
|
3091
|
#endif
|
3098
|
3092
|
|
3099
|
3093
|
/**
|
|
@@ -3101,39 +3095,21 @@ void MarlinSettings::reset() {
|
3101
|
3095
|
*/
|
3102
|
3096
|
#if ENABLED(ADVANCED_PAUSE_FEATURE)
|
3103
|
3097
|
CONFIG_ECHO_HEADING("Filament load/unload lengths:");
|
3104
|
|
- CONFIG_ECHO_START();
|
3105
|
3098
|
#if EXTRUDERS == 1
|
3106
|
|
- say_M603();
|
3107
|
|
- SERIAL_ECHOPAIR("L", LINEAR_UNIT(fc_settings[0].load_length));
|
3108
|
|
- SERIAL_ECHOLNPAIR(" U", LINEAR_UNIT(fc_settings[0].unload_length));
|
|
3099
|
+ say_M603(forReplay);
|
|
3100
|
+ SERIAL_ECHOLNPAIR("L", LINEAR_UNIT(fc_settings[0].load_length), " U", LINEAR_UNIT(fc_settings[0].unload_length));
|
3109
|
3101
|
#else
|
3110
|
|
- say_M603();
|
3111
|
|
- SERIAL_ECHOPAIR("T0 L", LINEAR_UNIT(fc_settings[0].load_length));
|
3112
|
|
- SERIAL_ECHOLNPAIR(" U", LINEAR_UNIT(fc_settings[0].unload_length));
|
3113
|
|
- CONFIG_ECHO_START();
|
3114
|
|
- say_M603();
|
3115
|
|
- SERIAL_ECHOPAIR("T1 L", LINEAR_UNIT(fc_settings[1].load_length));
|
3116
|
|
- SERIAL_ECHOLNPAIR(" U", LINEAR_UNIT(fc_settings[1].unload_length));
|
|
3102
|
+ #define _ECHO_603(N) do{ say_M603(forReplay); SERIAL_ECHOLNPAIR("T" STRINGIFY(N) " L", LINEAR_UNIT(fc_settings[N].load_length), " U", LINEAR_UNIT(fc_settings[N].unload_length)); }while(0)
|
|
3103
|
+ _ECHO_603(0);
|
|
3104
|
+ _ECHO_603(1);
|
3117
|
3105
|
#if EXTRUDERS > 2
|
3118
|
|
- CONFIG_ECHO_START();
|
3119
|
|
- say_M603();
|
3120
|
|
- SERIAL_ECHOPAIR("T2 L", LINEAR_UNIT(fc_settings[2].load_length));
|
3121
|
|
- SERIAL_ECHOLNPAIR(" U", LINEAR_UNIT(fc_settings[2].unload_length));
|
|
3106
|
+ _ECHO_603(2);
|
3122
|
3107
|
#if EXTRUDERS > 3
|
3123
|
|
- CONFIG_ECHO_START();
|
3124
|
|
- say_M603();
|
3125
|
|
- SERIAL_ECHOPAIR("T3 L", LINEAR_UNIT(fc_settings[3].load_length));
|
3126
|
|
- SERIAL_ECHOLNPAIR(" U", LINEAR_UNIT(fc_settings[3].unload_length));
|
|
3108
|
+ _ECHO_603(3);
|
3127
|
3109
|
#if EXTRUDERS > 4
|
3128
|
|
- CONFIG_ECHO_START();
|
3129
|
|
- say_M603();
|
3130
|
|
- SERIAL_ECHOPAIR("T4 L", LINEAR_UNIT(fc_settings[4].load_length));
|
3131
|
|
- SERIAL_ECHOLNPAIR(" U", LINEAR_UNIT(fc_settings[4].unload_length));
|
|
3110
|
+ _ECHO_603(4);
|
3132
|
3111
|
#if EXTRUDERS > 5
|
3133
|
|
- CONFIG_ECHO_START();
|
3134
|
|
- say_M603();
|
3135
|
|
- SERIAL_ECHOPAIR("T5 L", LINEAR_UNIT(fc_settings[5].load_length));
|
3136
|
|
- SERIAL_ECHOLNPAIR(" U", LINEAR_UNIT(fc_settings[5].unload_length));
|
|
3112
|
+ _ECHO_603(5);
|
3137
|
3113
|
#endif // EXTRUDERS > 5
|
3138
|
3114
|
#endif // EXTRUDERS > 4
|
3139
|
3115
|
#endif // EXTRUDERS > 3
|