From 82d89ea10d3f3b9deb2d1d4f2710bb81f8b9d644 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 4 Aug 2012 16:13:25 +0100 Subject: [PATCH] echopair double thing --- Marlin/EEPROMwrite.h | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/Marlin/EEPROMwrite.h b/Marlin/EEPROMwrite.h index 96e2ec9..96791c7 100644 --- a/Marlin/EEPROMwrite.h +++ b/Marlin/EEPROMwrite.h @@ -75,25 +75,34 @@ inline void EEPROM_StoreSettings() } +static void serial_echopair_double(const PROGMEM char *s, double v) { + serialprintPGM(s); + SERIAL_ECHO(v); +} + +#define SERIAL_ECHOPAIR_DOUBLE(s,v) \ + ((void)(&(v) == &acceleration), /* type check */ \ + serial_echopair_double(PSTR(s),(v))) + inline void EEPROM_printSettings() { // if def=true, the default values will be used #ifdef EEPROM_SETTINGS SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Steps per unit:"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M92 X",axis_steps_per_unit[0]); - SERIAL_ECHOPAIR(" Y",axis_steps_per_unit[1]); - SERIAL_ECHOPAIR(" Z",axis_steps_per_unit[2]); - SERIAL_ECHOPAIR(" E",axis_steps_per_unit[3]); + SERIAL_ECHOPAIR_DOUBLE(" M92 X",axis_steps_per_unit[0]); + SERIAL_ECHOPAIR_DOUBLE(" Y",axis_steps_per_unit[1]); + SERIAL_ECHOPAIR_DOUBLE(" Z",axis_steps_per_unit[2]); + SERIAL_ECHOPAIR_DOUBLE(" E",axis_steps_per_unit[3]); SERIAL_ECHOLN(""); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M203 X",max_feedrate[0]); - SERIAL_ECHOPAIR(" Y",max_feedrate[1] ); - SERIAL_ECHOPAIR(" Z", max_feedrate[2] ); - SERIAL_ECHOPAIR(" E", max_feedrate[3]); + SERIAL_ECHOPAIR_DOUBLE(" M203 X",max_feedrate[0]); + SERIAL_ECHOPAIR_DOUBLE(" Y",max_feedrate[1] ); + SERIAL_ECHOPAIR_DOUBLE(" Z", max_feedrate[2] ); + SERIAL_ECHOPAIR_DOUBLE(" E", max_feedrate[3]); SERIAL_ECHOLN(""); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):"); @@ -106,24 +115,24 @@ inline void EEPROM_printSettings() SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M204 S",acceleration ); - SERIAL_ECHOPAIR(" T" ,retract_acceleration); + SERIAL_ECHOPAIR_DOUBLE(" M204 S",acceleration ); + SERIAL_ECHOPAIR_DOUBLE(" T" ,retract_acceleration); SERIAL_ECHOLN(""); SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm/s)"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M205 S",minimumfeedrate ); - SERIAL_ECHOPAIR(" T" ,mintravelfeedrate ); + SERIAL_ECHOPAIR_DOUBLE(" M205 S",minimumfeedrate ); + SERIAL_ECHOPAIR_DOUBLE(" T" ,mintravelfeedrate ); SERIAL_ECHOPAIR(" B" ,minsegmenttime ); - SERIAL_ECHOPAIR(" X" ,max_xy_jerk ); - SERIAL_ECHOPAIR(" Z" ,max_z_jerk); - SERIAL_ECHOPAIR(" E" ,max_e_jerk); + SERIAL_ECHOPAIR_DOUBLE(" X" ,max_xy_jerk ); + SERIAL_ECHOPAIR_DOUBLE(" Z" ,max_z_jerk); + SERIAL_ECHOPAIR_DOUBLE(" E" ,max_e_jerk); SERIAL_ECHOLN(""); #ifdef PIDTEMP SERIAL_ECHO_START; SERIAL_ECHOLNPGM("PID settings:"); SERIAL_ECHO_START; - SERIAL_ECHOPAIR(" M301 P",Kp); + SERIAL_ECHOPAIR_DOUBLE(" M301 P",Kp); SERIAL_ECHOPAIR(" I" ,Ki/PID_dT); SERIAL_ECHOPAIR(" D" ,Kd*PID_dT); SERIAL_ECHOLN(""); -- 2.30.2