Prius IPM controller

Dependencies:   mbed

Fork of analoghalls5_5 by N K

Revision:
29:cb03760ba9ea
Parent:
26:d00561c7bf43
Child:
30:2b6d426f3bfc
--- a/context.cpp	Sat Mar 14 19:18:34 2015 +0000
+++ b/context.cpp	Sat Mar 14 23:42:46 2015 +0000
@@ -71,9 +71,7 @@
     _callbacks[_index++] = f;
 }
 
-void Context::Start() {
-    InitData();
-    
+void Context::Start() {    
     for (;;) {
         for (int i = 0; i < _index; i++) {
             if (_time - _call_times[i] >= _call_periods[i]) {
@@ -91,8 +89,8 @@
 
 void Context::InitData() {
     sense_p = new AnalogHallPositionSensor(_pos_a_pin, _pos_b_pin, _cal1_a, _cal2_a, _cal1_b, _cal2_b, _offset);
-    sense_ib = new AnalogCurrentSensor(_ib_pin, _scale);
-    sense_ic = new AnalogCurrentSensor(_ic_pin, _scale);
+    channel_ib = NativeAnalogIn::PinToAdcChannel(_ib_pin);
+    channel_ic = NativeAnalogIn::PinToAdcChannel(_ic_pin);
     throttle = new Throttle(_throttle_pin, _min, _max);
     sense_bus = new VoltageSensor();
     sense_t_motor = new TempSensor();
@@ -101,7 +99,7 @@
     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);
+    motor = new Motor(sense_p, sense_t_motor);
     inverter = new Inverter(_oa, _ob, _oc, _en, sense_bus, sense_t_inverter);
     user = new User(throttle);
     modulator = new SvmModulator(inverter);
@@ -109,6 +107,7 @@
     filter_d = new MeanFilter(_filter_strength);
     filter_q = new MeanFilter(_filter_strength);
     
+    
     serial = new Serial(USBTX, USBRX);
     serial->baud(115200);
     serial->printf("%s\n\r", "Init Serial Communications");