Serial refactor followup (#20932)

This commit is contained in:
X-Ryl669 2021-02-01 00:21:27 +01:00 committed by Scott Lahteine
parent e7658ec5f5
commit 9ae204df9c
9 changed files with 31 additions and 18 deletions

View file

@ -81,7 +81,7 @@ void MarlinSerial::_rx_complete_irq(serial_t *obj) {
} }
#if ENABLED(EMERGENCY_PARSER) #if ENABLED(EMERGENCY_PARSER)
emergency_parser.update(emergency_state, c); emergency_parser.update(static_cast<MSerialT*>(this)->emergency_state, c);
#endif #endif
} }
} }

View file

@ -614,8 +614,8 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) {
*/ */
void idle(TERN_(ADVANCED_PAUSE_FEATURE, bool no_stepper_sleep/*=false*/)) { void idle(TERN_(ADVANCED_PAUSE_FEATURE, bool no_stepper_sleep/*=false*/)) {
#if ENABLED(MARLIN_DEV_MODE) #if ENABLED(MARLIN_DEV_MODE)
static uint8_t idle_depth = 0; static uint16_t idle_depth = 0;
if (++idle_depth > 5) SERIAL_ECHOLNPAIR("idle() call depth: ", int(idle_depth)); if (++idle_depth > 5) SERIAL_ECHOLNPAIR("idle() call depth: ", idle_depth);
#endif #endif
// Core Marlin activities // Core Marlin activities

View file

@ -78,13 +78,22 @@ struct SerialBase {
FORCE_INLINE void write(const char* str) { while (*str) write(*str++); } FORCE_INLINE void write(const char* str) { while (*str) write(*str++); }
FORCE_INLINE void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); } FORCE_INLINE void write(const uint8_t* buffer, size_t size) { while (size--) write(*buffer++); }
FORCE_INLINE void print(const char* str) { write(str); } FORCE_INLINE void print(const char* str) { write(str); }
NO_INLINE void print(char c, int base = 0) { print((long)c, base); } NO_INLINE void print(char c, int base = 0) { print((long)c, base); }
NO_INLINE void print(unsigned char c, int base = 0) { print((unsigned long)c, base); } NO_INLINE void print(unsigned char c, int base = 0) { print((unsigned long)c, base); }
NO_INLINE void print(int c, int base = DEC) { print((long)c, base); } NO_INLINE void print(int c, int base = DEC) { print((long)c, base); }
NO_INLINE void print(unsigned int c, int base = DEC) { print((unsigned long)c, base); } NO_INLINE void print(unsigned int c, int base = DEC) { print((unsigned long)c, base); }
void print(long c, int base = DEC) { if (!base) write(c); write((const uint8_t*)"-", c < 0); printNumber(c < 0 ? -c : c, base); } void print(unsigned long c, int base = DEC) { printNumber(c, base); }
void print(unsigned long c, int base = DEC) { printNumber(c, base); } void print(double c, int digits = 2) { printFloat(c, digits); }
void print(double c, int digits = 2) { printFloat(c, digits); } void print(long c, int base = DEC) {
if (!base) {
write(c);
return;
}
if (base == DEC && c < 0) {
write((uint8_t)'-'); c = -c;
}
printNumber(c, base);
}
NO_INLINE void println(const char s[]) { print(s); println(); } NO_INLINE void println(const char s[]) { print(s); println(); }
NO_INLINE void println(char c, int base = 0) { print(c, base); println(); } NO_INLINE void println(char c, int base = 0) { print(c, base); println(); }
@ -98,6 +107,10 @@ struct SerialBase {
// Print a number with the given base // Print a number with the given base
void printNumber(unsigned long n, const uint8_t base) { void printNumber(unsigned long n, const uint8_t base) {
if (!base) {
write((uint8_t)n);
return;
}
if (n) { if (n) {
unsigned char buf[8 * sizeof(long)]; // Enough space for base 2 unsigned char buf[8 * sizeof(long)]; // Enough space for base 2
int8_t i = 0; int8_t i = 0;

View file

@ -150,7 +150,7 @@
SERIAL_ECHO_SP(7); SERIAL_ECHO_SP(7);
LOOP_L_N(i, GRID_MAX_POINTS_X) { LOOP_L_N(i, GRID_MAX_POINTS_X) {
if (i < 10) SERIAL_CHAR(' '); if (i < 10) SERIAL_CHAR(' ');
SERIAL_ECHO(i); SERIAL_ECHO((int)i);
SERIAL_ECHO_SP(sp); SERIAL_ECHO_SP(sp);
} }
serial_delay(10); serial_delay(10);

View file

@ -240,8 +240,8 @@ void GcodeSuite::M48() {
sigma = SQRT(dev_sum / (n + 1)); sigma = SQRT(dev_sum / (n + 1));
if (verbose_level > 1) { if (verbose_level > 1) {
SERIAL_ECHO(n + 1); SERIAL_ECHO((int)(n + 1));
SERIAL_ECHOPAIR(" of ", int(n_samples)); SERIAL_ECHOPAIR(" of ", (int)n_samples);
SERIAL_ECHOPAIR_F(": z: ", pz, 3); SERIAL_ECHOPAIR_F(": z: ", pz, 3);
SERIAL_CHAR(' '); SERIAL_CHAR(' ');
dev_report(verbose_level > 2, mean, sigma, min, max); dev_report(verbose_level > 2, mean, sigma, min, max);

View file

@ -35,8 +35,8 @@
static void cap_line(PGM_P const name, bool ena=false) { static void cap_line(PGM_P const name, bool ena=false) {
SERIAL_ECHOPGM("Cap:"); SERIAL_ECHOPGM("Cap:");
serialprintPGM(name); serialprintPGM(name);
SERIAL_CHAR(':'); SERIAL_CHAR(':', ena ? '1' : '0');
SERIAL_ECHOLN(int(ena ? 1 : 0)); SERIAL_EOL();
} }
#endif #endif

View file

@ -2062,7 +2062,7 @@ void Temperature::init() {
switch (heater_id) { switch (heater_id) {
case H_BED: SERIAL_ECHOPGM("bed"); break; case H_BED: SERIAL_ECHOPGM("bed"); break;
case H_CHAMBER: SERIAL_ECHOPGM("chamber"); break; case H_CHAMBER: SERIAL_ECHOPGM("chamber"); break;
default: SERIAL_ECHO(heater_id); default: SERIAL_ECHO((int)heater_id);
} }
SERIAL_ECHOLNPAIR( SERIAL_ECHOLNPAIR(
" ; sizeof(running_temp):", sizeof(running_temp), " ; sizeof(running_temp):", sizeof(running_temp),

View file

@ -709,7 +709,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_a
#if EXTRUDERS #if EXTRUDERS
inline void invalid_extruder_error(const uint8_t e) { inline void invalid_extruder_error(const uint8_t e) {
SERIAL_ECHO_START(); SERIAL_ECHO_START();
SERIAL_CHAR('T'); SERIAL_ECHO(int(e)); SERIAL_CHAR('T'); SERIAL_ECHO((int)e);
SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(STR_INVALID_EXTRUDER); SERIAL_CHAR(' '); SERIAL_ECHOLNPGM(STR_INVALID_EXTRUDER);
} }
#endif #endif

View file

@ -926,7 +926,7 @@ int SdBaseFile::peek() {
// print uint8_t with width 2 // print uint8_t with width 2
static void print2u(const uint8_t v) { static void print2u(const uint8_t v) {
if (v < 10) SERIAL_CHAR('0'); if (v < 10) SERIAL_CHAR('0');
SERIAL_ECHO(int(v)); SERIAL_ECHO((int)v);
} }
/** /**