Temp Fork

Dependencies:   MMA8451Q Multi_WS2811 NVIC_set_all_priorities TSI cc3000_hostdriver_mbedsocket mbed

Fork of CubicHand by Model-Based Team

Committer:
robertbui
Date:
Thu Dec 11 06:08:13 2014 +0000
Revision:
31:bf5f545621aa
Parent:
28:42ae7eed0b68
initial draft of gesture recognition.

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();
robertbui 31:bf5f545621aa 22 void Receive();
kalbers 23:a8de4f87cada 23
kalbers 23:a8de4f87cada 24 //Returns the latest glove values in a structure.
kalbers 23:a8de4f87cada 25 Glove GetCurrentValues();
kalbers 23:a8de4f87cada 26 //Returns true if new data since last function call, false otherwise.
kalbers 23:a8de4f87cada 27 bool CheckForNewValues();
kalbers 23:a8de4f87cada 28
kalbers 3:5f5d75cba8e1 29 int16_t finger1, finger2, finger3, finger4, finger5;
kalbers 3:5f5d75cba8e1 30 int16_t accelx, accely, accelz;
kalbers 3:5f5d75cba8e1 31 int16_t gyrox, gyroy, gyroz;
kalbers 3:5f5d75cba8e1 32
kalbers 3:5f5d75cba8e1 33 private:
kalbers 3:5f5d75cba8e1 34 uint8_t SendBuf[20];
kalbers 3:5f5d75cba8e1 35 int16_t notConnectedCount;
kalbers 19:e751d075e2e6 36 long numReceived;
kalbers 19:e751d075e2e6 37 char Buf[256], buffer[256];
kalbers 15:b48ac00af0b8 38 bool raw;
kalbers 15:b48ac00af0b8 39 unsigned char bcc;
kalbers 15:b48ac00af0b8 40 int pkglen, u;
kalbers 15:b48ac00af0b8 41 int timeOfArrival, id, pkgtype;
kalbers 15:b48ac00af0b8 42 int j, k, y;
kalbers 15:b48ac00af0b8 43 double roll, yaw, pitch;
kalbers 15:b48ac00af0b8 44 double norm, test;
kalbers 15:b48ac00af0b8 45 int q0, q1, q2, q3;
kalbers 15:b48ac00af0b8 46 double q00, q11, q22, q33;
kalbers 18:6737bf53ccd1 47 long ReceiveCount;
kalbers 23:a8de4f87cada 48 bool NewData;
naren 22:0cc5b7e55419 49 // Stores glove data
naren 14:0c4a26dc6873 50 Glove *gl;
naren 22:0cc5b7e55419 51 // Stores the correction matrix
naren 22:0cc5b7e55419 52 Glove *correction;
naren 22:0cc5b7e55419 53 // Stores the corrected glove values
naren 22:0cc5b7e55419 54 Glove *corrected;
kalbers 3:5f5d75cba8e1 55 GloveWifi GloveSocket;
kalbers 18:6737bf53ccd1 56
kalbers 18:6737bf53ccd1 57 private:
kalbers 18:6737bf53ccd1 58 void Parse();
kalbers 18:6737bf53ccd1 59 void StreamData(uint8_t DataType);
kalbers 19:e751d075e2e6 60 void StopSampling();
kalbers 18:6737bf53ccd1 61 void ExtractFingersQuat();
kalbers 18:6737bf53ccd1 62 void ExtractQuat();
kalbers 18:6737bf53ccd1 63 void ExtractFingersRaw();
kalbers 18:6737bf53ccd1 64 void ExtractRaw();
kalbers 18:6737bf53ccd1 65 void ExtractFingers();
kalbers 3:5f5d75cba8e1 66 };