Torque calculation added to leg readout
Dependencies: AS5048 LCM101 MODSERIAL PinDetect SDFileSystem mbed
Fork of heros_leg_readout by
bench.h@0:3855d4588f76, 2017-12-01 (annotated)
- Committer:
- megrootens
- Date:
- Fri Dec 01 11:14:38 2017 +0000
- Revision:
- 0:3855d4588f76
serial printing and SD card logging of joint angles and force sensor
Who changed what in which revision?
User | Revision | Line number | New 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 |