Fork and fix for mwork
Dependencies: mbed-dev-f303 FastPWM3 millis
structs.h@26:2b865c00d7e9, 2017-05-01 (annotated)
- Committer:
- benkatz
- Date:
- Mon May 01 15:22:58 2017 +0000
- Revision:
- 26:2b865c00d7e9
- Parent:
- 24:58c2d7571207
- Child:
- 28:8c7e29f719c5
- Added CAN Send/Receive; - Updated to most recent MBED (Broke SPI 16-bit read/write. Hacked to work with 2 8-bit writes now); - Removed most sine/cos calculations; - Fixed sign error in autocalibration routine
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
benkatz | 20:bf9ea5125d52 | 1 | #ifndef STRUCTS_H |
benkatz | 20:bf9ea5125d52 | 2 | #define STRUCTS_H |
benkatz | 20:bf9ea5125d52 | 3 | |
benkatz | 20:bf9ea5125d52 | 4 | //#include "CANnucleo.h" |
benkatz | 20:bf9ea5125d52 | 5 | #include "mbed.h" |
benkatz | 20:bf9ea5125d52 | 6 | #include "FastPWM.h" |
benkatz | 20:bf9ea5125d52 | 7 | |
benkatz | 20:bf9ea5125d52 | 8 | |
benkatz | 20:bf9ea5125d52 | 9 | typedef struct{ |
benkatz | 20:bf9ea5125d52 | 10 | DigitalOut *enable; |
benkatz | 20:bf9ea5125d52 | 11 | FastPWM *pwm_u, *pwm_v, *pwm_w; |
benkatz | 20:bf9ea5125d52 | 12 | } GPIOStruct; |
benkatz | 20:bf9ea5125d52 | 13 | |
benkatz | 20:bf9ea5125d52 | 14 | typedef struct{ |
benkatz | 20:bf9ea5125d52 | 15 | |
benkatz | 20:bf9ea5125d52 | 16 | }COMStruct; |
benkatz | 20:bf9ea5125d52 | 17 | |
benkatz | 20:bf9ea5125d52 | 18 | typedef struct{ |
benkatz | 20:bf9ea5125d52 | 19 | int adc1_raw, adc2_raw; |
benkatz | 20:bf9ea5125d52 | 20 | float i_a, i_b, i_c; |
benkatz | 20:bf9ea5125d52 | 21 | float v_bus; |
benkatz | 20:bf9ea5125d52 | 22 | float theta_mech, theta_elec; |
benkatz | 20:bf9ea5125d52 | 23 | float dtheta_mech, dtheta_elec; |
benkatz | 20:bf9ea5125d52 | 24 | float i_d, i_q; |
benkatz | 20:bf9ea5125d52 | 25 | float v_d, v_q; |
benkatz | 20:bf9ea5125d52 | 26 | float dtc_u, dtc_v, dtc_w; |
benkatz | 20:bf9ea5125d52 | 27 | float v_u, v_v, v_w; |
benkatz | 20:bf9ea5125d52 | 28 | float d_int, q_int; |
benkatz | 20:bf9ea5125d52 | 29 | int adc1_offset, adc2_offset; |
benkatz | 20:bf9ea5125d52 | 30 | float i_d_ref, i_q_ref; |
benkatz | 22:60276ba87ac6 | 31 | int loop_count; |
benkatz | 22:60276ba87ac6 | 32 | int mode; |
benkatz | 26:2b865c00d7e9 | 33 | float p_des, v_des, kp, kd, t_ff; |
benkatz | 23:2adf23ee0305 | 34 | float cogging[128]; |
benkatz | 20:bf9ea5125d52 | 35 | } ControllerStruct; |
benkatz | 20:bf9ea5125d52 | 36 | |
benkatz | 22:60276ba87ac6 | 37 | typedef struct{ |
benkatz | 22:60276ba87ac6 | 38 | float vel_1; |
benkatz | 22:60276ba87ac6 | 39 | float vel_1_old; |
benkatz | 22:60276ba87ac6 | 40 | float vel_1_est; |
benkatz | 22:60276ba87ac6 | 41 | float vel_2; |
benkatz | 22:60276ba87ac6 | 42 | float vel_2_old; |
benkatz | 22:60276ba87ac6 | 43 | float vel_2_est; |
benkatz | 22:60276ba87ac6 | 44 | float ts; |
benkatz | 22:60276ba87ac6 | 45 | float est; |
benkatz | 22:60276ba87ac6 | 46 | } VelocityEstimatorStruct; |
benkatz | 22:60276ba87ac6 | 47 | |
benkatz | 20:bf9ea5125d52 | 48 | #endif |