xx
IONMcMotors.h@0:0493ecc839e6, 2019-11-06 (annotated)
- Committer:
- anfontanelli
- Date:
- Wed Nov 06 10:57:30 2019 +0000
- Revision:
- 0:0493ecc839e6
- Child:
- 3:7912ab1400c4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
anfontanelli | 0:0493ecc839e6 | 1 | #ifndef IONMCMOTOR_H |
anfontanelli | 0:0493ecc839e6 | 2 | #define IONMCMOTOR_H |
anfontanelli | 0:0493ecc839e6 | 3 | #include "mbed.h" |
anfontanelli | 0:0493ecc839e6 | 4 | #include "RoboClaw.h" |
anfontanelli | 0:0493ecc839e6 | 5 | #include <stdarg.h> |
anfontanelli | 0:0493ecc839e6 | 6 | #ifndef M_PI |
anfontanelli | 0:0493ecc839e6 | 7 | #define M_PI 3.14159265358979323846 |
anfontanelli | 0:0493ecc839e6 | 8 | #endif |
anfontanelli | 0:0493ecc839e6 | 9 | |
anfontanelli | 0:0493ecc839e6 | 10 | class IONMcMotors |
anfontanelli | 0:0493ecc839e6 | 11 | { |
anfontanelli | 0:0493ecc839e6 | 12 | public: |
anfontanelli | 0:0493ecc839e6 | 13 | /** Create RoboClaw instance |
anfontanelli | 0:0493ecc839e6 | 14 | */ |
anfontanelli | 0:0493ecc839e6 | 15 | IONMcMotors(uint8_t adr, int baudrate, PinName rx, PinName tx, uint16_t GearBoxRatio, uint16_t EncoderPulse, double _Kt_M1, double _Kt_M2); |
anfontanelli | 0:0493ecc839e6 | 16 | bool setSpeed(int motor, double shaftSpeed, double shaftAcc); // shaftSpeed in rad/s // shaftAcc in rad/s^2 |
anfontanelli | 0:0493ecc839e6 | 17 | double* getState(int motor); |
anfontanelli | 0:0493ecc839e6 | 18 | double getMotorTorque(int motor); |
anfontanelli | 0:0493ecc839e6 | 19 | double getMotorSpeed(int motor); |
anfontanelli | 0:0493ecc839e6 | 20 | |
anfontanelli | 0:0493ecc839e6 | 21 | void resetEncoder(); |
anfontanelli | 0:0493ecc839e6 | 22 | |
anfontanelli | 0:0493ecc839e6 | 23 | |
anfontanelli | 0:0493ecc839e6 | 24 | private: |
anfontanelli | 0:0493ecc839e6 | 25 | |
anfontanelli | 0:0493ecc839e6 | 26 | RoboClaw *roboclaw; |
anfontanelli | 0:0493ecc839e6 | 27 | |
anfontanelli | 0:0493ecc839e6 | 28 | uint16_t GearBoxRatio; |
anfontanelli | 0:0493ecc839e6 | 29 | uint16_t EncoderPulse; |
anfontanelli | 0:0493ecc839e6 | 30 | double speed2Pulse; |
anfontanelli | 0:0493ecc839e6 | 31 | double rads2rps; |
anfontanelli | 0:0493ecc839e6 | 32 | double Kt_M1; |
anfontanelli | 0:0493ecc839e6 | 33 | double Kt_M2; |
anfontanelli | 0:0493ecc839e6 | 34 | double stateM1[3]; |
anfontanelli | 0:0493ecc839e6 | 35 | double stateM2[3]; |
anfontanelli | 0:0493ecc839e6 | 36 | }; |
anfontanelli | 0:0493ecc839e6 | 37 | |
anfontanelli | 0:0493ecc839e6 | 38 | #endif |