diff options
Diffstat (limited to 'cores')
-rwxr-xr-x | cores/arduino/Print.cpp | 7 | ||||
-rw-r--r-- | cores/arduino/WString.cpp | 4 | ||||
-rw-r--r-- | cores/arduino/WString.h | 1 | ||||
-rw-r--r-- | cores/arduino/wiring_analog.c | 2 |
4 files changed, 7 insertions, 7 deletions
diff --git a/cores/arduino/Print.cpp b/cores/arduino/Print.cpp index e087313..53961ec 100755 --- a/cores/arduino/Print.cpp +++ b/cores/arduino/Print.cpp @@ -53,8 +53,11 @@ size_t Print::print(const __FlashStringHelper *ifsh) size_t Print::print(const String &s) { - write((const uint8_t*)s.c_str(), s.length()); - return s.length(); + size_t n = 0; + for (uint16_t i = 0; i < s.length(); i++) { + n += write(s[i]); + } + return n; } size_t Print::print(const char str[]) diff --git a/cores/arduino/WString.cpp b/cores/arduino/WString.cpp index d05037b..c6839fc 100644 --- a/cores/arduino/WString.cpp +++ b/cores/arduino/WString.cpp @@ -642,8 +642,4 @@ long String::toInt(void) const return 0; } -char* String::c_str() const -{ - return buffer; -} diff --git a/cores/arduino/WString.h b/cores/arduino/WString.h index ec6cead..947325e 100644 --- a/cores/arduino/WString.h +++ b/cores/arduino/WString.h @@ -169,7 +169,6 @@ public: // parsing/conversion long toInt(void) const; - char* c_str() const; protected: char *buffer; // the actual char array diff --git a/cores/arduino/wiring_analog.c b/cores/arduino/wiring_analog.c index 23b01c6..3f19c7f 100644 --- a/cores/arduino/wiring_analog.c +++ b/cores/arduino/wiring_analog.c @@ -47,6 +47,8 @@ int analogRead(uint8_t pin) if (pin >= 18) pin -= 18; // allow for channel or pin numbers #elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__) if (pin >= 24) pin -= 24; // allow for channel or pin numbers +#elif defined(analogPinToChannel) && (defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__)) + pin = analogPinToChannel(pin); #else if (pin >= 14) pin -= 14; // allow for channel or pin numbers #endif |