30
30
// Public Methods //////////////////////////////////////////////////////////////
32
32
/* default implementation: may be overridden */
33
void Print::write(const char *str)
39
/* default implementation: may be overridden */
40
void Print::write(const uint8_t *buffer, size_t size)
46
void Print::print(const __FlashStringHelper *ifsh)
48
const prog_char *p = (const prog_char *)ifsh;
33
size_t Print::write(const uint8_t *buffer, size_t size)
37
n += write(*buffer++);
42
size_t Print::print(const __FlashStringHelper *ifsh)
44
const char PROGMEM *p = (const char PROGMEM *)ifsh;
50
47
unsigned char c = pgm_read_byte(p++);
56
void Print::print(const String &s)
58
for (int i = 0; i < s.length(); i++) {
63
void Print::print(const char str[])
68
void Print::print(char c)
73
void Print::print(unsigned char b, int base)
75
print((unsigned long) b, base);
78
void Print::print(int n, int base)
80
print((long) n, base);
83
void Print::print(unsigned int n, int base)
85
print((unsigned long) n, base);
88
void Print::print(long n, int base)
54
size_t Print::print(const String &s)
57
for (uint16_t i = 0; i < s.length(); i++) {
63
size_t Print::print(const char str[])
68
size_t Print::print(char c)
73
size_t Print::print(unsigned char b, int base)
75
return print((unsigned long) b, base);
78
size_t Print::print(int n, int base)
80
return print((long) n, base);
83
size_t Print::print(unsigned int n, int base)
85
return print((unsigned long) n, base);
88
size_t Print::print(long n, int base)
92
92
} else if (base == 10) {
96
return printNumber(n, 10) + t;
98
return printNumber(n, 10);
100
return printNumber(n, base);
103
void Print::print(unsigned long n, int base)
105
if (base == 0) write(n);
106
else printNumber(n, base);
109
void Print::print(double n, int digits)
111
printFloat(n, digits);
114
void Print::println(const __FlashStringHelper *ifsh)
120
void Print::println(void)
126
void Print::println(const String &s)
132
void Print::println(const char c[])
138
void Print::println(char c)
144
void Print::println(unsigned char b, int base)
150
void Print::println(int n, int base)
156
void Print::println(unsigned int n, int base)
162
void Print::println(long n, int base)
168
void Print::println(unsigned long n, int base)
174
void Print::println(double n, int digits)
104
size_t Print::print(unsigned long n, int base)
106
if (base == 0) return write(n);
107
else return printNumber(n, base);
110
size_t Print::print(double n, int digits)
112
return printFloat(n, digits);
115
size_t Print::println(const __FlashStringHelper *ifsh)
117
size_t n = print(ifsh);
122
size_t Print::print(const Printable& x)
124
return x.printTo(*this);
127
size_t Print::println(void)
129
size_t n = print('\r');
134
size_t Print::println(const String &s)
141
size_t Print::println(const char c[])
148
size_t Print::println(char c)
155
size_t Print::println(unsigned char b, int base)
157
size_t n = print(b, base);
162
size_t Print::println(int num, int base)
164
size_t n = print(num, base);
169
size_t Print::println(unsigned int num, int base)
171
size_t n = print(num, base);
176
size_t Print::println(long num, int base)
178
size_t n = print(num, base);
183
size_t Print::println(unsigned long num, int base)
185
size_t n = print(num, base);
190
size_t Print::println(double num, int digits)
192
size_t n = print(num, digits);
197
size_t Print::println(const Printable& x)
180
204
// Private Methods /////////////////////////////////////////////////////////////
182
void Print::printNumber(unsigned long n, uint8_t base) {
206
size_t Print::printNumber(unsigned long n, uint8_t base) {
183
207
char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte.
184
208
char *str = &buf[sizeof(buf) - 1];