Prius IPM controller

Dependencies:   mbed

Fork of analoghalls5_5 by N K

Revision:
26:d00561c7bf43
Parent:
24:f1ff9c7256b5
Child:
29:cb03760ba9ea
--- a/context.h	Tue Mar 10 17:47:08 2015 +0000
+++ b/context.h	Tue Mar 10 17:51:38 2015 +0000
@@ -16,7 +16,8 @@
     Context();
     void ConfigureOutputs(PinName oa, PinName ob, PinName oc, PinName en);
     void ConfigureCurrentSensors(PinName ib_pin, PinName ic_pin, float scale, float filter_strength);
-    void ConfigurePidControllers(float ki, float kp, float kd, float pidmin, float pidmax);
+    void ConfigureIdPidController(float ki, float kp, float kd, float pidmin, float pidmax);
+    void ConfigureIqPidController(float ki, float kp, float kd, float pidmin, float pidmax);
     void ConfigureThrottle(PinName throttle_pin, float min, float max);
     void ConfigurePositionSensor(PinName pos_a_pin, PinName pos_b_pin, float cal1_a, float cal2_a, float cal1_b, float cal2_b, float offset);
     void ConfigureReference(float max_current);
@@ -44,9 +45,10 @@
     void upd_function();
 private:
     PinName _oa, _ob, _oc, _ib_pin, _ic_pin, _throttle_pin, _pos_a_pin, _pos_b_pin, _en;
-    float _ki, _kp, _kd, _min, _max, _cal1_a, _cal2_a, _cal1_b, _cal2_b, _scale, _offset, _max_current, _filter_strength;
+    float _dki, _dkp, _dkd, _qki, _qkp, _qkd, _min, _max, _cal1_a, _cal2_a, 
+          _cal1_b, _cal2_b, _scale, _offset, _max_current, _filter_strength;
     int _debugger_channels, _debugger_size;
-    float _pidmax, _pidmin;
+    float _dpidmax, _dpidmin, _qpidmax, _qpidmin;
     void (*_callbacks[16])(Context *);
     unsigned long  _call_times[16];
     int _call_periods[16];