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