Add SERIAL_FLOAT_PRECISION option (#18367)
This commit is contained in:
		@@ -31,6 +31,7 @@
 | 
			
		||||
#undef DEBUG_ERROR_START
 | 
			
		||||
#undef DEBUG_CHAR
 | 
			
		||||
#undef DEBUG_ECHO
 | 
			
		||||
#undef DEBUG_DECIMAL
 | 
			
		||||
#undef DEBUG_ECHO_F
 | 
			
		||||
#undef DEBUG_ECHOLN
 | 
			
		||||
#undef DEBUG_ECHOPGM
 | 
			
		||||
@@ -57,6 +58,7 @@
 | 
			
		||||
  #define DEBUG_ERROR_START       SERIAL_ERROR_START
 | 
			
		||||
  #define DEBUG_CHAR              SERIAL_CHAR
 | 
			
		||||
  #define DEBUG_ECHO              SERIAL_ECHO
 | 
			
		||||
  #define DEBUG_DECIMAL           SERIAL_DECIMAL
 | 
			
		||||
  #define DEBUG_ECHO_F            SERIAL_ECHO_F
 | 
			
		||||
  #define DEBUG_ECHOLN            SERIAL_ECHOLN
 | 
			
		||||
  #define DEBUG_ECHOPGM           SERIAL_ECHOPGM
 | 
			
		||||
@@ -82,6 +84,7 @@
 | 
			
		||||
  #define DEBUG_ERROR_START()       NOOP
 | 
			
		||||
  #define DEBUG_CHAR(...)           NOOP
 | 
			
		||||
  #define DEBUG_ECHO(...)           NOOP
 | 
			
		||||
  #define DEBUG_DECIMAL(...)        NOOP
 | 
			
		||||
  #define DEBUG_ECHO_F(...)         NOOP
 | 
			
		||||
  #define DEBUG_ECHOLN(...)         NOOP
 | 
			
		||||
  #define DEBUG_ECHOPGM(...)        NOOP
 | 
			
		||||
 
 | 
			
		||||
@@ -270,7 +270,7 @@
 | 
			
		||||
#define NEAR(x,y) NEAR_ZERO((x)-(y))
 | 
			
		||||
 | 
			
		||||
#define RECIPROCAL(x) (NEAR_ZERO(x) ? 0 : (1 / float(x)))
 | 
			
		||||
#define FIXFLOAT(f)  ({__typeof__(f) _f = (f); _f + (_f < 0 ? -0.00005f : 0.00005f);})
 | 
			
		||||
#define FIXFLOAT(f)  ({__typeof__(f) _f = (f); _f + (_f < 0 ? -0.0000005f : 0.0000005f);})
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Maths macros that can be overridden by HAL
 | 
			
		||||
 
 | 
			
		||||
@@ -42,8 +42,8 @@ void serial_echopair_PGM(PGM_P const s_P, const char *v)   { serialprintPGM(s_P)
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, char v)          { serialprintPGM(s_P); SERIAL_CHAR(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, int v)           { serialprintPGM(s_P); SERIAL_ECHO(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, long v)          { serialprintPGM(s_P); SERIAL_ECHO(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, float v)         { serialprintPGM(s_P); SERIAL_ECHO(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, double v)        { serialprintPGM(s_P); SERIAL_ECHO(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, float v)         { serialprintPGM(s_P); SERIAL_DECIMAL(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, double v)        { serialprintPGM(s_P); SERIAL_DECIMAL(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, unsigned int v)  { serialprintPGM(s_P); SERIAL_ECHO(v); }
 | 
			
		||||
void serial_echopair_PGM(PGM_P const s_P, unsigned long v) { serialprintPGM(s_P); SERIAL_ECHO(v); }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -286,6 +286,12 @@ extern uint8_t marlin_debug_flags;
 | 
			
		||||
 | 
			
		||||
#define SERIAL_ECHO_TERNARY(TF, PRE, ON, OFF, POST) serial_ternary(TF, PSTR(PRE), PSTR(ON), PSTR(OFF), PSTR(POST))
 | 
			
		||||
 | 
			
		||||
#if SERIAL_FLOAT_PRECISION
 | 
			
		||||
  #define SERIAL_DECIMAL(V) SERIAL_PRINT(V, SERIAL_FLOAT_PRECISION)
 | 
			
		||||
#else
 | 
			
		||||
  #define SERIAL_DECIMAL(V) SERIAL_ECHO(V)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Functions for serial printing from PROGMEM. (Saves loads of SRAM.)
 | 
			
		||||
//
 | 
			
		||||
 
 | 
			
		||||
@@ -123,10 +123,10 @@ void safe_delay(millis_t ms) {
 | 
			
		||||
        #if ABL_PLANAR
 | 
			
		||||
          SERIAL_ECHOPGM("ABL Adjustment X");
 | 
			
		||||
          LOOP_XYZ(a) {
 | 
			
		||||
            float v = planner.get_axis_position_mm(AxisEnum(a)) - current_position[a];
 | 
			
		||||
            const float v = planner.get_axis_position_mm(AxisEnum(a)) - current_position[a];
 | 
			
		||||
            SERIAL_CHAR(' ', XYZ_CHAR(a));
 | 
			
		||||
            if (v > 0) SERIAL_CHAR('+');
 | 
			
		||||
            SERIAL_ECHO(v);
 | 
			
		||||
            SERIAL_DECIMAL(v);
 | 
			
		||||
          }
 | 
			
		||||
        #else
 | 
			
		||||
          #if ENABLED(AUTO_BED_LEVELING_UBL)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user