robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Sun Mar 12 06:49:10 2017 +0000
Revision:
84:dd32640942a4
Parent:
83:eb3704d4943f
better error handling started

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 84:dd32640942a4 25 bool err_throttle_disabled, err_pos_invalid;
bwang 84:dd32640942a4 26 bool err_not_driving;
bwang 42:030e0ec4eac5 27 } ReadDataStruct;
bwang 42:030e0ec4eac5 28
bwang 42:030e0ec4eac5 29 typedef struct {
bwang 42:030e0ec4eac5 30 float ia, ib, alpha, beta, d, q, vd, vq, valpha, vbeta, p;
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 83:eb3704d4943f 38 float user_cmd;
bwang 70:5e39beeb4a21 39 float torque_percent;
bwang 82:5e741c5ffd9f 40 bool enabled;
bwang 42:030e0ec4eac5 41 } ControlStruct;
bwang 42:030e0ec4eac5 42
bwang 42:030e0ec4eac5 43 #endif