|
|
@ -60,35 +60,34 @@
|
|
|
|
#include "stopwatch.h"
|
|
|
|
#include "stopwatch.h"
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#define SERIAL_CHAR(x) MYSERIAL.write(x)
|
|
|
|
|
|
|
|
#define SERIAL_EOL SERIAL_CHAR('\n')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLCHAR(x) SERIAL_CHAR(x)
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOL(x) MYSERIAL.print(x)
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOL_F(x,y) MYSERIAL.print(x,y)
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLPGM(x) serialprintPGM(PSTR(x))
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLLN(x) do{ MYSERIAL.print(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)
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLLNPAIR(name, value) do{ SERIAL_ECHOPAIR(name, value); SERIAL_EOL; }while(0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern const char errormagic[] PROGMEM;
|
|
|
|
|
|
|
|
extern const char echomagic[] PROGMEM;
|
|
|
|
extern const char echomagic[] PROGMEM;
|
|
|
|
|
|
|
|
extern const char errormagic[] PROGMEM;
|
|
|
|
|
|
|
|
|
|
|
|
#define SERIAL_ERROR_START serialprintPGM(errormagic)
|
|
|
|
#define SERIAL_CHAR(x) (MYSERIAL.write(x))
|
|
|
|
#define SERIAL_ERROR(x) SERIAL_PROTOCOL(x)
|
|
|
|
#define SERIAL_EOL SERIAL_CHAR('\n')
|
|
|
|
#define SERIAL_ERRORPGM(x) SERIAL_PROTOCOLPGM(x)
|
|
|
|
|
|
|
|
#define SERIAL_ERRORLN(x) SERIAL_PROTOCOLLN(x)
|
|
|
|
|
|
|
|
#define SERIAL_ERRORLNPGM(x) SERIAL_PROTOCOLLNPGM(x)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define SERIAL_ECHO_START serialprintPGM(echomagic)
|
|
|
|
|
|
|
|
#define SERIAL_ECHO(x) SERIAL_PROTOCOL(x)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOPGM(x) SERIAL_PROTOCOLPGM(x)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOLN(x) SERIAL_PROTOCOLLN(x)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOLNPGM(x) SERIAL_PROTOCOLLNPGM(x)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define SERIAL_ECHOPAIR(name,value) (serial_echopair_P(PSTR(name),(value)))
|
|
|
|
#define SERIAL_PROTOCOLCHAR(x) SERIAL_CHAR(x)
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOL(x) (MYSERIAL.print(x))
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOL_F(x,y) (MYSERIAL.print(x,y))
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLPGM(x) (serialprintPGM(PSTR(x)))
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLLN(x) do{ MYSERIAL.print(x); SERIAL_EOL; }while(0)
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLLNPGM(x) (serialprintPGM(PSTR(x "\n")))
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLPAIR(name, value) (serial_echopair_P(PSTR(name),(value)))
|
|
|
|
|
|
|
|
#define SERIAL_PROTOCOLLNPAIR(name, value) do{ SERIAL_PROTOCOLPAIR(name, value); SERIAL_EOL; }while(0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define SERIAL_ECHO_START (serialprintPGM(echomagic))
|
|
|
|
|
|
|
|
#define SERIAL_ECHO(x) SERIAL_PROTOCOL(x)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOPGM(x) SERIAL_PROTOCOLPGM(x)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOLN(x) SERIAL_PROTOCOLLN(x)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOLNPGM(x) SERIAL_PROTOCOLLNPGM(x)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOPAIR(name,value) SERIAL_PROTOCOLPAIR(name, value)
|
|
|
|
|
|
|
|
#define SERIAL_ECHOLNPAIR(name, value) SERIAL_PROTOCOLLNPAIR(name, value)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define SERIAL_ERROR_START (serialprintPGM(errormagic))
|
|
|
|
|
|
|
|
#define SERIAL_ERROR(x) SERIAL_PROTOCOL(x)
|
|
|
|
|
|
|
|
#define SERIAL_ERRORPGM(x) SERIAL_PROTOCOLPGM(x)
|
|
|
|
|
|
|
|
#define SERIAL_ERRORLN(x) SERIAL_PROTOCOLLN(x)
|
|
|
|
|
|
|
|
#define SERIAL_ERRORLNPGM(x) SERIAL_PROTOCOLLNPGM(x)
|
|
|
|
|
|
|
|
|
|
|
|
void serial_echopair_P(const char* s_P, const char *v);
|
|
|
|
void serial_echopair_P(const char* s_P, const char *v);
|
|
|
|
void serial_echopair_P(const char* s_P, char v);
|
|
|
|
void serial_echopair_P(const char* s_P, char v);
|
|
|
|