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@5:ea68c8980ad8, 2013-10-24 (annotated)
- Committer:
- citrusbyte
- Date:
- Thu Oct 24 12:22:33 2013 +0000
- Revision:
- 5:ea68c8980ad8
Initial commit for M2X mbed client library
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| citrusbyte | 5:ea68c8980ad8 | 1 | #include "Print.h" |
| citrusbyte | 5:ea68c8980ad8 | 2 | #include "mbed.h" |
| citrusbyte | 5:ea68c8980ad8 | 3 | |
| citrusbyte | 5:ea68c8980ad8 | 4 | #include <stdio.h> |
| citrusbyte | 5:ea68c8980ad8 | 5 | #include <string.h> |
| citrusbyte | 5:ea68c8980ad8 | 6 | |
| citrusbyte | 5:ea68c8980ad8 | 7 | size_t Print::write(const uint8_t* buf, size_t size) { |
| citrusbyte | 5:ea68c8980ad8 | 8 | size_t ret = 0; |
| citrusbyte | 5:ea68c8980ad8 | 9 | while (size--) { |
| citrusbyte | 5:ea68c8980ad8 | 10 | ret += write(*buf++); |
| citrusbyte | 5:ea68c8980ad8 | 11 | } |
| citrusbyte | 5:ea68c8980ad8 | 12 | return ret; |
| citrusbyte | 5:ea68c8980ad8 | 13 | } |
| citrusbyte | 5:ea68c8980ad8 | 14 | |
| citrusbyte | 5:ea68c8980ad8 | 15 | size_t Print::print(const char* s) { |
| citrusbyte | 5:ea68c8980ad8 | 16 | return write((const uint8_t*)s, strlen(s)); |
| citrusbyte | 5:ea68c8980ad8 | 17 | } |
| citrusbyte | 5:ea68c8980ad8 | 18 | |
| citrusbyte | 5:ea68c8980ad8 | 19 | size_t Print::print(char c) { |
| citrusbyte | 5:ea68c8980ad8 | 20 | return write(c); |
| citrusbyte | 5:ea68c8980ad8 | 21 | } |
| citrusbyte | 5:ea68c8980ad8 | 22 | |
| citrusbyte | 5:ea68c8980ad8 | 23 | size_t Print::print(int n) { |
| citrusbyte | 5:ea68c8980ad8 | 24 | return print((long) n); |
| citrusbyte | 5:ea68c8980ad8 | 25 | } |
| citrusbyte | 5:ea68c8980ad8 | 26 | |
| citrusbyte | 5:ea68c8980ad8 | 27 | size_t Print::print(long n) { |
| citrusbyte | 5:ea68c8980ad8 | 28 | char buf[8 * sizeof(long) + 1]; |
| citrusbyte | 5:ea68c8980ad8 | 29 | snprintf(buf, sizeof(buf), "%ld", n); |
| citrusbyte | 5:ea68c8980ad8 | 30 | return print(buf); |
| citrusbyte | 5:ea68c8980ad8 | 31 | } |
| citrusbyte | 5:ea68c8980ad8 | 32 | |
| citrusbyte | 5:ea68c8980ad8 | 33 | // Digits are ignored for now |
| citrusbyte | 5:ea68c8980ad8 | 34 | size_t Print::print(double n, int digits) { |
| citrusbyte | 5:ea68c8980ad8 | 35 | char buf[65]; |
| citrusbyte | 5:ea68c8980ad8 | 36 | snprintf(buf, sizeof(buf), "%g", n); |
| citrusbyte | 5:ea68c8980ad8 | 37 | return print(buf); |
| citrusbyte | 5:ea68c8980ad8 | 38 | } |
| citrusbyte | 5:ea68c8980ad8 | 39 | |
| citrusbyte | 5:ea68c8980ad8 | 40 | size_t Print::println(const char* s) { |
| citrusbyte | 5:ea68c8980ad8 | 41 | return print(s) + println(); |
| citrusbyte | 5:ea68c8980ad8 | 42 | } |
| citrusbyte | 5:ea68c8980ad8 | 43 | |
| citrusbyte | 5:ea68c8980ad8 | 44 | size_t Print::println(char c) { |
| citrusbyte | 5:ea68c8980ad8 | 45 | return print(c) + println(); |
| citrusbyte | 5:ea68c8980ad8 | 46 | } |
| citrusbyte | 5:ea68c8980ad8 | 47 | |
| citrusbyte | 5:ea68c8980ad8 | 48 | size_t Print::println(int n) { |
| citrusbyte | 5:ea68c8980ad8 | 49 | return print(n) + println(); |
| citrusbyte | 5:ea68c8980ad8 | 50 | } |
| citrusbyte | 5:ea68c8980ad8 | 51 | |
| citrusbyte | 5:ea68c8980ad8 | 52 | size_t Print::println(long n) { |
| citrusbyte | 5:ea68c8980ad8 | 53 | return print(n) + println(); |
| citrusbyte | 5:ea68c8980ad8 | 54 | } |
| citrusbyte | 5:ea68c8980ad8 | 55 | |
| citrusbyte | 5:ea68c8980ad8 | 56 | size_t Print::println(double n, int digits) { |
| citrusbyte | 5:ea68c8980ad8 | 57 | return print(n, digits) + println(); |
| citrusbyte | 5:ea68c8980ad8 | 58 | } |
| citrusbyte | 5:ea68c8980ad8 | 59 | |
| citrusbyte | 5:ea68c8980ad8 | 60 | size_t Print::println() { |
| citrusbyte | 5:ea68c8980ad8 | 61 | return print('\r') + print('\n'); |
| citrusbyte | 5:ea68c8980ad8 | 62 | } |
| citrusbyte | 5:ea68c8980ad8 | 63 |
