HeRoS: read out and log joint angles and force sensor data from the leg test bench.

Dependencies:   AS5048 LCM101 MODSERIAL PinDetect SDFileSystem mbed

Committer:
megrootens
Date:
Wed Dec 06 11:22:54 2017 +0000
Revision:
1:417a5b28ac84
Parent:
0:3855d4588f76
starting, stopping and resetting timer for data logging t column

Who changed what in which revision?

UserRevisionLine numberNew contents of line
megrootens 0:3855d4588f76 1 #ifndef _BENCH02_H_
megrootens 0:3855d4588f76 2 #define _BENCH02_H_
megrootens 0:3855d4588f76 3
megrootens 0:3855d4588f76 4 #include "mbed.h"
megrootens 0:3855d4588f76 5 #include "as5048.h"
megrootens 0:3855d4588f76 6 #include "lcm101.h"
megrootens 0:3855d4588f76 7 #include "constants.h"
megrootens 0:3855d4588f76 8
megrootens 0:3855d4588f76 9 /**
megrootens 0:3855d4588f76 10 * Class to read out sensory information from the second test bench;
megrootens 0:3855d4588f76 11 * the upper and lower leg, foot en toe setup with 1-dof hinges,
megrootens 0:3855d4588f76 12 * each of which is equipped with an AMS AS5048 absolute rotary sensor.
megrootens 0:3855d4588f76 13 * The sensors are daisy chained and communicate via SPI
megrootens 0:3855d4588f76 14 */
megrootens 0:3855d4588f76 15 class Bench {
megrootens 0:3855d4588f76 16 public:
megrootens 0:3855d4588f76 17
megrootens 0:3855d4588f76 18 static const float kCutOffDegrees = 180.0f;
megrootens 0:3855d4588f76 19 static const float kCutOffRadians = 3.14159265359f;
megrootens 0:3855d4588f76 20
megrootens 0:3855d4588f76 21 enum Joint {
megrootens 0:3855d4588f76 22 TOES,
megrootens 0:3855d4588f76 23 ANKLE,
megrootens 0:3855d4588f76 24 KNEE,
megrootens 0:3855d4588f76 25 HIP
megrootens 0:3855d4588f76 26 };
megrootens 0:3855d4588f76 27
megrootens 0:3855d4588f76 28 Bench(PinName mosi, PinName miso, PinName sck, PinName cs, PinName p_lcm101);
megrootens 0:3855d4588f76 29
megrootens 0:3855d4588f76 30 void Update();
megrootens 0:3855d4588f76 31
megrootens 0:3855d4588f76 32 float getDegrees(int i_joint);
megrootens 0:3855d4588f76 33 float getDegrees(Joint joint);
megrootens 0:3855d4588f76 34
megrootens 0:3855d4588f76 35 float getRadians(int i_joint);
megrootens 0:3855d4588f76 36 float getRadians(Joint joint);
megrootens 0:3855d4588f76 37
megrootens 0:3855d4588f76 38
megrootens 0:3855d4588f76 39 const char* getJointName(int i_joint);
megrootens 0:3855d4588f76 40 const char* getJointName(Joint joint);
megrootens 0:3855d4588f76 41
megrootens 0:3855d4588f76 42 float getForce();
megrootens 0:3855d4588f76 43
megrootens 0:3855d4588f76 44 As5048* get_as5048();
megrootens 0:3855d4588f76 45
megrootens 0:3855d4588f76 46
megrootens 0:3855d4588f76 47 private:
megrootens 0:3855d4588f76 48 As5048 as5048_;
megrootens 0:3855d4588f76 49 Lcm101 lcm101_;
megrootens 0:3855d4588f76 50 };
megrootens 0:3855d4588f76 51
megrootens 0:3855d4588f76 52 #endif