Prius IPM controller

Dependencies:   mbed

Fork of analoghalls5_5 by N K

Revision:
3:0a2396597e0d
Parent:
1:1f58bdcf2956
Child:
4:fdadf4a3577a
--- a/main.cpp	Sun Mar 01 10:56:57 2015 +0000
+++ b/main.cpp	Mon Mar 02 01:24:37 2015 +0000
@@ -12,14 +12,19 @@
     TempSensor *sense_t_inverter = new TempSensor();
     Throttle *throttle = new Throttle(A0, 0.5f, 3.0f);
     
+    PidController *pid_d = new PidController(1.0f, 0.0f, 0.0f, 0.0f, 1.0f);
+    PidController *pid_q = new PidController (1.0f, 0.0f, 0.0f, 0.0f, 1.0f);
+    
     Motor *motor = new Motor(sense_ia, sense_ib, sense_p, sense_t_motor);
     Inverter *inverter = new Inverter(D6, D13, D3, D8, sense_bus, sense_t_inverter);
     User *user = new User(throttle);
+    Modulator *modulator = new SinusoidalModulator(inverter);
+    StatusUpdater *updater = new StatusUpdater(inverter, motor, user);
+    LoopDriver *driver = new LoopDriver(inverter, motor, user, pid_d, pid_q, modulator, 100.0f, 5000);
     
     motor->Config(4, 20.0f);
-    motor->UpdateState();
+    updater->Config(5000, 10);
     
-    inverter->SetDtcA(0.5f);
-    inverter->SetDtcB(0.5f);
-    inverter->SetDtcC(0.5f);
+    driver->Start();
+    updater->Start();
 }