Cubic Hand project for EECS 249A course.

Dependencies:   MMA8451Q TSI cc3000_hostdriver_mbedsocket NVIC_set_all_priorities mbed Multi_WS2811

Committer:
naren
Date:
Thu Dec 11 04:07:54 2014 +0000
Revision:
22:0cc5b7e55419
Parent:
19:e751d075e2e6
Child:
23:a8de4f87cada
Added moving average filter; ; correction, corrected are two new structures used for this purpose

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kalbers 3:5f5d75cba8e1 1 #include "GloveWifi.h"
kalbers 3:5f5d75cba8e1 2
kalbers 13:c701f1122797 3 #pragma once
kalbers 13:c701f1122797 4
naren 14:0c4a26dc6873 5 struct Glove {
naren 14:0c4a26dc6873 6 double roll;
naren 14:0c4a26dc6873 7 double pitch;
naren 14:0c4a26dc6873 8 double yaw;
naren 14:0c4a26dc6873 9 double fingers[5];
naren 14:0c4a26dc6873 10 double gyro[3];
naren 14:0c4a26dc6873 11 double magn[3];
naren 14:0c4a26dc6873 12 double accel[3];
naren 14:0c4a26dc6873 13 int lastPkgTime;
naren 14:0c4a26dc6873 14 };
naren 14:0c4a26dc6873 15
kalbers 3:5f5d75cba8e1 16 class DataGlove
kalbers 3:5f5d75cba8e1 17 {
kalbers 3:5f5d75cba8e1 18 public:
kalbers 3:5f5d75cba8e1 19 DataGlove();
kalbers 3:5f5d75cba8e1 20 ~DataGlove();
kalbers 3:5f5d75cba8e1 21 void Init();
kalbers 3:5f5d75cba8e1 22 void Receive();
kalbers 3:5f5d75cba8e1 23 int16_t finger1, finger2, finger3, finger4, finger5;
kalbers 3:5f5d75cba8e1 24 int16_t accelx, accely, accelz;
kalbers 3:5f5d75cba8e1 25 int16_t gyrox, gyroy, gyroz;
kalbers 3:5f5d75cba8e1 26
kalbers 3:5f5d75cba8e1 27 private:
kalbers 3:5f5d75cba8e1 28 uint8_t SendBuf[20];
kalbers 3:5f5d75cba8e1 29 int16_t notConnectedCount;
kalbers 19:e751d075e2e6 30 long numReceived;
kalbers 19:e751d075e2e6 31 char Buf[256], buffer[256];
kalbers 15:b48ac00af0b8 32 bool raw;
kalbers 15:b48ac00af0b8 33 unsigned char bcc;
kalbers 15:b48ac00af0b8 34 int pkglen, u;
kalbers 15:b48ac00af0b8 35 int timeOfArrival, id, pkgtype;
kalbers 15:b48ac00af0b8 36 int j, k, y;
kalbers 15:b48ac00af0b8 37 double roll, yaw, pitch;
kalbers 15:b48ac00af0b8 38 double norm, test;
kalbers 15:b48ac00af0b8 39 int q0, q1, q2, q3;
kalbers 15:b48ac00af0b8 40 double q00, q11, q22, q33;
kalbers 18:6737bf53ccd1 41 long ReceiveCount;
naren 22:0cc5b7e55419 42 // Stores glove data
naren 14:0c4a26dc6873 43 Glove *gl;
naren 22:0cc5b7e55419 44 // Stores the correction matrix
naren 22:0cc5b7e55419 45 Glove *correction;
naren 22:0cc5b7e55419 46 // Stores the corrected glove values
naren 22:0cc5b7e55419 47 Glove *corrected;
kalbers 3:5f5d75cba8e1 48 GloveWifi GloveSocket;
kalbers 18:6737bf53ccd1 49
kalbers 18:6737bf53ccd1 50 private:
kalbers 18:6737bf53ccd1 51 void Parse();
kalbers 18:6737bf53ccd1 52 void StreamData(uint8_t DataType);
kalbers 19:e751d075e2e6 53 void StopSampling();
kalbers 18:6737bf53ccd1 54 void ExtractFingersQuat();
kalbers 18:6737bf53ccd1 55 void ExtractQuat();
kalbers 18:6737bf53ccd1 56 void ExtractFingersRaw();
kalbers 18:6737bf53ccd1 57 void ExtractRaw();
kalbers 18:6737bf53ccd1 58 void ExtractFingers();
kalbers 3:5f5d75cba8e1 59 };