![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Cubic Hand project for EECS 249A course.
Dependencies: MMA8451Q TSI cc3000_hostdriver_mbedsocket NVIC_set_all_priorities mbed Multi_WS2811
Diff: DataGlove.cpp
- 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; }