|
34 | 34 |
|
35 | 35 |
|
36 | 36 | // for the function pointer to the actual write function |
37 | | -typedef size_t (*writefunc_p)(char c); |
| 37 | +typedef size_t (*writefunc_p)(uint8_t c); |
38 | 38 |
|
39 | | -// the actual used functions, mostly for internal use |
40 | | -size_t printBuf(writefunc_p writefunc, const uint8_t *buffer, size_t size); |
41 | | -size_t printStr(writefunc_p writefunc, const char *str); |
42 | | -size_t printNumber(writefunc_p writefunc, unsigned long n, uint8_t base); |
43 | | -size_t printInt(writefunc_p writefunc, long n, uint8_t base); |
44 | | -size_t println(writefunc_p writefunc); |
| 39 | +// abreviations of the actual function names, mostly for internal use |
| 40 | +#define printBuf Print_print_sn |
| 41 | +#define printStr Print_print_s |
| 42 | +#define printNumber Print_print_ub |
| 43 | +#define printInt Print_print_ib |
| 44 | +#define println Print_println |
45 | 45 |
|
46 | | -// the more sophisticated Arduino-Style functions: |
47 | 46 |
|
48 | | -//#define Print_write(B,N) printBuf(B,N) |
| 47 | +// the more sophisticated Arduino-Style functions. Variants of the standard |
| 48 | +// Serial.print() function: Separate impementations for different datatype |
| 49 | +// to mimic polymorphism. |
49 | 50 |
|
50 | | -// variants of the standard Serial.print() function: Separate impementations |
51 | | -// for string, char, unsigned, signed int |
52 | | -//#define Print_print_s(S) printStr(S) |
53 | | -//#define Print_print_c(C) printChr(C) |
54 | | -// print unsigned integer values (char, short, int, long) as decimal values |
55 | | -size_t Print_print_u(writefunc_p writefunc, unsigned long n); |
56 | | -// print signed integer values (char, short, int, long) as decimal value |
| 51 | +// print strings (C-Style or buffer contents) |
| 52 | +size_t Print_print_s(writefunc_p writefunc, const char *str); |
| 53 | +size_t Print_print_sn(writefunc_p writefunc, const uint8_t *buffer, size_t size); |
| 54 | + |
| 55 | +// print signed/unsigned values (char, short, int, long) as decimal values |
57 | 56 | size_t Print_print_i(writefunc_p writefunc, long n); |
58 | | -// print unsigned integer values (char, short, int, long) to base B |
59 | | -//#define Print_print_ub(U,B) printNumber(U,B) |
60 | | -// print signed integer values (char, short, int, long) to base B |
61 | | -//#define Print_print_ib(I,B) printInt(I,B) |
| 57 | +size_t Print_print_u(writefunc_p writefunc, unsigned long n); |
| 58 | + |
| 59 | +// print signed/unsigned integer values (char, short, int, long) to base B |
| 60 | +size_t Print_print_ib(writefunc_p writefunc, long n, uint8_t base); |
| 61 | +size_t Print_print_ub(writefunc_p writefunc, unsigned long n, uint8_t base); |
| 62 | + |
| 63 | +// print float values |
| 64 | +//size_t Print_print_f(writefunc_p writefunc, double number, uint8_t digits); |
| 65 | + |
62 | 66 |
|
63 | | -size_t Print_println_s(writefunc_p writefunc, char *str); |
| 67 | +// Variants of the above with a newline added at the and: |
| 68 | +size_t Print_println(writefunc_p writefunc); |
| 69 | +size_t Print_println_s(writefunc_p writefunc, const char *str); |
64 | 70 | size_t Print_println_u(writefunc_p writefunc, unsigned long n); |
65 | 71 | size_t Print_println_i(writefunc_p writefunc, long n); |
66 | 72 |
|
67 | | -size_t Print_printFloat(writefunc_p writefunc, double number, uint8_t digits); |
68 | 73 |
|
69 | 74 | #endif |
0 commit comments