robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Fri Mar 10 08:29:13 2017 +0000
Revision:
82:5e741c5ffd9f
Parent:
70:5e39beeb4a21
Child:
83:eb3704d4943f
things somewhat work?

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 82:5e741c5ffd9f 9 #include "PreferenceWriter.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 82:5e741c5ffd9f 17 PreferenceWriter *pref;
bwang 42:030e0ec4eac5 18 } IOStruct;
bwang 42:030e0ec4eac5 19
bwang 42:030e0ec4eac5 20 typedef struct {
bwang 42:030e0ec4eac5 21 float adval1, adval2, adval3;
bwang 42:030e0ec4eac5 22 float vbus;
bwang 42:030e0ec4eac5 23 float p_mech, last_p_mech, w;
bwang 42:030e0ec4eac5 24 float ia_supp_offset, ib_supp_offset;
bwang 42:030e0ec4eac5 25 } ReadDataStruct;
bwang 42:030e0ec4eac5 26
bwang 42:030e0ec4eac5 27 typedef struct {
bwang 42:030e0ec4eac5 28 float ia, ib, alpha, beta, d, q, vd, vq, valpha, vbeta, p;
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 82:5e741c5ffd9f 37 bool enabled;
bwang 42:030e0ec4eac5 38 } ControlStruct;
bwang 42:030e0ec4eac5 39
bwang 42:030e0ec4eac5 40 #endif