UIPEthernet library for Arduino IDE, Eclipse with arduino plugin and MBED/SMeshStudio (AVR,STM32F,ESP8266,Intel ARC32,Nordic nRF51,Teensy boards,Realtek Ameba(RTL8195A,RTL8710)), ENC28j60 network chip. Compatible with Wiznet W5100 Ethernet library API. Compiled and tested on Nucleo-F302R8. Master repository is: https://github.com/UIPEthernet/UIPEthernet/
mbed/Print.h@39:deeb00b81cc9, 2018-01-23 (annotated)
- Committer:
- cassyarduino
- Date:
- Tue Jan 23 15:08:43 2018 +0100
- Revision:
- 39:deeb00b81cc9
- Parent:
- 35:f9f3a91fe4d4
Release: 2.0.4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cassyarduino | 7:ef1f092165eb | 1 | /* |
cassyarduino | 7:ef1f092165eb | 2 | Print.h - Base class that provides print() and println() |
cassyarduino | 7:ef1f092165eb | 3 | Copyright (c) 2008 David A. Mellis. All right reserved. |
cassyarduino | 7:ef1f092165eb | 4 | |
cassyarduino | 7:ef1f092165eb | 5 | This library is free software; you can redistribute it and/or |
cassyarduino | 7:ef1f092165eb | 6 | modify it under the terms of the GNU Lesser General Public |
cassyarduino | 7:ef1f092165eb | 7 | License as published by the Free Software Foundation; either |
cassyarduino | 7:ef1f092165eb | 8 | version 2.1 of the License, or (at your option) any later version. |
cassyarduino | 7:ef1f092165eb | 9 | |
cassyarduino | 7:ef1f092165eb | 10 | This library is distributed in the hope that it will be useful, |
cassyarduino | 7:ef1f092165eb | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
cassyarduino | 7:ef1f092165eb | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
cassyarduino | 7:ef1f092165eb | 13 | Lesser General Public License for more details. |
cassyarduino | 7:ef1f092165eb | 14 | |
cassyarduino | 7:ef1f092165eb | 15 | You should have received a copy of the GNU Lesser General Public |
cassyarduino | 7:ef1f092165eb | 16 | License along with this library; if not, write to the Free Software |
cassyarduino | 7:ef1f092165eb | 17 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
cassyarduino | 7:ef1f092165eb | 18 | */ |
cassyarduino | 35:f9f3a91fe4d4 | 19 | #if !defined(ARDUINO_ARCH_AVR) && !defined(ARDUINO_ARCH_SAM) |
cassyarduino | 7:ef1f092165eb | 20 | |
cassyarduino | 7:ef1f092165eb | 21 | #ifndef Print_h |
cassyarduino | 7:ef1f092165eb | 22 | #define Print_h |
cassyarduino | 7:ef1f092165eb | 23 | |
cassyarduino | 35:f9f3a91fe4d4 | 24 | #if defined(__MBED__) |
cassyarduino | 35:f9f3a91fe4d4 | 25 | #include <mbed.h> |
cassyarduino | 35:f9f3a91fe4d4 | 26 | #endif |
cassyarduino | 8:b9332109461d | 27 | #ifdef YOTTA_CFG |
cassyarduino | 8:b9332109461d | 28 | #include "core-util/FunctionPointer.h" |
cassyarduino | 8:b9332109461d | 29 | using namespace mbed; |
cassyarduino | 8:b9332109461d | 30 | using namespace mbed::util; |
cassyarduino | 8:b9332109461d | 31 | #endif |
cassyarduino | 8:b9332109461d | 32 | |
cassyarduino | 7:ef1f092165eb | 33 | #include <inttypes.h> |
cassyarduino | 7:ef1f092165eb | 34 | #include <stdio.h> // for size_t |
cassyarduino | 7:ef1f092165eb | 35 | |
cassyarduino | 35:f9f3a91fe4d4 | 36 | #if defined(__MBED__) |
cassyarduino | 35:f9f3a91fe4d4 | 37 | #include "mbed/WString.h" |
cassyarduino | 35:f9f3a91fe4d4 | 38 | #include "mbed/Printable.h" |
cassyarduino | 35:f9f3a91fe4d4 | 39 | #endif |
cassyarduino | 35:f9f3a91fe4d4 | 40 | #if defined(ARDUINO) |
cassyarduino | 35:f9f3a91fe4d4 | 41 | #include "WString.h" |
cassyarduino | 35:f9f3a91fe4d4 | 42 | #include "Printable.h" |
cassyarduino | 35:f9f3a91fe4d4 | 43 | #endif |
cassyarduino | 7:ef1f092165eb | 44 | |
cassyarduino | 7:ef1f092165eb | 45 | #define DEC 10 |
cassyarduino | 7:ef1f092165eb | 46 | #define HEX 16 |
cassyarduino | 7:ef1f092165eb | 47 | #define OCT 8 |
cassyarduino | 7:ef1f092165eb | 48 | #define BIN 2 |
cassyarduino | 7:ef1f092165eb | 49 | |
cassyarduino | 7:ef1f092165eb | 50 | class Print |
cassyarduino | 7:ef1f092165eb | 51 | { |
cassyarduino | 7:ef1f092165eb | 52 | private: |
cassyarduino | 7:ef1f092165eb | 53 | int write_error; |
cassyarduino | 7:ef1f092165eb | 54 | size_t printNumber(unsigned long, uint8_t); |
cassyarduino | 7:ef1f092165eb | 55 | size_t printFloat(double, uint8_t); |
cassyarduino | 7:ef1f092165eb | 56 | protected: |
cassyarduino | 7:ef1f092165eb | 57 | void setWriteError(int err = 1) { write_error = err; } |
cassyarduino | 7:ef1f092165eb | 58 | public: |
cassyarduino | 7:ef1f092165eb | 59 | Print() : write_error(0) {} |
cassyarduino | 8:b9332109461d | 60 | |
cassyarduino | 7:ef1f092165eb | 61 | int getWriteError() { return write_error; } |
cassyarduino | 7:ef1f092165eb | 62 | void clearWriteError() { setWriteError(0); } |
cassyarduino | 7:ef1f092165eb | 63 | |
cassyarduino | 8:b9332109461d | 64 | virtual size_t write(uint8_t)= 0; |
cassyarduino | 7:ef1f092165eb | 65 | size_t write(const char *str) { |
cassyarduino | 7:ef1f092165eb | 66 | if (str == NULL) return 0; |
cassyarduino | 7:ef1f092165eb | 67 | return write((const uint8_t *)str, strlen(str)); |
cassyarduino | 7:ef1f092165eb | 68 | } |
cassyarduino | 7:ef1f092165eb | 69 | virtual size_t write(const uint8_t *buffer, size_t size); |
cassyarduino | 7:ef1f092165eb | 70 | size_t write(const char *buffer, size_t size) { |
cassyarduino | 7:ef1f092165eb | 71 | return write((const uint8_t *)buffer, size); |
cassyarduino | 7:ef1f092165eb | 72 | } |
cassyarduino | 7:ef1f092165eb | 73 | |
cassyarduino | 7:ef1f092165eb | 74 | size_t print(const __FlashStringHelper *); |
cassyarduino | 7:ef1f092165eb | 75 | size_t print(const String &); |
cassyarduino | 7:ef1f092165eb | 76 | size_t print(const char[]); |
cassyarduino | 7:ef1f092165eb | 77 | size_t print(char); |
cassyarduino | 7:ef1f092165eb | 78 | size_t print(unsigned char, int = DEC); |
cassyarduino | 7:ef1f092165eb | 79 | size_t print(int, int = DEC); |
cassyarduino | 7:ef1f092165eb | 80 | size_t print(unsigned int, int = DEC); |
cassyarduino | 7:ef1f092165eb | 81 | size_t print(long, int = DEC); |
cassyarduino | 7:ef1f092165eb | 82 | size_t print(unsigned long, int = DEC); |
cassyarduino | 7:ef1f092165eb | 83 | size_t print(double, int = 2); |
cassyarduino | 7:ef1f092165eb | 84 | size_t print(const Printable&); |
cassyarduino | 7:ef1f092165eb | 85 | |
cassyarduino | 7:ef1f092165eb | 86 | size_t println(const __FlashStringHelper *); |
cassyarduino | 7:ef1f092165eb | 87 | size_t println(const String &s); |
cassyarduino | 7:ef1f092165eb | 88 | size_t println(const char[]); |
cassyarduino | 7:ef1f092165eb | 89 | size_t println(char); |
cassyarduino | 7:ef1f092165eb | 90 | size_t println(unsigned char, int = DEC); |
cassyarduino | 7:ef1f092165eb | 91 | size_t println(int, int = DEC); |
cassyarduino | 7:ef1f092165eb | 92 | size_t println(unsigned int, int = DEC); |
cassyarduino | 7:ef1f092165eb | 93 | size_t println(long, int = DEC); |
cassyarduino | 7:ef1f092165eb | 94 | size_t println(unsigned long, int = DEC); |
cassyarduino | 7:ef1f092165eb | 95 | size_t println(double, int = 2); |
cassyarduino | 7:ef1f092165eb | 96 | size_t println(const Printable&); |
cassyarduino | 7:ef1f092165eb | 97 | size_t println(void); |
cassyarduino | 7:ef1f092165eb | 98 | }; |
cassyarduino | 7:ef1f092165eb | 99 | |
cassyarduino | 7:ef1f092165eb | 100 | #endif |
cassyarduino | 35:f9f3a91fe4d4 | 101 | #endif |