|
|
@ -2768,7 +2768,7 @@ void MarlinSettings::reset() {
|
|
|
|
|
|
|
|
|
|
|
|
static void config_heading(const bool repl, PGM_P const pstr, const bool eol=true) {
|
|
|
|
static void config_heading(const bool repl, PGM_P const pstr, const bool eol=true) {
|
|
|
|
if (!repl) {
|
|
|
|
if (!repl) {
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
SERIAL_ECHO_START();
|
|
|
|
SERIAL_ECHOPGM("; ");
|
|
|
|
SERIAL_ECHOPGM("; ");
|
|
|
|
serialprintPGM(pstr);
|
|
|
|
serialprintPGM(pstr);
|
|
|
|
if (eol) SERIAL_EOL();
|
|
|
|
if (eol) SERIAL_EOL();
|
|
|
@ -2777,7 +2777,7 @@ void MarlinSettings::reset() {
|
|
|
|
|
|
|
|
|
|
|
|
#define CONFIG_ECHO_START() do{ if (!forReplay) SERIAL_ECHO_START(); }while(0)
|
|
|
|
#define CONFIG_ECHO_START() do{ if (!forReplay) SERIAL_ECHO_START(); }while(0)
|
|
|
|
#define CONFIG_ECHO_MSG(STR) do{ CONFIG_ECHO_START(); SERIAL_ECHOLNPGM(STR); }while(0)
|
|
|
|
#define CONFIG_ECHO_MSG(STR) do{ CONFIG_ECHO_START(); SERIAL_ECHOLNPGM(STR); }while(0)
|
|
|
|
#define CONFIG_ECHO_HEADING(STR, V...) config_heading(forReplay, PSTR(STR), V)
|
|
|
|
#define CONFIG_ECHO_HEADING(STR) config_heading(forReplay, PSTR(STR))
|
|
|
|
|
|
|
|
|
|
|
|
#if HAS_TRINAMIC
|
|
|
|
#if HAS_TRINAMIC
|
|
|
|
inline void say_M906(const bool forReplay) { CONFIG_ECHO_START(); SERIAL_ECHOPGM(" M906"); }
|
|
|
|
inline void say_M906(const bool forReplay) { CONFIG_ECHO_START(); SERIAL_ECHOPGM(" M906"); }
|
|
|
@ -2861,8 +2861,7 @@ void MarlinSettings::reset() {
|
|
|
|
* Volumetric extrusion M200
|
|
|
|
* Volumetric extrusion M200
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
config_heading(forReplay, PSTR("Filament settings:"), false);
|
|
|
|
SERIAL_ECHOPGM("Filament settings:");
|
|
|
|
|
|
|
|
if (parser.volumetric_enabled)
|
|
|
|
if (parser.volumetric_enabled)
|
|
|
|
SERIAL_EOL();
|
|
|
|
SERIAL_EOL();
|
|
|
|
else
|
|
|
|
else
|
|
|
@ -2936,20 +2935,18 @@ void MarlinSettings::reset() {
|
|
|
|
, SP_T_STR, LINEAR_UNIT(planner.settings.travel_acceleration)
|
|
|
|
, SP_T_STR, LINEAR_UNIT(planner.settings.travel_acceleration)
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
if (!forReplay) {
|
|
|
|
CONFIG_ECHO_HEADING(
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
"Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate>"
|
|
|
|
SERIAL_ECHOPGM("Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate>");
|
|
|
|
|
|
|
|
#if DISABLED(CLASSIC_JERK)
|
|
|
|
#if DISABLED(CLASSIC_JERK)
|
|
|
|
SERIAL_ECHOPGM(" J<junc_dev>");
|
|
|
|
" J<junc_dev>"
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if HAS_CLASSIC_JERK
|
|
|
|
#if HAS_CLASSIC_JERK
|
|
|
|
SERIAL_ECHOPGM(" X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk>");
|
|
|
|
" X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk>"
|
|
|
|
#if HAS_CLASSIC_E_JERK
|
|
|
|
#if HAS_CLASSIC_E_JERK
|
|
|
|
SERIAL_ECHOPGM(" E<max_e_jerk>");
|
|
|
|
" E<max_e_jerk>"
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
SERIAL_EOL();
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
SERIAL_ECHOLNPAIR_P(
|
|
|
|
SERIAL_ECHOLNPAIR_P(
|
|
|
|
PSTR(" M205 B"), LINEAR_UNIT(planner.settings.min_segment_time_us)
|
|
|
|
PSTR(" M205 B"), LINEAR_UNIT(planner.settings.min_segment_time_us)
|
|
|
@ -3007,10 +3004,11 @@ void MarlinSettings::reset() {
|
|
|
|
|
|
|
|
|
|
|
|
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
|
|
#elif ENABLED(AUTO_BED_LEVELING_UBL)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config_heading(forReplay, PSTR(""), false);
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
|
|
|
|
ubl.echo_name();
|
|
|
|
ubl.echo_name();
|
|
|
|
SERIAL_ECHOLNPGM(":");
|
|
|
|
SERIAL_CHAR(':');
|
|
|
|
|
|
|
|
SERIAL_EOL();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#elif HAS_ABL_OR_UBL
|
|
|
|
#elif HAS_ABL_OR_UBL
|
|
|
@ -3046,8 +3044,12 @@ void MarlinSettings::reset() {
|
|
|
|
if (!forReplay) {
|
|
|
|
if (!forReplay) {
|
|
|
|
SERIAL_EOL();
|
|
|
|
SERIAL_EOL();
|
|
|
|
ubl.report_state();
|
|
|
|
ubl.report_state();
|
|
|
|
SERIAL_ECHOLNPAIR("\nActive Mesh Slot: ", ubl.storage_slot);
|
|
|
|
SERIAL_EOL();
|
|
|
|
SERIAL_ECHOLNPAIR("EEPROM can hold ", calc_num_meshes(), " meshes.\n");
|
|
|
|
config_heading(false, PSTR("Active Mesh Slot: "), false);
|
|
|
|
|
|
|
|
SERIAL_ECHOLN(ubl.storage_slot);
|
|
|
|
|
|
|
|
config_heading(false, PSTR("EEPROM can hold "), false);
|
|
|
|
|
|
|
|
SERIAL_ECHO(calc_num_meshes());
|
|
|
|
|
|
|
|
SERIAL_ECHOLNPGM(" meshes.\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//ubl.report_current_mesh(); // This is too verbose for large meshes. A better (more terse)
|
|
|
|
//ubl.report_current_mesh(); // This is too verbose for large meshes. A better (more terse)
|
|
|
@ -3257,11 +3259,8 @@ void MarlinSettings::reset() {
|
|
|
|
* Probe Offset
|
|
|
|
* Probe Offset
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
#if HAS_BED_PROBE
|
|
|
|
#if HAS_BED_PROBE
|
|
|
|
if (!forReplay) {
|
|
|
|
config_heading(forReplay, PSTR("Z-Probe Offset"), false);
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
if (!forReplay) say_units(true);
|
|
|
|
SERIAL_ECHOPGM("Z-Probe Offset");
|
|
|
|
|
|
|
|
say_units(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
CONFIG_ECHO_START();
|
|
|
|
SERIAL_ECHOLNPAIR_P(
|
|
|
|
SERIAL_ECHOLNPAIR_P(
|
|
|
|
#if HAS_PROBE_XY_OFFSET
|
|
|
|
#if HAS_PROBE_XY_OFFSET
|
|
|
|