A USB/360deg Rotational device, communicating via blue-tooth, test code

Dependencies:   FatFileSystem mbed

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;
+    }
+}