Delta Robot example

Dependencies:   BufferedSerial Eigen

Fork of TCPSocket_Example by mbed_example

Committer:
je310
Date:
Mon Oct 15 18:30:20 2018 +0000
Revision:
5:01e1e68309ae
Parent:
4:778bc352c47f
testing eigen;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
je310 3:10fa3102c2d7 1 #ifndef AXIS_H
je310 3:10fa3102c2d7 2 #define AXIS_H
je310 3:10fa3102c2d7 3
je310 4:778bc352c47f 4 #include "odrive.h"
je310 4:778bc352c47f 5 #include "mbed.h"
je310 4:778bc352c47f 6 #include "calibration.h"
je310 4:778bc352c47f 7 #include "comms.h"
je310 4:778bc352c47f 8 #include <string>
je310 4:778bc352c47f 9 #include <sstream>
je310 4:778bc352c47f 10
je310 4:778bc352c47f 11 enum axisName {
je310 4:778bc352c47f 12 AX_A,
je310 4:778bc352c47f 13 AX_B,
je310 4:778bc352c47f 14 AX_C,
je310 4:778bc352c47f 15 };
je310 4:778bc352c47f 16
je310 3:10fa3102c2d7 17 class Axis
je310 3:10fa3102c2d7 18 {
je310 3:10fa3102c2d7 19 public:
je310 3:10fa3102c2d7 20
je310 5:01e1e68309ae 21 Axis(ODrive* od, int ax, DigitalIn* homeSwitch, calVals calibration_,axisName identity);
je310 3:10fa3102c2d7 22 void homeAxis();
je310 5:01e1e68309ae 23 void findIndex();
je310 3:10fa3102c2d7 24 void goAngle(float angle);
je310 3:10fa3102c2d7 25 void goAngleSpeed(float angle, float speed);
je310 4:778bc352c47f 26 void runState(int requestedState);
je310 5:01e1e68309ae 27 int readState();
je310 4:778bc352c47f 28 DigitalIn* homeSwitch_;
je310 4:778bc352c47f 29 void setMaxVel(float stepsPerSec);
je310 5:01e1e68309ae 30 int setParams(float stepsPerSec, float vel_gain, float encoder_bandwidth, float pos_gain, float vel_int);
je310 4:778bc352c47f 31 ODrive* odrive;
je310 5:01e1e68309ae 32 void idle();
je310 5:01e1e68309ae 33 int test();
je310 5:01e1e68309ae 34 float readParam(string in);
je310 5:01e1e68309ae 35 float readBattery();
je310 5:01e1e68309ae 36 float writeParam(string in, float val);
je310 5:01e1e68309ae 37 axisName name;
je310 3:10fa3102c2d7 38
je310 3:10fa3102c2d7 39 private:
je310 4:778bc352c47f 40
je310 4:778bc352c47f 41 int axNum;
je310 4:778bc352c47f 42 int homeOffset;
je310 4:778bc352c47f 43 float currentSetPos;
je310 4:778bc352c47f 44 float currentSetVel;
je310 4:778bc352c47f 45
je310 4:778bc352c47f 46 float maxAngle; //roughtly
je310 4:778bc352c47f 47 float gearRatio_;
je310 4:778bc352c47f 48 float pulse_per_rev;
je310 4:778bc352c47f 49 float pulse_per_rad;
je310 4:778bc352c47f 50 float rotation_offset; // defines the rotational ofset from flat, to be calibrated.
je310 3:10fa3102c2d7 51
je310 3:10fa3102c2d7 52
je310 3:10fa3102c2d7 53 };
je310 3:10fa3102c2d7 54
je310 3:10fa3102c2d7 55
je310 3:10fa3102c2d7 56
je310 3:10fa3102c2d7 57
je310 3:10fa3102c2d7 58
je310 3:10fa3102c2d7 59 #endif // COMMS_H