11/*
22 Print.cpp - Base class that provides print() and println()
33 Copyright (c) 2008 David A. Mellis. All right reserved.
4-
4+
55 This library is free software; you can redistribute it and/or
66 modify it under the terms of the GNU Lesser General Public
77 License as published by the Free Software Foundation; either
88 version 2.1 of the License, or (at your option) any later version.
9-
9+
1010 This library is distributed in the hope that it will be useful,
1111 but WITHOUT ANY WARRANTY; without even the implied warranty of
1212 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1313 Lesser General Public License for more details.
14-
14+
1515 You should have received a copy of the GNU Lesser General Public
1616 License along with this library; if not, write to the Free Software
1717 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18-
18+
1919 Modified 23 November 2006 by David A. Mellis
2020 Modified December 2014 by Ivan Grokhotkov
2121 Modified May 2015 by Michael C. Miller - esp8266 progmem support
2525#include < stdio.h>
2626#include < string.h>
2727#include < math.h>
28- #include " Arduino.h"
28+ #include < Arduino.h>
2929
3030#include " Print.h"
31- extern " C" {
32- #include " c_types.h"
33- #include " ets_sys.h"
34- }
3531
3632// Public Methods //////////////////////////////////////////////////////////////
3733
3834/* default implementation: may be overridden */
39- size_t ICACHE_FLASH_ATTR Print::write (const uint8_t *buffer, size_t size) {
35+ size_t Print::write (const uint8_t *buffer, size_t size) {
4036 size_t n = 0 ;
4137 while (size--) {
4238 n += write (*buffer++);
@@ -67,7 +63,7 @@ size_t Print::printf(const char *format, ...) {
6763 return len;
6864}
6965
70- size_t ICACHE_FLASH_ATTR Print::print (const __FlashStringHelper *ifsh) {
66+ size_t Print::print (const __FlashStringHelper *ifsh) {
7167 PGM_P p = reinterpret_cast <PGM_P>(ifsh);
7268
7369 size_t n = 0 ;
@@ -79,31 +75,31 @@ size_t ICACHE_FLASH_ATTR Print::print(const __FlashStringHelper *ifsh) {
7975 return n;
8076}
8177
82- size_t ICACHE_FLASH_ATTR Print::print (const String &s) {
78+ size_t Print::print (const String &s) {
8379 return write (s.c_str (), s.length ());
8480}
8581
86- size_t ICACHE_FLASH_ATTR Print::print (const char str[]) {
82+ size_t Print::print (const char str[]) {
8783 return write (str);
8884}
8985
90- size_t ICACHE_FLASH_ATTR Print::print (char c) {
86+ size_t Print::print (char c) {
9187 return write (c);
9288}
9389
94- size_t ICACHE_FLASH_ATTR Print::print (unsigned char b, int base) {
90+ size_t Print::print (unsigned char b, int base) {
9591 return print ((unsigned long ) b, base);
9692}
9793
98- size_t ICACHE_FLASH_ATTR Print::print (int n, int base) {
94+ size_t Print::print (int n, int base) {
9995 return print ((long ) n, base);
10096}
10197
102- size_t ICACHE_FLASH_ATTR Print::print (unsigned int n, int base) {
98+ size_t Print::print (unsigned int n, int base) {
10399 return print ((unsigned long ) n, base);
104100}
105101
106- size_t ICACHE_FLASH_ATTR Print::print (long n, int base) {
102+ size_t Print::print (long n, int base) {
107103 if (base == 0 ) {
108104 return write (n);
109105 } else if (base == 10 ) {
@@ -118,94 +114,94 @@ size_t ICACHE_FLASH_ATTR Print::print(long n, int base) {
118114 }
119115}
120116
121- size_t ICACHE_FLASH_ATTR Print::print (unsigned long n, int base) {
117+ size_t Print::print (unsigned long n, int base) {
122118 if (base == 0 )
123119 return write (n);
124120 else
125121 return printNumber (n, base);
126122}
127123
128- size_t ICACHE_FLASH_ATTR Print::print (double n, int digits) {
124+ size_t Print::print (double n, int digits) {
129125 return printFloat (n, digits);
130126}
131127
132- size_t ICACHE_FLASH_ATTR Print::println (const __FlashStringHelper *ifsh) {
128+ size_t Print::println (const __FlashStringHelper *ifsh) {
133129 size_t n = print (ifsh);
134130 n += println ();
135131 return n;
136132}
137133
138- size_t ICACHE_FLASH_ATTR Print::print (const Printable& x) {
134+ size_t Print::print (const Printable& x) {
139135 return x.printTo (*this );
140136}
141137
142- size_t ICACHE_FLASH_ATTR Print::println (void ) {
138+ size_t Print::println (void ) {
143139 return print (" \r\n " );
144140}
145141
146- size_t ICACHE_FLASH_ATTR Print::println (const String &s) {
142+ size_t Print::println (const String &s) {
147143 size_t n = print (s);
148144 n += println ();
149145 return n;
150146}
151147
152- size_t ICACHE_FLASH_ATTR Print::println (const char c[]) {
148+ size_t Print::println (const char c[]) {
153149 size_t n = print (c);
154150 n += println ();
155151 return n;
156152}
157153
158- size_t ICACHE_FLASH_ATTR Print::println (char c) {
154+ size_t Print::println (char c) {
159155 size_t n = print (c);
160156 n += println ();
161157 return n;
162158}
163159
164- size_t ICACHE_FLASH_ATTR Print::println (unsigned char b, int base) {
160+ size_t Print::println (unsigned char b, int base) {
165161 size_t n = print (b, base);
166162 n += println ();
167163 return n;
168164}
169165
170- size_t ICACHE_FLASH_ATTR Print::println (int num, int base) {
166+ size_t Print::println (int num, int base) {
171167 size_t n = print (num, base);
172168 n += println ();
173169 return n;
174170}
175171
176- size_t ICACHE_FLASH_ATTR Print::println (unsigned int num, int base) {
172+ size_t Print::println (unsigned int num, int base) {
177173 size_t n = print (num, base);
178174 n += println ();
179175 return n;
180176}
181177
182- size_t ICACHE_FLASH_ATTR Print::println (long num, int base) {
178+ size_t Print::println (long num, int base) {
183179 size_t n = print (num, base);
184180 n += println ();
185181 return n;
186182}
187183
188- size_t ICACHE_FLASH_ATTR Print::println (unsigned long num, int base) {
184+ size_t Print::println (unsigned long num, int base) {
189185 size_t n = print (num, base);
190186 n += println ();
191187 return n;
192188}
193189
194- size_t ICACHE_FLASH_ATTR Print::println (double num, int digits) {
190+ size_t Print::println (double num, int digits) {
195191 size_t n = print (num, digits);
196192 n += println ();
197193 return n;
198194}
199195
200- size_t ICACHE_FLASH_ATTR Print::println (const Printable& x) {
196+ size_t Print::println (const Printable& x) {
201197 size_t n = print (x);
202198 n += println ();
203199 return n;
204200}
205201
206202// Private Methods /////////////////////////////////////////////////////////////
207203
208- size_t ICACHE_FLASH_ATTR Print::printNumber (unsigned long n, uint8_t base) {
204+ size_t Print::printNumber (unsigned long n, uint8_t base) {
209205 char buf[8 * sizeof (long ) + 1 ]; // Assumes 8-bit chars plus zero byte.
210206 char *str = &buf[sizeof (buf) - 1 ];
211207
@@ -225,7 +221,7 @@ size_t ICACHE_FLASH_ATTR Print::printNumber(unsigned long n, uint8_t base) {
225221 return write (str);
226222}
227223
228- size_t ICACHE_FLASH_ATTR Print::printFloat (double number, uint8_t digits) {
224+ size_t Print::printFloat (double number, uint8_t digits) {
229225 size_t n = 0 ;
230226
231227 if (isnan (number))
0 commit comments