A USB/360deg Rotational device, communicating via blue-tooth, test code
Dependencies: FatFileSystem mbed
Diff: Utils.cpp
- Revision:
- 0:87da38093be9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Utils.cpp Fri Dec 21 11:37:38 2012 +0000 @@ -0,0 +1,84 @@ + + +#include "mbed.h" +#include "Utils.h" +Serial rs232(p13, p14); // tx, rx +AnalogIn ain(p15); + +extern char global_buf1[0x20]; +extern char global_buf2[0x20]; + +void setup_rs232(void) +{ + rs232.baud(19200); +} + +int read_ana(void) +{ + float a; + int b; + a = ain.read(); + a = a * 360; + b = ftoi(a); + return(b); +} + +void send_out(char *buf) +{ + printf("%s",buf); + rs232.printf("%s",buf); +} + +void printfBytes(const char* s, const u8* data, int len) +{ + float a; + int b; + a = ain.read(); + a = a*360; + b = ftoi(a); + printf("%s %d: POS %d ",s,len,b); + rs232.printf("%s %d: POS %d ",s,len,b); + if (len > 256) + len = 256; + + while (len-- > 0){ + printf(" %02X",*data); + rs232.printf(" %02X",*data++); + } + printf("\n\r"); + rs232.printf("\n\r"); +} + +void printHexLine(const u8* d, int addr, int len) +{ + printf("%04X ",addr); + int i; + for (i = 0; i < len; i++) + printf("%02X ",d[i]); + for (;i < 16; i++) + printf(" "); + char s[16+1]; + memset(s,0,sizeof(s)); + for (i = 0; i < len; i++) + { + int c = d[i]; + if (c < 0x20 || c > 0x7E) + c = '.'; + s[i] = c; + } + printf("%s\n\r",s); +} + +void printHex(const u8* d, int len) +{ + int addr = 0; + while (len) + { + int count = len; + if (count > 16) + count = 16; + printHexLine(d+addr,addr,count); + addr += 16; + len -= count; + } +}