Prius IPM controller

Dependencies:   mbed

Fork of analoghalls5_5 by N K

Revision:
26:d00561c7bf43
Parent:
25:0003b824dd7d
Child:
29:cb03760ba9ea
--- a/context.cpp	Tue Mar 10 17:47:08 2015 +0000
+++ b/context.cpp	Tue Mar 10 17:51:38 2015 +0000
@@ -28,12 +28,21 @@
     _filter_strength = filter_strength;
 }
 
-void Context::ConfigurePidControllers(float ki, float kp, float kd, float pidmax, float pidmin) {
-    _ki = ki;
-    _kp = kp;
-    _kd = kd;
-    _pidmax = pidmax;
-    _pidmin = pidmin;
+void Context::ConfigureIdPidController(float ki, float kp, float kd, float pidmax, float pidmin) {
+    _dki = ki;
+    _dkp = kp;
+    _dkd = kd;
+    _dpidmax = pidmax;
+    _dpidmin = pidmin;
+}
+
+
+void Context::ConfigureIqPidController(float ki, float kp, float kd, float pidmax, float pidmin) {
+    _qki = ki;
+    _qkp = kp;
+    _qkd = kd;
+    _qpidmax = pidmax;
+    _qpidmin = pidmin;
 }
 
 void Context::ConfigureThrottle(PinName throttle_pin, float min, float max) {
@@ -89,8 +98,8 @@
     sense_t_motor = new TempSensor();
     sense_t_inverter = new TempSensor();
     
-    pid_d = new PidController(_ki, _kp, _kd, _pidmax, _pidmin);
-    pid_q = new PidController(_ki, _kp, _kd, _pidmax, _pidmin);
+    pid_d = new PidController(_dki, _dkp, _dkd, _dpidmax, _dpidmin);
+    pid_q = new PidController(_qki, _qkp, _qkd, _qpidmax, _qpidmin);
     
     motor = new Motor(sense_ic, sense_ib, sense_p, sense_t_motor);
     inverter = new Inverter(_oa, _ob, _oc, _en, sense_bus, sense_t_inverter);