Cubic Hand project for EECS 249A course.

Dependencies:   MMA8451Q TSI cc3000_hostdriver_mbedsocket NVIC_set_all_priorities mbed Multi_WS2811

Revision:
42:4e1aaab14886
Parent:
41:367cab0162de
Child:
46:a7c041aaf259
--- a/DataGlove.cpp	Thu Dec 11 12:08:27 2014 +0000
+++ b/DataGlove.cpp	Thu Dec 11 12:16:09 2014 +0000
@@ -16,7 +16,7 @@
 
 DataGlove::~DataGlove()
 {
-    //delete(gl);
+
 }
 
 void DataGlove::Init()
@@ -58,7 +58,7 @@
 
 bool DataGlove::Receive()
 {
-    raw = false;
+    //raw = false;
     numReceived += GloveSocket.GetDataFromBuffer(Buf, 1);
     //if(ReceiveCount++%25 == 0) printf("%d %c\r\n", ReceiveCount, Buf[0]);
     if (Buf[0] == '$' && numReceived > 0) 
@@ -82,7 +82,7 @@
             }
             if ((numReceived - 3 == pkglen) && (bcc == Buf[pkglen+1])) 
             {
-                memcpy(buffer, (Buf + 3), numReceived - 3);
+                //memcpy(buffer, (Buf + 3), numReceived - 3);
                 /*timeOfArrival = (buffer[3] << 24) + (buffer[4] << 16) + (buffer[5] << 8) + buffer[6];
                 id = (buffer[1] << 8) + buffer[2];
                 pkgtype = buffer[0];*/
@@ -149,18 +149,18 @@
 
 void DataGlove::ExtractFingersQuat()
 {
-    k = 7;
-    q0 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    k = 10;//7;
+    q0 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
-    q1 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    q1 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
-    q2 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    q2 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
-    q3 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    q3 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
     for (y = 0; y < 5; y++) 
     {
-        gl.fingers[y] = 0.1 * ((buffer[k] << 8) + buffer[k + 1]);
+        gl.fingers[y] = 0.1 * ((Buf[k] << 8) + Buf[k + 1]);
         k += 2;
     }
     q00 = q0 / 32768.0;
@@ -183,14 +183,14 @@
 }
 void DataGlove::ExtractQuat()
 {
-    k = 7;
-    q0 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    k = 10;//7;
+    q0 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
-    q1 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    q1 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
-    q2 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    q2 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
-    q3 = (buffer[k] << 24) + (buffer[k+1] << 16) + (buffer[k+2] << 8) + buffer[k+3];
+    q3 = (Buf[k] << 24) + (Buf[k+1] << 16) + (Buf[k+2] << 8) + Buf[k+3];
     k += 4;
     for (y = 0; y < 5; y++) 
     {
@@ -216,31 +216,31 @@
 
 void DataGlove::ExtractFingersRaw()
 {
-    k = 7;
+    k = 10;//7;
     for (j = 0; j < 3; j++)
     {
-        gl.gyro[j] = (buffer[k] << 8) + (buffer[k+1]);
+        gl.gyro[j] = (Buf[k] << 8) + (Buf[k+1]);
         if (gl.gyro[j] > 0x7fff) 
             gl.gyro[j] -= 0x10000;
         k += 2;
     }
     for (j = 0; j < 3; j++)
     {
-        gl.magn[j] = (buffer[k] << 8) + (buffer[k+1]);
+        gl.magn[j] = (Buf[k] << 8) + (Buf[k+1]);
         if (gl.magn[j] > 0x7fff) 
             gl.magn[j] -= 0x10000;
         k += 2;
     }
     for (j = 0; j < 3; j++)
     {
-        gl.accel[j] = (buffer[k] << 8) + (buffer[k+1]);
+        gl.accel[j] = (Buf[k] << 8) + (Buf[k+1]);
         if (gl.accel[j]>0x7fff) 
             gl.accel[j] -= 0x10000;
         k += 2;
     }
     for (y = 0; y < 5; y++)
     {
-        gl.fingers[y] = 0.1 * ((buffer[k] << 8) + buffer[k+1]);
+        gl.fingers[y] = 0.1 * ((Buf[k] << 8) + Buf[k+1]);
         k += 2;
     }
 
@@ -252,21 +252,21 @@
 
 void DataGlove::ExtractRaw()
 {
-    k = 7;
+    k = 10;//7;
     for (j = 0; j < 3; j++){
-        gl.gyro[j] = (buffer[k] << 8) + (buffer[k+1]);
+        gl.gyro[j] = (Buf[k] << 8) + (Buf[k+1]);
         if (gl.gyro[j] > 0x7fff) 
             gl.gyro[j] -= 0x10000;
         k += 2;
     }
     for (j = 0; j < 3; j++){
-        gl.magn[j] = (buffer[k] << 8) + (buffer[k+1]);
+        gl.magn[j] = (Buf[k] << 8) + (Buf[k+1]);
         if (gl.magn[j] > 0x7fff) 
             gl.magn[j] -= 0x10000;
         k += 2;
     }
     for (j = 0; j < 3; j++){
-        gl.accel[j] = (buffer[k] << 8) + (buffer[k+1]);
+        gl.accel[j] = (Buf[k] << 8) + (Buf[k+1]);
         if (gl.accel[j] > 0x7fff) 
             gl.accel[j] -= 0x10000;
         k += 2;
@@ -284,9 +284,9 @@
 
 void DataGlove::ExtractFingers()
 {
-    k = 7;
+    k = 10;//7;
     for (y = 0; y < 5; y++){
-        gl.fingers[y] = 0.1 * ((buffer[k] << 8) + buffer[k+1]);
+        gl.fingers[y] = 0.1 * ((Buf[k] << 8) + Buf[k+1]);
         k += 2;
     }