Browse Source

FastSerial: added a vprintf_P() function

used by CLI on UART2
master
Andrew Tridgell 12 years ago
parent
commit
d44ceb3fa5
  1. 10
      libraries/FastSerial/BetterStream.cpp
  2. 5
      libraries/FastSerial/BetterStream.h

10
libraries/FastSerial/BetterStream.cpp

@ -44,15 +44,21 @@ BetterStream::printf(const char *fmt, ...) @@ -44,15 +44,21 @@ BetterStream::printf(const char *fmt, ...)
}
void
BetterStream::_printf_P(const prog_char *fmt, ...)
BetterStream::_printf_P(const prog_char_t *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
_vprintf(1, fmt, ap);
_vprintf(1, (const char *)fmt, ap);
va_end(ap);
}
void
BetterStream::vprintf_P(const prog_char_t *fmt, va_list ap)
{
_vprintf(1, (const char *)fmt, ap);
}
int
BetterStream::txspace(void)
{

5
libraries/FastSerial/BetterStream.h

@ -25,12 +25,13 @@ public: @@ -25,12 +25,13 @@ public:
void println_P(const prog_char_t *);
void printf(const char *, ...)
__attribute__ ((format(__printf__, 2, 3)));
void _printf_P(const prog_char *, ...);
void _printf_P(const prog_char_t *, ...);
__attribute__ ((format(__printf__, 2, 3)));
void vprintf_P(const prog_char_t *, va_list);
virtual int txspace(void);
#define printf_P(fmt, ...) _printf_P((const prog_char *)fmt, ## __VA_ARGS__)
#define printf_P(fmt, ...) _printf_P((const prog_char_t *)fmt, ## __VA_ARGS__)
private:
void _vprintf(unsigned char, const char *, va_list)

Loading…
Cancel
Save