robot

Dependencies:   FastPWM3 mbed

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?

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 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