robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Thu May 04 17:35:10 2017 +0000
Revision:
155:7c6005933d4c
Parent:
154:0a22dcf91577
Child:
179:935f9d78d936
Child:
180:a783a972a867
05/04/2017 13:34 - changed logic in PwmIn::handle_fall, which no longer resets timer on invalid edges

Who changed what in which revision?

UserRevisionLine numberNew 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 147:c1b2379b8874 9 #include "Filter.h"
bwang 42:030e0ec4eac5 10
bwang 42:030e0ec4eac5 11 typedef struct {
bwang 42:030e0ec4eac5 12 FastPWM *a, *b, *c;
bwang 42:030e0ec4eac5 13 DigitalOut *en;
bwang 42:030e0ec4eac5 14 PwmIn *throttle_in;
bwang 42:030e0ec4eac5 15 PositionSensorEncoder *pos;
bwang 42:030e0ec4eac5 16 Serial *pc;
bwang 42:030e0ec4eac5 17 } IOStruct;
bwang 42:030e0ec4eac5 18
bwang 42:030e0ec4eac5 19 typedef struct {
bwang 42:030e0ec4eac5 20 float adval1, adval2, adval3;
bwang 42:030e0ec4eac5 21 float vbus;
bwang 42:030e0ec4eac5 22 float p_mech, last_p_mech, w;
bwang 42:030e0ec4eac5 23 float ia_supp_offset, ib_supp_offset;
bwang 42:030e0ec4eac5 24 } ReadDataStruct;
bwang 42:030e0ec4eac5 25
bwang 42:030e0ec4eac5 26 typedef struct {
bwang 42:030e0ec4eac5 27 float ia, ib, alpha, beta, d, q, vd, vq, valpha, vbeta, p;
bwang 131:031df63c7dbc 28 float vd_decouple, vq_decouple;
bwang 42:030e0ec4eac5 29 } FOCStruct;
bwang 42:030e0ec4eac5 30
bwang 42:030e0ec4eac5 31 typedef struct {
bwang 42:030e0ec4eac5 32 float d_integral, q_integral;
bwang 42:030e0ec4eac5 33 float last_d, last_q;
bwang 42:030e0ec4eac5 34 float d_ref, q_ref;
bwang 42:030e0ec4eac5 35 float d_filtered, q_filtered;
bwang 70:5e39beeb4a21 36 float torque_percent;
bwang 154:0a22dcf91577 37 MedianFilter *throttle_filter, *velocity_filter;
bwang 42:030e0ec4eac5 38 } ControlStruct;
bwang 42:030e0ec4eac5 39
bwang 42:030e0ec4eac5 40 #endif