Ben Katz / Mbed 2 deprecated MotorModuleExample

Dependencies:   mbed

Committer:
benkatz
Date:
Thu Aug 08 17:03:30 2019 +0000
Revision:
2:36a254d3dbf3
Child:
3:f0d054d896f9
Working example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benkatz 2:36a254d3dbf3 1 #ifndef CAN_COM_H
benkatz 2:36a254d3dbf3 2 #define CAN_COM_H
benkatz 2:36a254d3dbf3 3
benkatz 2:36a254d3dbf3 4 #include "mbed.h"
benkatz 2:36a254d3dbf3 5 #include "../math_ops.h"
benkatz 2:36a254d3dbf3 6
benkatz 2:36a254d3dbf3 7 /// Value Limits ///
benkatz 2:36a254d3dbf3 8 #define P_MIN -12.5f
benkatz 2:36a254d3dbf3 9 #define P_MAX 12.5f
benkatz 2:36a254d3dbf3 10 #define V_MIN -45.0f
benkatz 2:36a254d3dbf3 11 #define V_MAX 45.0f
benkatz 2:36a254d3dbf3 12 #define KP_MIN 0.0f
benkatz 2:36a254d3dbf3 13 #define KP_MAX 500.0f
benkatz 2:36a254d3dbf3 14 #define KD_MIN 0.0f
benkatz 2:36a254d3dbf3 15 #define KD_MAX 5.0f
benkatz 2:36a254d3dbf3 16 #define I_MIN -18.0f
benkatz 2:36a254d3dbf3 17 #define I_MAX 18.0f
benkatz 2:36a254d3dbf3 18
benkatz 2:36a254d3dbf3 19
benkatz 2:36a254d3dbf3 20 /// Structs for organizing commands and data ///
benkatz 2:36a254d3dbf3 21 typedef struct
benkatz 2:36a254d3dbf3 22 {
benkatz 2:36a254d3dbf3 23 int id;
benkatz 2:36a254d3dbf3 24 float position, velocity, current;
benkatz 2:36a254d3dbf3 25 } StateStruct;
benkatz 2:36a254d3dbf3 26
benkatz 2:36a254d3dbf3 27
benkatz 2:36a254d3dbf3 28 typedef struct
benkatz 2:36a254d3dbf3 29 {
benkatz 2:36a254d3dbf3 30 int id;
benkatz 2:36a254d3dbf3 31 float i_ff, p_des, kp, v_des, kd;
benkatz 2:36a254d3dbf3 32 }ControlStruct;
benkatz 2:36a254d3dbf3 33
benkatz 2:36a254d3dbf3 34 typedef struct
benkatz 2:36a254d3dbf3 35 {
benkatz 2:36a254d3dbf3 36 StateStruct state;
benkatz 2:36a254d3dbf3 37 ControlStruct control;
benkatz 2:36a254d3dbf3 38 CANMessage rxMsg;
benkatz 2:36a254d3dbf3 39 CANMessage txMsg;
benkatz 2:36a254d3dbf3 40 }MotorStruct;
benkatz 2:36a254d3dbf3 41
benkatz 2:36a254d3dbf3 42 void pack_cmd(MotorStruct * motor);
benkatz 2:36a254d3dbf3 43 void unpack_reply(MotorStruct * motor);
benkatz 2:36a254d3dbf3 44 void enable_motor(MotorStruct * motor, CAN * can);
benkatz 2:36a254d3dbf3 45 void disable_motor(MotorStruct * motor, CAN * can);
benkatz 2:36a254d3dbf3 46
benkatz 2:36a254d3dbf3 47
benkatz 2:36a254d3dbf3 48 #endif