Reduce storage requirements for strings, make some PGM

This commit is contained in:
Scott Lahteine 2016-06-27 16:29:35 -07:00
parent fdb6533730
commit bd491818d6
11 changed files with 139 additions and 151 deletions

View File

@ -86,7 +86,7 @@ void gcode_M100() {
sp = top_of_stack(); sp = top_of_stack();
SERIAL_ECHOPGM("\nStack Pointer : "); SERIAL_ECHOPGM("\nStack Pointer : ");
prt_hex_word((unsigned int) sp); prt_hex_word((unsigned int) sp);
SERIAL_ECHOPGM("\n"); SERIAL_EOL;
sp = (unsigned char*)((unsigned long) sp | 0x000f); sp = (unsigned char*)((unsigned long) sp | 0x000f);
n = sp - ptr; n = sp - ptr;
// //
@ -94,25 +94,25 @@ void gcode_M100() {
// //
while (ptr < sp) { while (ptr < sp) {
prt_hex_word((unsigned int) ptr); // Print the address prt_hex_word((unsigned int) ptr); // Print the address
SERIAL_ECHOPGM(":"); SERIAL_CHAR(':');
for (i = 0; i < 16; i++) { // and 16 data bytes for (i = 0; i < 16; i++) { // and 16 data bytes
prt_hex_byte(*(ptr + i)); prt_hex_byte(*(ptr + i));
SERIAL_ECHOPGM(" "); SERIAL_CHAR(' ');
delay(2); delay(2);
} }
SERIAL_ECHO("|"); // now show where non 0xE5's are SERIAL_CHAR('|'); // now show where non 0xE5's are
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {
delay(2); delay(2);
if (*(ptr + i) == 0xe5) if (*(ptr + i) == 0xe5)
SERIAL_ECHOPGM(" "); SERIAL_CHAR(' ');
else else
SERIAL_ECHOPGM("?"); SERIAL_CHAR('?');
} }
SERIAL_ECHO("\n"); SERIAL_EOL;
ptr += 16; ptr += 16;
delay(2); delay(2);
} }
SERIAL_ECHOLNPGM("Done.\n"); SERIAL_ECHOLNPGM("Done.");
return; return;
} }
#endif #endif
@ -137,7 +137,7 @@ void gcode_M100() {
SERIAL_ECHOPAIR("Found ", j); SERIAL_ECHOPAIR("Found ", j);
SERIAL_ECHOPGM(" bytes free at 0x"); SERIAL_ECHOPGM(" bytes free at 0x");
prt_hex_word((int) ptr + i); prt_hex_word((int) ptr + i);
SERIAL_ECHOPGM("\n"); SERIAL_EOL;
i += j; i += j;
block_cnt++; block_cnt++;
} }
@ -150,8 +150,8 @@ void gcode_M100() {
} }
} }
if (block_cnt > 1) if (block_cnt > 1)
SERIAL_ECHOLNPGM("\nMemory Corruption detected in free memory area.\n"); SERIAL_ECHOLNPGM("\nMemory Corruption detected in free memory area.");
SERIAL_ECHO("\nDone.\n"); SERIAL_ECHOLNPGM("\nDone.");
return; return;
} }
// //
@ -173,7 +173,7 @@ void gcode_M100() {
j = n / (x + 1); j = n / (x + 1);
for (i = 1; i <= x; i++) { for (i = 1; i <= x; i++) {
*(ptr + (i * j)) = i; *(ptr + (i * j)) = i;
SERIAL_ECHO("\nCorrupting address: 0x"); SERIAL_ECHOPGM("\nCorrupting address: 0x");
prt_hex_word((unsigned int)(ptr + (i * j))); prt_hex_word((unsigned int)(ptr + (i * j)));
} }
SERIAL_ECHOLNPGM("\n"); SERIAL_ECHOLNPGM("\n");

View File

@ -84,8 +84,9 @@ typedef unsigned long millis_t;
#define SERIAL_PROTOCOL_F(x,y) MYSERIAL.print(x,y) #define SERIAL_PROTOCOL_F(x,y) MYSERIAL.print(x,y)
#define SERIAL_PROTOCOLPGM(x) serialprintPGM(PSTR(x)) #define SERIAL_PROTOCOLPGM(x) serialprintPGM(PSTR(x))
#define SERIAL_PROTOCOLLN(x) do{ MYSERIAL.print(x); SERIAL_EOL; }while(0) #define SERIAL_PROTOCOLLN(x) do{ MYSERIAL.print(x); SERIAL_EOL; }while(0)
#define SERIAL_PROTOCOLLNPGM(x) do{ serialprintPGM(PSTR(x)); SERIAL_EOL; }while(0) #define SERIAL_PROTOCOLLNPGM(x) do{ serialprintPGM(PSTR(x "\n")); }while(0)
#define SERIAL_PROTOCOLPAIR(name, value) SERIAL_ECHOPAIR(name, value)
extern const char errormagic[] PROGMEM; extern const char errormagic[] PROGMEM;
extern const char echomagic[] PROGMEM; extern const char echomagic[] PROGMEM;

View File

@ -2107,7 +2107,7 @@ static void clean_up_after_endstop_or_probe_move() {
do_blocking_move_to_xy(x - (X_PROBE_OFFSET_FROM_EXTRUDER), y - (Y_PROBE_OFFSET_FROM_EXTRUDER)); do_blocking_move_to_xy(x - (X_PROBE_OFFSET_FROM_EXTRUDER), y - (Y_PROBE_OFFSET_FROM_EXTRUDER));
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("> deploy_z_probe"); if (DEBUGGING(LEVELING)) SERIAL_ECHOPGM("> ");
#endif #endif
deploy_z_probe(); deploy_z_probe();
@ -2543,7 +2543,7 @@ void unknown_command_error() {
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOPGM(MSG_UNKNOWN_COMMAND); SERIAL_ECHOPGM(MSG_UNKNOWN_COMMAND);
SERIAL_ECHO(current_command); SERIAL_ECHO(current_command);
SERIAL_ECHOPGM("\"\n"); SERIAL_ECHOLNPGM("\"");
} }
#if ENABLED(HOST_KEEPALIVE_FEATURE) #if ENABLED(HOST_KEEPALIVE_FEATURE)
@ -3187,19 +3187,11 @@ inline void gcode_G28() {
switch (state) { switch (state) {
case MeshReport: case MeshReport:
if (mbl.has_mesh()) { if (mbl.has_mesh()) {
SERIAL_PROTOCOLPGM("State: "); SERIAL_PROTOCOLPAIR("State: ", mbl.active() ? "On" : "Off");
if (mbl.active()) SERIAL_PROTOCOLPAIR("\nNum X,Y: ", MESH_NUM_X_POINTS);
SERIAL_PROTOCOLPGM("On"); SERIAL_PROTOCOLCHAR(','); SERIAL_PROTOCOL(MESH_NUM_Y_POINTS);
else SERIAL_PROTOCOLPAIR("\nZ search height: ", MESH_HOME_SEARCH_Z);
SERIAL_PROTOCOLPGM("Off"); SERIAL_PROTOCOLPGM("\nZ offset: "); SERIAL_PROTOCOL_F(mbl.z_offset, 5);
SERIAL_PROTOCOLPGM("\nNum X,Y: ");
SERIAL_PROTOCOL(MESH_NUM_X_POINTS);
SERIAL_PROTOCOLCHAR(',');
SERIAL_PROTOCOL(MESH_NUM_Y_POINTS);
SERIAL_PROTOCOLPGM("\nZ search height: ");
SERIAL_PROTOCOL(MESH_HOME_SEARCH_Z);
SERIAL_PROTOCOLPGM("\nZ offset: ");
SERIAL_PROTOCOL_F(mbl.z_offset, 5);
SERIAL_PROTOCOLLNPGM("\nMeasured points:"); SERIAL_PROTOCOLLNPGM("\nMeasured points:");
for (py = 0; py < MESH_NUM_Y_POINTS; py++) { for (py = 0; py < MESH_NUM_Y_POINTS; py++) {
for (px = 0; px < MESH_NUM_X_POINTS; px++) { for (px = 0; px < MESH_NUM_X_POINTS; px++) {
@ -3268,30 +3260,30 @@ inline void gcode_G28() {
if (code_seen('X')) { if (code_seen('X')) {
px = code_value_int() - 1; px = code_value_int() - 1;
if (px < 0 || px >= MESH_NUM_X_POINTS) { if (px < 0 || px >= MESH_NUM_X_POINTS) {
SERIAL_PROTOCOLPGM("X out of range (1-" STRINGIFY(MESH_NUM_X_POINTS) ").\n"); SERIAL_PROTOCOLLNPGM("X out of range (1-" STRINGIFY(MESH_NUM_X_POINTS) ").");
return; return;
} }
} }
else { else {
SERIAL_PROTOCOLPGM("X not entered.\n"); SERIAL_PROTOCOLLNPGM("X not entered.");
return; return;
} }
if (code_seen('Y')) { if (code_seen('Y')) {
py = code_value_int() - 1; py = code_value_int() - 1;
if (py < 0 || py >= MESH_NUM_Y_POINTS) { if (py < 0 || py >= MESH_NUM_Y_POINTS) {
SERIAL_PROTOCOLPGM("Y out of range (1-" STRINGIFY(MESH_NUM_Y_POINTS) ").\n"); SERIAL_PROTOCOLLNPGM("Y out of range (1-" STRINGIFY(MESH_NUM_Y_POINTS) ").");
return; return;
} }
} }
else { else {
SERIAL_PROTOCOLPGM("Y not entered.\n"); SERIAL_PROTOCOLLNPGM("Y not entered.");
return; return;
} }
if (code_seen('Z')) { if (code_seen('Z')) {
z = code_value_axis_units(Z_AXIS); z = code_value_axis_units(Z_AXIS);
} }
else { else {
SERIAL_PROTOCOLPGM("Z not entered.\n"); SERIAL_PROTOCOLLNPGM("Z not entered.");
return; return;
} }
mbl.z_values[py][px] = z; mbl.z_values[py][px] = z;
@ -3302,7 +3294,7 @@ inline void gcode_G28() {
z = code_value_axis_units(Z_AXIS); z = code_value_axis_units(Z_AXIS);
} }
else { else {
SERIAL_PROTOCOLPGM("Z not entered.\n"); SERIAL_PROTOCOLLNPGM("Z not entered.");
return; return;
} }
mbl.z_offset = z; mbl.z_offset = z;
@ -3397,8 +3389,8 @@ inline void gcode_G28() {
#endif #endif
if (verbose_level > 0) { if (verbose_level > 0) {
SERIAL_PROTOCOLPGM("G29 Auto Bed Leveling\n"); SERIAL_PROTOCOLLNPGM("G29 Auto Bed Leveling");
if (dryrun) SERIAL_ECHOLNPGM("Running in DRY-RUN mode"); if (dryrun) SERIAL_PROTOCOLLNPGM("Running in DRY-RUN mode");
} }
int auto_bed_leveling_grid_points = AUTO_BED_LEVELING_GRID_POINTS; int auto_bed_leveling_grid_points = AUTO_BED_LEVELING_GRID_POINTS;
@ -3406,7 +3398,7 @@ inline void gcode_G28() {
#if DISABLED(DELTA) #if DISABLED(DELTA)
if (code_seen('P')) auto_bed_leveling_grid_points = code_value_int(); if (code_seen('P')) auto_bed_leveling_grid_points = code_value_int();
if (auto_bed_leveling_grid_points < 2) { if (auto_bed_leveling_grid_points < 2) {
SERIAL_PROTOCOLPGM("?Number of probed (P)oints is implausible (2 minimum).\n"); SERIAL_PROTOCOLLNPGM("?Number of probed (P)oints is implausible (2 minimum).");
return; return;
} }
#endif #endif
@ -3637,17 +3629,17 @@ inline void gcode_G28() {
// Show the Topography map if enabled // Show the Topography map if enabled
if (do_topography_map) { if (do_topography_map) {
SERIAL_PROTOCOLPGM(" \nBed Height Topography: \n"); SERIAL_PROTOCOLLNPGM("\nBed Height Topography:\n"
SERIAL_PROTOCOLPGM(" +--- BACK --+\n"); " +--- BACK --+\n"
SERIAL_PROTOCOLPGM(" | |\n"); " | |\n"
SERIAL_PROTOCOLPGM(" L | (+) | R\n"); " L | (+) | R\n"
SERIAL_PROTOCOLPGM(" E | | I\n"); " E | | I\n"
SERIAL_PROTOCOLPGM(" F | (-) N (+) | G\n"); " F | (-) N (+) | G\n"
SERIAL_PROTOCOLPGM(" T | | H\n"); " T | | H\n"
SERIAL_PROTOCOLPGM(" | (-) | T\n"); " | (-) | T\n"
SERIAL_PROTOCOLPGM(" | |\n"); " | |\n"
SERIAL_PROTOCOLPGM(" O-- FRONT --+\n"); " O-- FRONT --+\n"
SERIAL_PROTOCOLPGM(" (0,0)\n"); " (0,0)");
float min_diff = 999; float min_diff = 999;
@ -3674,7 +3666,7 @@ inline void gcode_G28() {
} // yy } // yy
SERIAL_EOL; SERIAL_EOL;
if (verbose_level > 3) { if (verbose_level > 3) {
SERIAL_PROTOCOLPGM(" \nCorrected Bed Height vs. Bed Topology: \n"); SERIAL_PROTOCOLLNPGM("\nCorrected Bed Height vs. Bed Topology:");
for (int yy = auto_bed_leveling_grid_points - 1; yy >= 0; yy--) { for (int yy = auto_bed_leveling_grid_points - 1; yy >= 0; yy--) {
for (int xx = 0; xx < auto_bed_leveling_grid_points; xx++) { for (int xx = 0; xx < auto_bed_leveling_grid_points; xx++) {
@ -3703,7 +3695,7 @@ inline void gcode_G28() {
#if DISABLED(DELTA) #if DISABLED(DELTA)
if (verbose_level > 0) if (verbose_level > 0)
planner.bed_level_matrix.debug(" \n\nBed Level Correction Matrix:"); planner.bed_level_matrix.debug("\n\nBed Level Correction Matrix:");
if (!dryrun) { if (!dryrun) {
/** /**
@ -3747,7 +3739,7 @@ inline void gcode_G28() {
#ifdef Z_PROBE_END_SCRIPT #ifdef Z_PROBE_END_SCRIPT
#if ENABLED(DEBUG_LEVELING_FEATURE) #if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) { if (DEBUGGING(LEVELING)) {
SERIAL_ECHO("Z Probe End Script: "); SERIAL_ECHOPGM("Z Probe End Script: ");
SERIAL_ECHOLNPGM(Z_PROBE_END_SCRIPT); SERIAL_ECHOLNPGM(Z_PROBE_END_SCRIPT);
} }
#endif #endif
@ -4130,16 +4122,16 @@ inline void gcode_M42() {
int8_t verbose_level = code_seen('V') ? code_value_byte() : 1; int8_t verbose_level = code_seen('V') ? code_value_byte() : 1;
if (verbose_level < 0 || verbose_level > 4) { if (verbose_level < 0 || verbose_level > 4) {
SERIAL_PROTOCOLPGM("?Verbose Level not plausible (0-4).\n"); SERIAL_PROTOCOLLNPGM("?Verbose Level not plausible (0-4).");
return; return;
} }
if (verbose_level > 0) if (verbose_level > 0)
SERIAL_PROTOCOLPGM("M48 Z-Probe Repeatability test\n"); SERIAL_PROTOCOLLNPGM("M48 Z-Probe Repeatability test");
int8_t n_samples = code_seen('P') ? code_value_byte() : 10; int8_t n_samples = code_seen('P') ? code_value_byte() : 10;
if (n_samples < 4 || n_samples > 50) { if (n_samples < 4 || n_samples > 50) {
SERIAL_PROTOCOLPGM("?Sample size not plausible (4-50).\n"); SERIAL_PROTOCOLLNPGM("?Sample size not plausible (4-50).");
return; return;
} }
@ -4168,7 +4160,7 @@ inline void gcode_M42() {
} }
#else #else
if (sqrt(X_probe_location * X_probe_location + Y_probe_location * Y_probe_location) > DELTA_PROBEABLE_RADIUS) { if (sqrt(X_probe_location * X_probe_location + Y_probe_location * Y_probe_location) > DELTA_PROBEABLE_RADIUS) {
SERIAL_PROTOCOLPGM("? (X,Y) location outside of probeable radius.\n"); SERIAL_PROTOCOLLNPGM("? (X,Y) location outside of probeable radius.");
return; return;
} }
#endif #endif
@ -4176,7 +4168,7 @@ inline void gcode_M42() {
bool seen_L = code_seen('L'); bool seen_L = code_seen('L');
uint8_t n_legs = seen_L ? code_value_byte() : 0; uint8_t n_legs = seen_L ? code_value_byte() : 0;
if (n_legs > 15) { if (n_legs > 15) {
SERIAL_PROTOCOLPGM("?Number of legs in movement not plausible (0-15).\n"); SERIAL_PROTOCOLLNPGM("?Number of legs in movement not plausible (0-15).");
return; return;
} }
if (n_legs == 1) n_legs = 2; if (n_legs == 1) n_legs = 2;
@ -4190,7 +4182,7 @@ inline void gcode_M42() {
* we don't want to use that as a starting point for each probe. * we don't want to use that as a starting point for each probe.
*/ */
if (verbose_level > 2) if (verbose_level > 2)
SERIAL_PROTOCOLPGM("Positioning the probe...\n"); SERIAL_PROTOCOLLNPGM("Positioning the probe...");
#if ENABLED(DELTA) #if ENABLED(DELTA)
// we don't do bed level correction in M48 because we want the raw data when we probe // we don't do bed level correction in M48 because we want the raw data when we probe
@ -4223,9 +4215,9 @@ inline void gcode_M42() {
if (verbose_level > 3) { if (verbose_level > 3) {
SERIAL_ECHOPAIR("Starting radius: ", radius); SERIAL_ECHOPAIR("Starting radius: ", radius);
SERIAL_ECHOPAIR(" angle: ", angle); SERIAL_ECHOPAIR(" angle: ", angle);
SERIAL_ECHO(" Direction: "); SERIAL_ECHOPGM(" Direction: ");
if (dir > 0) SERIAL_ECHO("Counter "); if (dir > 0) SERIAL_ECHOPGM("Counter-");
SERIAL_ECHOLN("Clockwise"); SERIAL_ECHOLNPGM("Clockwise");
} }
for (uint8_t l = 0; l < n_legs - 1; l++) { for (uint8_t l = 0; l < n_legs - 1; l++) {
@ -4268,10 +4260,10 @@ inline void gcode_M42() {
} }
#endif #endif
if (verbose_level > 3) { if (verbose_level > 3) {
SERIAL_PROTOCOL("Going to:"); SERIAL_PROTOCOLPGM("Going to:");
SERIAL_ECHOPAIR("x: ", X_current); SERIAL_ECHOPAIR(" X", X_current);
SERIAL_ECHOPAIR("y: ", Y_current); SERIAL_ECHOPAIR(" Y", Y_current);
SERIAL_ECHOPAIR(" z: ", current_position[Z_AXIS]); SERIAL_ECHOPAIR(" Z", current_position[Z_AXIS]);
SERIAL_EOL; SERIAL_EOL;
} }
do_blocking_move_to_xy(X_current, Y_current); do_blocking_move_to_xy(X_current, Y_current);
@ -5542,9 +5534,9 @@ inline void gcode_M226() {
} }
else if (servo_index >= 0) { else if (servo_index >= 0) {
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHO(" Servo "); SERIAL_ECHOPGM(" Servo ");
SERIAL_ECHO(servo_index); SERIAL_ECHO(servo_index);
SERIAL_ECHO(": "); SERIAL_ECHOPGM(": ");
SERIAL_ECHOLN(servo[servo_index].read()); SERIAL_ECHOLN(servo[servo_index].read());
} }
} }
@ -5601,17 +5593,17 @@ inline void gcode_M226() {
thermalManager.updatePID(); thermalManager.updatePID();
SERIAL_ECHO_START; SERIAL_ECHO_START;
#if ENABLED(PID_PARAMS_PER_HOTEND) #if ENABLED(PID_PARAMS_PER_HOTEND)
SERIAL_ECHO(" e:"); // specify extruder in serial output SERIAL_ECHOPGM(" e:"); // specify extruder in serial output
SERIAL_ECHO(e); SERIAL_ECHO(e);
#endif // PID_PARAMS_PER_HOTEND #endif // PID_PARAMS_PER_HOTEND
SERIAL_ECHO(" p:"); SERIAL_ECHOPGM(" p:");
SERIAL_ECHO(PID_PARAM(Kp, e)); SERIAL_ECHO(PID_PARAM(Kp, e));
SERIAL_ECHO(" i:"); SERIAL_ECHOPGM(" i:");
SERIAL_ECHO(unscalePID_i(PID_PARAM(Ki, e))); SERIAL_ECHO(unscalePID_i(PID_PARAM(Ki, e)));
SERIAL_ECHO(" d:"); SERIAL_ECHOPGM(" d:");
SERIAL_ECHO(unscalePID_d(PID_PARAM(Kd, e))); SERIAL_ECHO(unscalePID_d(PID_PARAM(Kd, e)));
#if ENABLED(PID_ADD_EXTRUSION_RATE) #if ENABLED(PID_ADD_EXTRUSION_RATE)
SERIAL_ECHO(" c:"); SERIAL_ECHOPGM(" c:");
//Kc does not have scaling applied above, or in resetting defaults //Kc does not have scaling applied above, or in resetting defaults
SERIAL_ECHO(PID_PARAM(Kc, e)); SERIAL_ECHO(PID_PARAM(Kc, e));
#endif #endif
@ -5635,11 +5627,11 @@ inline void gcode_M226() {
thermalManager.updatePID(); thermalManager.updatePID();
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHO(" p:"); SERIAL_ECHOPGM(" p:");
SERIAL_ECHO(thermalManager.bedKp); SERIAL_ECHO(thermalManager.bedKp);
SERIAL_ECHO(" i:"); SERIAL_ECHOPGM(" i:");
SERIAL_ECHO(unscalePID_i(thermalManager.bedKi)); SERIAL_ECHO(unscalePID_i(thermalManager.bedKi));
SERIAL_ECHO(" d:"); SERIAL_ECHOPGM(" d:");
SERIAL_ECHOLN(unscalePID_d(thermalManager.bedKd)); SERIAL_ECHOLN(unscalePID_d(thermalManager.bedKd));
} }
@ -5739,7 +5731,7 @@ inline void gcode_M303() {
#if ENABLED(SCARA) #if ENABLED(SCARA)
bool SCARA_move_to_cal(uint8_t delta_x, uint8_t delta_y) { bool SCARA_move_to_cal(uint8_t delta_x, uint8_t delta_y) {
//SoftEndsEnabled = false; // Ignore soft endstops during calibration //SoftEndsEnabled = false; // Ignore soft endstops during calibration
//SERIAL_ECHOLN(" Soft endstops disabled "); //SERIAL_ECHOLNPGM(" Soft endstops disabled");
if (IsRunning()) { if (IsRunning()) {
//gcode_get_destination(); // For X Y Z E F //gcode_get_destination(); // For X Y Z E F
delta[X_AXIS] = delta_x; delta[X_AXIS] = delta_x;
@ -5758,7 +5750,7 @@ inline void gcode_M303() {
* M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration) * M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
*/ */
inline bool gcode_M360() { inline bool gcode_M360() {
SERIAL_ECHOLN(" Cal: Theta 0 "); SERIAL_ECHOLNPGM(" Cal: Theta 0");
return SCARA_move_to_cal(0, 120); return SCARA_move_to_cal(0, 120);
} }
@ -5766,7 +5758,7 @@ inline void gcode_M303() {
* M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree) * M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
*/ */
inline bool gcode_M361() { inline bool gcode_M361() {
SERIAL_ECHOLN(" Cal: Theta 90 "); SERIAL_ECHOLNPGM(" Cal: Theta 90");
return SCARA_move_to_cal(90, 130); return SCARA_move_to_cal(90, 130);
} }
@ -5774,7 +5766,7 @@ inline void gcode_M303() {
* M362: SCARA calibration: Move to cal-position PsiA (0 deg calibration) * M362: SCARA calibration: Move to cal-position PsiA (0 deg calibration)
*/ */
inline bool gcode_M362() { inline bool gcode_M362() {
SERIAL_ECHOLN(" Cal: Psi 0 "); SERIAL_ECHOLNPGM(" Cal: Psi 0");
return SCARA_move_to_cal(60, 180); return SCARA_move_to_cal(60, 180);
} }
@ -5782,7 +5774,7 @@ inline void gcode_M303() {
* M363: SCARA calibration: Move to cal-position PsiB (90 deg calibration - steps per degree) * M363: SCARA calibration: Move to cal-position PsiB (90 deg calibration - steps per degree)
*/ */
inline bool gcode_M363() { inline bool gcode_M363() {
SERIAL_ECHOLN(" Cal: Psi 90 "); SERIAL_ECHOLNPGM(" Cal: Psi 90");
return SCARA_move_to_cal(50, 90); return SCARA_move_to_cal(50, 90);
} }
@ -5790,7 +5782,7 @@ inline void gcode_M303() {
* M364: SCARA calibration: Move to cal-position PSIC (90 deg to Theta calibration position) * M364: SCARA calibration: Move to cal-position PSIC (90 deg to Theta calibration position)
*/ */
inline bool gcode_M364() { inline bool gcode_M364() {
SERIAL_ECHOLN(" Cal: Theta-Psi 90 "); SERIAL_ECHOLNPGM(" Cal: Theta-Psi 90");
return SCARA_move_to_cal(45, 135); return SCARA_move_to_cal(45, 135);
} }
@ -6109,6 +6101,7 @@ inline void gcode_M503() {
else { else {
SERIAL_ECHOPGM(MSG_Z_MIN); SERIAL_ECHOPGM(MSG_Z_MIN);
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MIN); SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MIN);
SERIAL_CHAR(' ');
SERIAL_ECHOPGM(MSG_Z_MAX); SERIAL_ECHOPGM(MSG_Z_MAX);
SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MAX); SERIAL_ECHO(Z_PROBE_OFFSET_RANGE_MAX);
} }
@ -6625,7 +6618,7 @@ inline void gcode_T(uint8_t tmp_extruder) {
#endif #endif
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHO(MSG_ACTIVE_EXTRUDER); SERIAL_ECHOPGM(MSG_ACTIVE_EXTRUDER);
SERIAL_PROTOCOLLN((int)active_extruder); SERIAL_PROTOCOLLN((int)active_extruder);
} }

View File

@ -102,7 +102,7 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m
if (!dir.open(parent, lfilename, O_READ)) { if (!dir.open(parent, lfilename, O_READ)) {
if (lsAction == LS_SerialPrint) { if (lsAction == LS_SerialPrint) {
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHOLN(MSG_SD_CANT_OPEN_SUBDIR); SERIAL_ECHOPGM(MSG_SD_CANT_OPEN_SUBDIR);
SERIAL_ECHOLN(lfilename); SERIAL_ECHOLN(lfilename);
} }
} }
@ -357,8 +357,8 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
dirname_start = &name[1]; dirname_start = &name[1];
while (dirname_start != NULL) { while (dirname_start != NULL) {
dirname_end = strchr(dirname_start, '/'); dirname_end = strchr(dirname_start, '/');
//SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name)); //SERIAL_ECHOPGM("start:");SERIAL_ECHOLN((int)(dirname_start - name));
//SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name)); //SERIAL_ECHOPGM("end :");SERIAL_ECHOLN((int)(dirname_end - name));
if (dirname_end != NULL && dirname_end > dirname_start) { if (dirname_end != NULL && dirname_end > dirname_start) {
char subdirname[FILENAME_LENGTH]; char subdirname[FILENAME_LENGTH];
strncpy(subdirname, dirname_start, dirname_end - dirname_start); strncpy(subdirname, dirname_start, dirname_end - dirname_start);
@ -371,7 +371,7 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
return; return;
} }
else { else {
//SERIAL_ECHOLN("dive ok"); //SERIAL_ECHOLNPGM("dive ok");
} }
curDir = &myDir; curDir = &myDir;
@ -379,7 +379,7 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
} }
else { // the remainder after all /fsa/fdsa/ is the filename else { // the remainder after all /fsa/fdsa/ is the filename
fname = dirname_start; fname = dirname_start;
//SERIAL_ECHOLN("remainder"); //SERIAL_ECHOLNPGM("remainder");
//SERIAL_ECHOLN(fname); //SERIAL_ECHOLN(fname);
break; break;
} }
@ -392,10 +392,9 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
if (read) { if (read) {
if (file.open(curDir, fname, O_READ)) { if (file.open(curDir, fname, O_READ)) {
filesize = file.fileSize(); filesize = file.fileSize();
SERIAL_PROTOCOLPGM(MSG_SD_FILE_OPENED); SERIAL_PROTOCOLPAIR(MSG_SD_FILE_OPENED, fname);
SERIAL_PROTOCOL(fname); SERIAL_PROTOCOLPAIR(MSG_SD_SIZE, filesize);
SERIAL_PROTOCOLPGM(MSG_SD_SIZE); SERIAL_EOL;
SERIAL_PROTOCOLLN(filesize);
sdpos = 0; sdpos = 0;
SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED); SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED);
@ -403,21 +402,20 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) {
lcd_setstatus(longFilename[0] ? longFilename : fname); lcd_setstatus(longFilename[0] ? longFilename : fname);
} }
else { else {
SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL); SERIAL_PROTOCOLPAIR(MSG_SD_OPEN_FILE_FAIL, fname);
SERIAL_PROTOCOL(fname); SERIAL_PROTOCOLCHAR('.');
SERIAL_PROTOCOLPGM(".\n"); SERIAL_EOL;
} }
} }
else { //write else { //write
if (!file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC)) { if (!file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC)) {
SERIAL_PROTOCOLPGM(MSG_SD_OPEN_FILE_FAIL); SERIAL_PROTOCOLPAIR(MSG_SD_OPEN_FILE_FAIL, fname);
SERIAL_PROTOCOL(fname); SERIAL_PROTOCOLCHAR('.');
SERIAL_PROTOCOLPGM(".\n"); SERIAL_EOL;
} }
else { else {
saving = true; saving = true;
SERIAL_PROTOCOLPGM(MSG_SD_WRITE_TO_FILE); SERIAL_PROTOCOLPAIR(MSG_SD_WRITE_TO_FILE, name);
SERIAL_PROTOCOLLN(name);
lcd_setstatus(fname); lcd_setstatus(fname);
} }
} }
@ -438,21 +436,20 @@ void CardReader::removeFile(char* name) {
dirname_start = strchr(name, '/') + 1; dirname_start = strchr(name, '/') + 1;
while (dirname_start != NULL) { while (dirname_start != NULL) {
dirname_end = strchr(dirname_start, '/'); dirname_end = strchr(dirname_start, '/');
//SERIAL_ECHO("start:");SERIAL_ECHOLN((int)(dirname_start - name)); //SERIAL_ECHOPGM("start:");SERIAL_ECHOLN((int)(dirname_start - name));
//SERIAL_ECHO("end :");SERIAL_ECHOLN((int)(dirname_end - name)); //SERIAL_ECHOPGM("end :");SERIAL_ECHOLN((int)(dirname_end - name));
if (dirname_end != NULL && dirname_end > dirname_start) { if (dirname_end != NULL && dirname_end > dirname_start) {
char subdirname[FILENAME_LENGTH]; char subdirname[FILENAME_LENGTH];
strncpy(subdirname, dirname_start, dirname_end - dirname_start); strncpy(subdirname, dirname_start, dirname_end - dirname_start);
subdirname[dirname_end - dirname_start] = 0; subdirname[dirname_end - dirname_start] = 0;
SERIAL_ECHOLN(subdirname); SERIAL_ECHOLN(subdirname);
if (!myDir.open(curDir, subdirname, O_READ)) { if (!myDir.open(curDir, subdirname, O_READ)) {
SERIAL_PROTOCOLPGM("open failed, File: "); SERIAL_PROTOCOLPAIR("open failed, File: ", subdirname);
SERIAL_PROTOCOL(subdirname);
SERIAL_PROTOCOLCHAR('.'); SERIAL_PROTOCOLCHAR('.');
return; return;
} }
else { else {
//SERIAL_ECHOLN("dive ok"); //SERIAL_ECHOLNPGM("dive ok");
} }
curDir = &myDir; curDir = &myDir;
@ -460,7 +457,7 @@ void CardReader::removeFile(char* name) {
} }
else { // the remainder after all /fsa/fdsa/ is the filename else { // the remainder after all /fsa/fdsa/ is the filename
fname = dirname_start; fname = dirname_start;
//SERIAL_ECHOLN("remainder"); //SERIAL_ECHOLNPGM("remainder");
//SERIAL_ECHOLN(fname); //SERIAL_ECHOLN(fname);
break; break;
} }

View File

@ -344,7 +344,7 @@ void Config_RetrieveSettings() {
char stored_ver[4]; char stored_ver[4];
char ver[4] = EEPROM_VERSION; char ver[4] = EEPROM_VERSION;
EEPROM_READ_VAR(i, stored_ver); //read stored version EEPROM_READ_VAR(i, stored_ver); //read stored version
// SERIAL_ECHOLN("Version: [" << ver << "] Stored version: [" << stored_ver << "]"); // SERIAL_ECHO("Version: [" << ver << "] Stored version: [" << stored_ver << "]\n");
if (strncmp(ver, stored_ver, 3) != 0) { if (strncmp(ver, stored_ver, 3) != 0) {
Config_ResetDefault(); Config_ResetDefault();
@ -717,7 +717,7 @@ void Config_PrintSettings(bool forReplay) {
CONFIG_ECHO_START; CONFIG_ECHO_START;
if (!forReplay) { if (!forReplay) {
SERIAL_ECHOLNPGM("Home offset (mm):"); SERIAL_ECHOLNPGM("Home offset (mm)");
CONFIG_ECHO_START; CONFIG_ECHO_START;
} }
SERIAL_ECHOPAIR(" M206 X", home_offset[X_AXIS]); SERIAL_ECHOPAIR(" M206 X", home_offset[X_AXIS]);
@ -883,7 +883,7 @@ void Config_PrintSettings(bool forReplay) {
SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries"); SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
CONFIG_ECHO_START; CONFIG_ECHO_START;
} }
SERIAL_ECHOPAIR(" M209 S", (autoretract_enabled ? 1 : 0)); SERIAL_ECHOPAIR(" M209 S", autoretract_enabled ? 1 : 0);
SERIAL_EOL; SERIAL_EOL;
#endif // FWRETRACT #endif // FWRETRACT

View File

@ -197,7 +197,7 @@ void Endstops::report_state() {
} // Endstops::report_state } // Endstops::report_state
void Endstops::M119() { void Endstops::M119() {
SERIAL_PROTOCOLLN(MSG_M119_REPORT); SERIAL_PROTOCOLLNPGM(MSG_M119_REPORT);
#if HAS_X_MIN #if HAS_X_MIN
SERIAL_PROTOCOLPGM(MSG_X_MIN); SERIAL_PROTOCOLPGM(MSG_X_MIN);
SERIAL_PROTOCOLLN(((READ(X_MIN_PIN)^X_MIN_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN)); SERIAL_PROTOCOLLN(((READ(X_MIN_PIN)^X_MIN_ENDSTOP_INVERTING) ? MSG_ENDSTOP_HIT : MSG_ENDSTOP_OPEN));

View File

@ -157,7 +157,7 @@
#define MSG_ENDSTOP_OPEN "open" #define MSG_ENDSTOP_OPEN "open"
#define MSG_HOTEND_OFFSET "Hotend offsets:" #define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir" #define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir "
#define MSG_SD_INIT_FAIL "SD init fail" #define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed" #define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed" #define MSG_SD_OPENROOT_FAIL "openRoot failed"

View File

@ -1103,7 +1103,7 @@ void Stepper::microstep_mode(uint8_t driver, uint8_t stepping_mode) {
} }
void Stepper::microstep_readings() { void Stepper::microstep_readings() {
SERIAL_PROTOCOLPGM("MS1,MS2 Pins\n"); SERIAL_PROTOCOLLNPGM("MS1,MS2 Pins");
SERIAL_PROTOCOLPGM("X: "); SERIAL_PROTOCOLPGM("X: ");
SERIAL_PROTOCOL(digitalRead(X_MS1_PIN)); SERIAL_PROTOCOL(digitalRead(X_MS1_PIN));
SERIAL_PROTOCOLLN(digitalRead(X_MS2_PIN)); SERIAL_PROTOCOLLN(digitalRead(X_MS2_PIN));

View File

@ -98,7 +98,7 @@
SERIAL_ECHOPAIR(" (", dac_amps(2)); SERIAL_ECHOPAIR(" (", dac_amps(2));
SERIAL_ECHOPAIR(") E:", dac_perc(3)); SERIAL_ECHOPAIR(") E:", dac_perc(3));
SERIAL_ECHOPAIR(" (", dac_amps(3)); SERIAL_ECHOPAIR(" (", dac_amps(3));
SERIAL_ECHOLN(")"); SERIAL_ECHOLNPGM(")");
} }
void dac_commit_eeprom() { void dac_commit_eeprom() {

View File

@ -304,37 +304,37 @@ unsigned char Temperature::soft_pwm[HOTENDS];
bias = constrain(bias, 20, max_pow - 20); bias = constrain(bias, 20, max_pow - 20);
d = (bias > max_pow / 2) ? max_pow - 1 - bias : bias; d = (bias > max_pow / 2) ? max_pow - 1 - bias : bias;
SERIAL_PROTOCOLPGM(MSG_BIAS); SERIAL_PROTOCOL(bias); SERIAL_PROTOCOLPAIR(MSG_BIAS, bias);
SERIAL_PROTOCOLPGM(MSG_D); SERIAL_PROTOCOL(d); SERIAL_PROTOCOLPAIR(MSG_D, d);
SERIAL_PROTOCOLPGM(MSG_T_MIN); SERIAL_PROTOCOL(min); SERIAL_PROTOCOLPAIR(MSG_T_MIN, min);
SERIAL_PROTOCOLPGM(MSG_T_MAX); SERIAL_PROTOCOLLN(max); SERIAL_PROTOCOLPAIR(MSG_T_MAX, max);
if (cycles > 2) { if (cycles > 2) {
Ku = (4.0 * d) / (3.14159265 * (max - min) / 2.0); Ku = (4.0 * d) / (3.14159265 * (max - min) / 2.0);
Tu = ((float)(t_low + t_high) / 1000.0); Tu = ((float)(t_low + t_high) / 1000.0);
SERIAL_PROTOCOLPGM(MSG_KU); SERIAL_PROTOCOL(Ku); SERIAL_PROTOCOLPAIR(MSG_KU, Ku);
SERIAL_PROTOCOLPGM(MSG_TU); SERIAL_PROTOCOLLN(Tu); SERIAL_PROTOCOLPAIR(MSG_TU, Tu);
workKp = 0.6 * Ku; workKp = 0.6 * Ku;
workKi = 2 * workKp / Tu; workKi = 2 * workKp / Tu;
workKd = workKp * Tu / 8; workKd = workKp * Tu / 8;
SERIAL_PROTOCOLLNPGM(MSG_CLASSIC_PID); SERIAL_PROTOCOLLNPGM(MSG_CLASSIC_PID);
SERIAL_PROTOCOLPGM(MSG_KP); SERIAL_PROTOCOLLN(workKp); SERIAL_PROTOCOLPAIR(MSG_KP, workKp);
SERIAL_PROTOCOLPGM(MSG_KI); SERIAL_PROTOCOLLN(workKi); SERIAL_PROTOCOLPAIR(MSG_KI, workKi);
SERIAL_PROTOCOLPGM(MSG_KD); SERIAL_PROTOCOLLN(workKd); SERIAL_PROTOCOLPAIR(MSG_KD, workKd);
/** /**
workKp = 0.33*Ku; workKp = 0.33*Ku;
workKi = workKp/Tu; workKi = workKp/Tu;
workKd = workKp*Tu/3; workKd = workKp*Tu/3;
SERIAL_PROTOCOLLNPGM(" Some overshoot "); SERIAL_PROTOCOLLNPGM(" Some overshoot");
SERIAL_PROTOCOLPGM(" Kp: "); SERIAL_PROTOCOLLN(workKp); SERIAL_PROTOCOLPAIR(" Kp: ", workKp);
SERIAL_PROTOCOLPGM(" Ki: "); SERIAL_PROTOCOLLN(workKi); SERIAL_PROTOCOLPAIR(" Ki: ", workKi);
SERIAL_PROTOCOLPGM(" Kd: "); SERIAL_PROTOCOLLN(workKd); SERIAL_PROTOCOLPAIR(" Kd: ", workKd);
workKp = 0.2*Ku; workKp = 0.2*Ku;
workKi = 2*workKp/Tu; workKi = 2*workKp/Tu;
workKd = workKp*Tu/3; workKd = workKp*Tu/3;
SERIAL_PROTOCOLLNPGM(" No overshoot "); SERIAL_PROTOCOLLNPGM(" No overshoot");
SERIAL_PROTOCOLPGM(" Kp: "); SERIAL_PROTOCOLLN(workKp); SERIAL_PROTOCOLPAIR(" Kp: ", workKp);
SERIAL_PROTOCOLPGM(" Ki: "); SERIAL_PROTOCOLLN(workKi); SERIAL_PROTOCOLPAIR(" Ki: ", workKi);
SERIAL_PROTOCOLPGM(" Kd: "); SERIAL_PROTOCOLLN(workKd); SERIAL_PROTOCOLPAIR(" Kd: ", workKd);
*/ */
} }
} }
@ -377,17 +377,17 @@ unsigned char Temperature::soft_pwm[HOTENDS];
#if HAS_PID_FOR_BOTH #if HAS_PID_FOR_BOTH
const char* estring = hotend < 0 ? "bed" : ""; const char* estring = hotend < 0 ? "bed" : "";
SERIAL_PROTOCOLPGM("#define DEFAULT_"); SERIAL_PROTOCOL(estring); SERIAL_PROTOCOLPGM("Kp "); SERIAL_PROTOCOLLN(workKp); SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kp ", workKp);
SERIAL_PROTOCOLPGM("#define DEFAULT_"); SERIAL_PROTOCOL(estring); SERIAL_PROTOCOLPGM("Ki "); SERIAL_PROTOCOLLN(workKi); SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Ki ", workKi);
SERIAL_PROTOCOLPGM("#define DEFAULT_"); SERIAL_PROTOCOL(estring); SERIAL_PROTOCOLPGM("Kd "); SERIAL_PROTOCOLLN(workKd); SERIAL_PROTOCOLPAIR("#define DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kd ", workKd);
#elif ENABLED(PIDTEMP) #elif ENABLED(PIDTEMP)
SERIAL_PROTOCOLPGM("#define DEFAULT_Kp "); SERIAL_PROTOCOLLN(workKp); SERIAL_PROTOCOLPAIR("#define DEFAULT_Kp ", workKp);
SERIAL_PROTOCOLPGM("#define DEFAULT_Ki "); SERIAL_PROTOCOLLN(workKi); SERIAL_PROTOCOLPAIR("#define DEFAULT_Ki ", workKi);
SERIAL_PROTOCOLPGM("#define DEFAULT_Kd "); SERIAL_PROTOCOLLN(workKd); SERIAL_PROTOCOLPAIR("#define DEFAULT_Kd ", workKd);
#else #else
SERIAL_PROTOCOLPGM("#define DEFAULT_bedKp "); SERIAL_PROTOCOLLN(workKp); SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKp ", workKp);
SERIAL_PROTOCOLPGM("#define DEFAULT_bedKi "); SERIAL_PROTOCOLLN(workKi); SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKi ", workKi);
SERIAL_PROTOCOLPGM("#define DEFAULT_bedKd "); SERIAL_PROTOCOLLN(workKd); SERIAL_PROTOCOLPAIR("#define DEFAULT_bedKd ", workKd);
#endif #endif
#define _SET_BED_PID() \ #define _SET_BED_PID() \
@ -626,16 +626,16 @@ float Temperature::get_pid_output(int e) {
#if ENABLED(PID_BED_DEBUG) #if ENABLED(PID_BED_DEBUG)
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHO(" PID_BED_DEBUG "); SERIAL_ECHOPGM(" PID_BED_DEBUG ");
SERIAL_ECHO(": Input "); SERIAL_ECHOPGM(": Input ");
SERIAL_ECHO(current_temperature_bed); SERIAL_ECHO(current_temperature_bed);
SERIAL_ECHO(" Output "); SERIAL_ECHOPGM(" Output ");
SERIAL_ECHO(pid_output); SERIAL_ECHO(pid_output);
SERIAL_ECHO(" pTerm "); SERIAL_ECHOPGM(" pTerm ");
SERIAL_ECHO(pTerm_bed); SERIAL_ECHO(pTerm_bed);
SERIAL_ECHO(" iTerm "); SERIAL_ECHOPGM(" iTerm ");
SERIAL_ECHO(iTerm_bed); SERIAL_ECHO(iTerm_bed);
SERIAL_ECHO(" dTerm "); SERIAL_ECHOPGM(" dTerm ");
SERIAL_ECHOLN(dTerm_bed); SERIAL_ECHOLN(dTerm_bed);
#endif //PID_BED_DEBUG #endif //PID_BED_DEBUG

View File

@ -2266,14 +2266,11 @@ void lcd_update() {
#if ENABLED(ENCODER_RATE_MULTIPLIER_DEBUG) #if ENABLED(ENCODER_RATE_MULTIPLIER_DEBUG)
SERIAL_ECHO_START; SERIAL_ECHO_START;
SERIAL_ECHO("Enc Step Rate: "); SERIAL_ECHOPAIR("Enc Step Rate: ", encoderStepRate);
SERIAL_ECHO(encoderStepRate); SERIAL_ECHOPAIR(" Multiplier: ", encoderMultiplier);
SERIAL_ECHO(" Multiplier: "); SERIAL_ECHOPAIR(" ENCODER_10X_STEPS_PER_SEC: ", ENCODER_10X_STEPS_PER_SEC);
SERIAL_ECHO(encoderMultiplier); SERIAL_ECHOPAIR(" ENCODER_100X_STEPS_PER_SEC: ", ENCODER_100X_STEPS_PER_SEC);
SERIAL_ECHO(" ENCODER_10X_STEPS_PER_SEC: "); SERIAL_EOL;
SERIAL_ECHO(ENCODER_10X_STEPS_PER_SEC);
SERIAL_ECHO(" ENCODER_100X_STEPS_PER_SEC: ");
SERIAL_ECHOLN(ENCODER_100X_STEPS_PER_SEC);
#endif //ENCODER_RATE_MULTIPLIER_DEBUG #endif //ENCODER_RATE_MULTIPLIER_DEBUG
} }