xx

Dependencies:   RoboClaw

Committer:
anfontanelli
Date:
Tue Sep 14 12:09:47 2021 +0000
Revision:
3:7912ab1400c4
Parent:
0:0493ecc839e6
A

Who changed what in which revision?

UserRevisionLine numberNew 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 3:7912ab1400c4 17 bool getState(int motor, double& curr, double& speed, double& pos);
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