Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of M2XStreamClient by
Print.cpp@21:6878944d2ce2, 2016-01-02 (annotated)
- Committer:
- citrusbyte
- Date:
- Sat Jan 02 02:29:43 2016 +0000
- Revision:
- 21:6878944d2ce2
- Parent:
- 0:f479e4f4db0e
Update library version
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| jb8414 | 0:f479e4f4db0e | 1 | #include "Print.h" |
| jb8414 | 0:f479e4f4db0e | 2 | #include "mbed.h" |
| jb8414 | 0:f479e4f4db0e | 3 | |
| jb8414 | 0:f479e4f4db0e | 4 | #include <stdio.h> |
| jb8414 | 0:f479e4f4db0e | 5 | #include <string.h> |
| jb8414 | 0:f479e4f4db0e | 6 | |
| jb8414 | 0:f479e4f4db0e | 7 | size_t Print::write(const uint8_t* buf, size_t size) { |
| jb8414 | 0:f479e4f4db0e | 8 | size_t ret = 0; |
| jb8414 | 0:f479e4f4db0e | 9 | while (size--) { |
| jb8414 | 0:f479e4f4db0e | 10 | ret += write(*buf++); |
| jb8414 | 0:f479e4f4db0e | 11 | } |
| jb8414 | 0:f479e4f4db0e | 12 | return ret; |
| jb8414 | 0:f479e4f4db0e | 13 | } |
| jb8414 | 0:f479e4f4db0e | 14 | |
| jb8414 | 0:f479e4f4db0e | 15 | size_t Print::print(const char* s) { |
| jb8414 | 0:f479e4f4db0e | 16 | return write((const uint8_t*)s, strlen(s)); |
| jb8414 | 0:f479e4f4db0e | 17 | } |
| jb8414 | 0:f479e4f4db0e | 18 | |
| jb8414 | 0:f479e4f4db0e | 19 | size_t Print::print(char c) { |
| jb8414 | 0:f479e4f4db0e | 20 | return write(c); |
| jb8414 | 0:f479e4f4db0e | 21 | } |
| jb8414 | 0:f479e4f4db0e | 22 | |
| jb8414 | 0:f479e4f4db0e | 23 | size_t Print::print(int n) { |
| jb8414 | 0:f479e4f4db0e | 24 | return print((long) n); |
| jb8414 | 0:f479e4f4db0e | 25 | } |
| jb8414 | 0:f479e4f4db0e | 26 | |
| jb8414 | 0:f479e4f4db0e | 27 | size_t Print::print(long n) { |
| jb8414 | 0:f479e4f4db0e | 28 | char buf[8 * sizeof(long) + 1]; |
| jb8414 | 0:f479e4f4db0e | 29 | snprintf(buf, sizeof(buf), "%ld", n); |
| jb8414 | 0:f479e4f4db0e | 30 | return print(buf); |
| jb8414 | 0:f479e4f4db0e | 31 | } |
| jb8414 | 0:f479e4f4db0e | 32 | |
| jb8414 | 0:f479e4f4db0e | 33 | // Digits are ignored for now |
| jb8414 | 0:f479e4f4db0e | 34 | size_t Print::print(double n, int digits) { |
| jb8414 | 0:f479e4f4db0e | 35 | char buf[65]; |
| jb8414 | 0:f479e4f4db0e | 36 | snprintf(buf, sizeof(buf), "%g", n); |
| jb8414 | 0:f479e4f4db0e | 37 | return print(buf); |
| jb8414 | 0:f479e4f4db0e | 38 | } |
| jb8414 | 0:f479e4f4db0e | 39 | |
| jb8414 | 0:f479e4f4db0e | 40 | size_t Print::println(const char* s) { |
| jb8414 | 0:f479e4f4db0e | 41 | return print(s) + println(); |
| jb8414 | 0:f479e4f4db0e | 42 | } |
| jb8414 | 0:f479e4f4db0e | 43 | |
| jb8414 | 0:f479e4f4db0e | 44 | size_t Print::println(char c) { |
| jb8414 | 0:f479e4f4db0e | 45 | return print(c) + println(); |
| jb8414 | 0:f479e4f4db0e | 46 | } |
| jb8414 | 0:f479e4f4db0e | 47 | |
| jb8414 | 0:f479e4f4db0e | 48 | size_t Print::println(int n) { |
| jb8414 | 0:f479e4f4db0e | 49 | return print(n) + println(); |
| jb8414 | 0:f479e4f4db0e | 50 | } |
| jb8414 | 0:f479e4f4db0e | 51 | |
| jb8414 | 0:f479e4f4db0e | 52 | size_t Print::println(long n) { |
| jb8414 | 0:f479e4f4db0e | 53 | return print(n) + println(); |
| jb8414 | 0:f479e4f4db0e | 54 | } |
| jb8414 | 0:f479e4f4db0e | 55 | |
| jb8414 | 0:f479e4f4db0e | 56 | size_t Print::println(double n, int digits) { |
| jb8414 | 0:f479e4f4db0e | 57 | return print(n, digits) + println(); |
| jb8414 | 0:f479e4f4db0e | 58 | } |
| jb8414 | 0:f479e4f4db0e | 59 | |
| jb8414 | 0:f479e4f4db0e | 60 | size_t Print::println() { |
| jb8414 | 0:f479e4f4db0e | 61 | return print('\r') + print('\n'); |
| jb8414 | 0:f479e4f4db0e | 62 | } |
