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 07:03:09 2014 +0000
Revision:
36:4a58639da6cf
Parent:
26:42ae7eed0b68
Child:
37:996bd22a633f
Created Correction class; ; This corrects and filters the sensor data

Who changed what in which revision?

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