EmbedEd
/
mbed_theremin
xypad theremin for LPC1768
debug.cpp@2:c5eeaf1c8e69, 2016-03-14 (annotated)
- Committer:
- exopiped
- Date:
- Mon Mar 14 23:43:44 2016 +0000
- Revision:
- 2:c5eeaf1c8e69
- Parent:
- 0:8ee38453bad9
touch screen driver glitches removed; debug statements commented out
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
exopiped | 0:8ee38453bad9 | 1 | /* |
exopiped | 0:8ee38453bad9 | 2 | ** debug.cpp -- a few handy debug functions |
exopiped | 0:8ee38453bad9 | 3 | */ |
exopiped | 0:8ee38453bad9 | 4 | #include "mbed.h" |
exopiped | 0:8ee38453bad9 | 5 | #include "debug.h" |
exopiped | 0:8ee38453bad9 | 6 | #include "string.h" |
exopiped | 0:8ee38453bad9 | 7 | |
exopiped | 0:8ee38453bad9 | 8 | RawSerial rs(USBTX, USBRX); |
exopiped | 0:8ee38453bad9 | 9 | |
exopiped | 0:8ee38453bad9 | 10 | static char debug_hexnyb(char); |
exopiped | 0:8ee38453bad9 | 11 | |
exopiped | 0:8ee38453bad9 | 12 | void debug_putstr(char *sptr) |
exopiped | 0:8ee38453bad9 | 13 | { |
exopiped | 0:8ee38453bad9 | 14 | int j,len; |
exopiped | 0:8ee38453bad9 | 15 | |
exopiped | 0:8ee38453bad9 | 16 | len = strlen(sptr); |
exopiped | 0:8ee38453bad9 | 17 | if (len>64) len = 64; |
exopiped | 0:8ee38453bad9 | 18 | for (j=0;j<len;j++) { |
exopiped | 0:8ee38453bad9 | 19 | debug_putch(sptr[j]); |
exopiped | 0:8ee38453bad9 | 20 | } |
exopiped | 0:8ee38453bad9 | 21 | } |
exopiped | 0:8ee38453bad9 | 22 | |
exopiped | 0:8ee38453bad9 | 23 | int debug_putch(char ch) { |
exopiped | 0:8ee38453bad9 | 24 | return rs.putc(ch); |
exopiped | 0:8ee38453bad9 | 25 | } |
exopiped | 0:8ee38453bad9 | 26 | |
exopiped | 0:8ee38453bad9 | 27 | void debug_hexbyte(char inch) |
exopiped | 0:8ee38453bad9 | 28 | { |
exopiped | 0:8ee38453bad9 | 29 | char lonyb,hinyb; |
exopiped | 0:8ee38453bad9 | 30 | |
exopiped | 0:8ee38453bad9 | 31 | lonyb = inch & 0x0F; |
exopiped | 0:8ee38453bad9 | 32 | hinyb = (inch >> 4) & 0x0F; |
exopiped | 0:8ee38453bad9 | 33 | (void)debug_putch(debug_hexnyb(hinyb)); |
exopiped | 0:8ee38453bad9 | 34 | (void)debug_putch(debug_hexnyb(lonyb)); |
exopiped | 0:8ee38453bad9 | 35 | } |
exopiped | 0:8ee38453bad9 | 36 | |
exopiped | 0:8ee38453bad9 | 37 | char debug_hexnyb(char inval) |
exopiped | 0:8ee38453bad9 | 38 | { |
exopiped | 0:8ee38453bad9 | 39 | switch (inval) { |
exopiped | 0:8ee38453bad9 | 40 | case 0 ... 9: |
exopiped | 0:8ee38453bad9 | 41 | return (char)(0x30 | inval); |
exopiped | 0:8ee38453bad9 | 42 | case 10 ... 15: |
exopiped | 0:8ee38453bad9 | 43 | return (char)(0x37 + inval); |
exopiped | 0:8ee38453bad9 | 44 | } |
exopiped | 0:8ee38453bad9 | 45 | return ('.'); |
exopiped | 0:8ee38453bad9 | 46 | } |
exopiped | 0:8ee38453bad9 | 47 | |
exopiped | 0:8ee38453bad9 | 48 | void debug_hexshort(short inval) |
exopiped | 0:8ee38453bad9 | 49 | { |
exopiped | 0:8ee38453bad9 | 50 | char loch,hich; |
exopiped | 0:8ee38453bad9 | 51 | |
exopiped | 0:8ee38453bad9 | 52 | loch = inval & 0xFF; |
exopiped | 0:8ee38453bad9 | 53 | hich = (inval>>8) & 0xFF; |
exopiped | 0:8ee38453bad9 | 54 | debug_hexbyte(hich); |
exopiped | 0:8ee38453bad9 | 55 | debug_hexbyte(loch); |
exopiped | 0:8ee38453bad9 | 56 | } |
exopiped | 0:8ee38453bad9 | 57 | |
exopiped | 0:8ee38453bad9 | 58 | void debug_crlf(void) |
exopiped | 0:8ee38453bad9 | 59 | { |
exopiped | 0:8ee38453bad9 | 60 | (void)debug_putch(0x0D); |
exopiped | 0:8ee38453bad9 | 61 | (void)debug_putch(0x0A); |
exopiped | 0:8ee38453bad9 | 62 | } |
exopiped | 0:8ee38453bad9 | 63 | |
exopiped | 0:8ee38453bad9 | 64 | void debug_space(void) |
exopiped | 0:8ee38453bad9 | 65 | { |
exopiped | 0:8ee38453bad9 | 66 | (void)debug_putch(0x20); |
exopiped | 0:8ee38453bad9 | 67 | } |
exopiped | 0:8ee38453bad9 | 68 |