1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-08 17:02:26 +03:00

Move some code to flash and fix prototypes

This commit is contained in:
Ivan Grokhotkov
2014-12-01 00:34:59 +03:00
parent ea599139d5
commit 160f99c31c
5 changed files with 190 additions and 187 deletions

View File

@ -26,14 +26,14 @@
#include "Arduino.h"
#include "Print.h"
extern "C" {
#include "c_types.h"
}
// Public Methods //////////////////////////////////////////////////////////////
/* default implementation: may be overridden */
size_t Print::write(const uint8_t *buffer, size_t size)
size_t ICACHE_FLASH_ATTR Print::write(const uint8_t *buffer, size_t size)
{
size_t n = 0;
while (size--) {
@ -42,37 +42,37 @@ size_t Print::write(const uint8_t *buffer, size_t size)
return n;
}
size_t Print::print(const String &s)
size_t ICACHE_FLASH_ATTR Print::print(const String &s)
{
return write(s.c_str(), s.length());
}
size_t Print::print(const char str[])
size_t ICACHE_FLASH_ATTR Print::print(const char str[])
{
return write(str);
}
size_t Print::print(char c)
size_t ICACHE_FLASH_ATTR Print::print(char c)
{
return write(c);
}
size_t Print::print(unsigned char b, int base)
size_t ICACHE_FLASH_ATTR Print::print(unsigned char b, int base)
{
return print((unsigned long) b, base);
}
size_t Print::print(int n, int base)
size_t ICACHE_FLASH_ATTR Print::print(int n, int base)
{
return print((long) n, base);
}
size_t Print::print(unsigned int n, int base)
size_t ICACHE_FLASH_ATTR Print::print(unsigned int n, int base)
{
return print((unsigned long) n, base);
}
size_t Print::print(long n, int base)
size_t ICACHE_FLASH_ATTR Print::print(long n, int base)
{
if (base == 0) {
return write(n);
@ -88,93 +88,92 @@ size_t Print::print(long n, int base)
}
}
size_t Print::print(unsigned long n, int base)
size_t ICACHE_FLASH_ATTR Print::print(unsigned long n, int base)
{
if (base == 0) return write(n);
else return printNumber(n, base);
}
size_t Print::print(double n, int digits)
size_t ICACHE_FLASH_ATTR Print::print(double n, int digits)
{
return printFloat(n, digits);
}
size_t Print::print(const Printable& x)
size_t ICACHE_FLASH_ATTR Print::print(const Printable& x)
{
return x.printTo(*this);
}
size_t Print::println(void)
size_t ICACHE_FLASH_ATTR Print::println(void)
{
size_t n = print('\r');
n += print('\n');
size_t n = print("\r\n");
return n;
}
size_t Print::println(const String &s)
size_t ICACHE_FLASH_ATTR Print::println(const String &s)
{
size_t n = print(s);
n += println();
return n;
}
size_t Print::println(const char c[])
size_t ICACHE_FLASH_ATTR Print::println(const char c[])
{
size_t n = print(c);
n += println();
return n;
}
size_t Print::println(char c)
size_t ICACHE_FLASH_ATTR Print::println(char c)
{
size_t n = print(c);
n += println();
return n;
}
size_t Print::println(unsigned char b, int base)
size_t ICACHE_FLASH_ATTR Print::println(unsigned char b, int base)
{
size_t n = print(b, base);
n += println();
return n;
}
size_t Print::println(int num, int base)
size_t ICACHE_FLASH_ATTR Print::println(int num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}
size_t Print::println(unsigned int num, int base)
size_t ICACHE_FLASH_ATTR Print::println(unsigned int num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}
size_t Print::println(long num, int base)
size_t ICACHE_FLASH_ATTR Print::println(long num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}
size_t Print::println(unsigned long num, int base)
size_t ICACHE_FLASH_ATTR Print::println(unsigned long num, int base)
{
size_t n = print(num, base);
n += println();
return n;
}
size_t Print::println(double num, int digits)
size_t ICACHE_FLASH_ATTR Print::println(double num, int digits)
{
size_t n = print(num, digits);
n += println();
return n;
}
size_t Print::println(const Printable& x)
size_t ICACHE_FLASH_ATTR Print::println(const Printable& x)
{
size_t n = print(x);
n += println();
@ -183,7 +182,7 @@ size_t Print::println(const Printable& x)
// Private Methods /////////////////////////////////////////////////////////////
size_t Print::printNumber(unsigned long n, uint8_t base) {
size_t ICACHE_FLASH_ATTR Print::printNumber(unsigned long n, uint8_t base) {
char buf[8 * sizeof(long) + 1]; // Assumes 8-bit chars plus zero byte.
char *str = &buf[sizeof(buf) - 1];
@ -202,7 +201,7 @@ size_t Print::printNumber(unsigned long n, uint8_t base) {
return write(str);
}
size_t Print::printFloat(double number, uint8_t digits)
size_t ICACHE_FLASH_ATTR Print::printFloat(double number, uint8_t digits)
{
size_t n = 0;