Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MMA8451Q Multi_WS2811 NVIC_set_all_priorities TSI cc3000_hostdriver_mbedsocket mbed
Fork of CubicHand by
DataGlove.h@22:0cc5b7e55419, 2014-12-11 (annotated)
- 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?
| User | Revision | Line number | New 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 | }; |
