Bayley Wang
/
foc-ed_in_the_bot_compact
robot
BREMS/BREMSStructs.h@180:a783a972a867, 2018-02-09 (annotated)
- Committer:
- bwang
- Date:
- Fri Feb 09 00:48:26 2018 +0000
- Revision:
- 180:a783a972a867
- Parent:
- 154:0a22dcf91577
- Child:
- 181:d3510c8beab6
Added BufferedLogger object to IOStruct, logging seems to work (insofar as data is sent over serial and the motor still seems to spin)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 42:030e0ec4eac5 | 1 | #ifndef __BREMS_STRUCTS_H |
bwang | 42:030e0ec4eac5 | 2 | #define __BREMS_STRUCTS_H |
bwang | 42:030e0ec4eac5 | 3 | |
bwang | 42:030e0ec4eac5 | 4 | #include "mbed.h" |
bwang | 42:030e0ec4eac5 | 5 | |
bwang | 42:030e0ec4eac5 | 6 | #include "FastPWM.h" |
bwang | 42:030e0ec4eac5 | 7 | #include "PwmIn.h" |
bwang | 42:030e0ec4eac5 | 8 | #include "PositionSensor.h" |
bwang | 180:a783a972a867 | 9 | #include "BufferedLogger.h" |
bwang | 147:c1b2379b8874 | 10 | #include "Filter.h" |
bwang | 42:030e0ec4eac5 | 11 | |
bwang | 42:030e0ec4eac5 | 12 | typedef struct { |
bwang | 42:030e0ec4eac5 | 13 | FastPWM *a, *b, *c; |
bwang | 42:030e0ec4eac5 | 14 | DigitalOut *en; |
bwang | 42:030e0ec4eac5 | 15 | PwmIn *throttle_in; |
bwang | 42:030e0ec4eac5 | 16 | PositionSensorEncoder *pos; |
bwang | 42:030e0ec4eac5 | 17 | Serial *pc; |
bwang | 180:a783a972a867 | 18 | BufferedLogger *logger; |
bwang | 42:030e0ec4eac5 | 19 | } IOStruct; |
bwang | 42:030e0ec4eac5 | 20 | |
bwang | 42:030e0ec4eac5 | 21 | typedef struct { |
bwang | 42:030e0ec4eac5 | 22 | float adval1, adval2, adval3; |
bwang | 42:030e0ec4eac5 | 23 | float vbus; |
bwang | 42:030e0ec4eac5 | 24 | float p_mech, last_p_mech, w; |
bwang | 42:030e0ec4eac5 | 25 | float ia_supp_offset, ib_supp_offset; |
bwang | 42:030e0ec4eac5 | 26 | } ReadDataStruct; |
bwang | 42:030e0ec4eac5 | 27 | |
bwang | 42:030e0ec4eac5 | 28 | typedef struct { |
bwang | 42:030e0ec4eac5 | 29 | float ia, ib, alpha, beta, d, q, vd, vq, valpha, vbeta, p; |
bwang | 131:031df63c7dbc | 30 | float vd_decouple, vq_decouple; |
bwang | 42:030e0ec4eac5 | 31 | } FOCStruct; |
bwang | 42:030e0ec4eac5 | 32 | |
bwang | 42:030e0ec4eac5 | 33 | typedef struct { |
bwang | 42:030e0ec4eac5 | 34 | float d_integral, q_integral; |
bwang | 42:030e0ec4eac5 | 35 | float last_d, last_q; |
bwang | 42:030e0ec4eac5 | 36 | float d_ref, q_ref; |
bwang | 42:030e0ec4eac5 | 37 | float d_filtered, q_filtered; |
bwang | 70:5e39beeb4a21 | 38 | float torque_percent; |
bwang | 154:0a22dcf91577 | 39 | MedianFilter *throttle_filter, *velocity_filter; |
bwang | 42:030e0ec4eac5 | 40 | } ControlStruct; |
bwang | 42:030e0ec4eac5 | 41 | |
bwang | 42:030e0ec4eac5 | 42 | #endif |