working-est copy with class-based code. still open loop
Fork of analoghalls6 by
main.cpp@7:76d6ceb23e0d, 2015-03-05 (annotated)
- Committer:
- nki
- Date:
- Thu Mar 05 11:02:54 2015 +0000
- Revision:
- 7:76d6ceb23e0d
- Parent:
- 6:99ee0ce47fb2
uh what;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 0:54cf32d35f4d | 1 | #include "includes.h" |
bwang | 1:1f58bdcf2956 | 2 | #include "core.h" |
bwang | 1:1f58bdcf2956 | 3 | #include "sensors.h" |
bwang | 1:1f58bdcf2956 | 4 | #include "meta.h" |
bwang | 0:54cf32d35f4d | 5 | |
nki | 4:fdadf4a3577a | 6 | Serial *pc = new Serial(SERIAL_TX, SERIAL_RX); |
nki | 4:fdadf4a3577a | 7 | |
bwang | 0:54cf32d35f4d | 8 | int main() { |
nki | 4:fdadf4a3577a | 9 | pc->baud(115200); |
nki | 7:76d6ceb23e0d | 10 | PositionSensor *sense_p = new AnalogHallPositionSensor(A4, A5, 0.256f, 0.484f, 0.254f, 0.474f, 205.0f); |
nki | 7:76d6ceb23e0d | 11 | CurrentSensor *sense_ia = new AnalogCurrentSensor(A1, 0.01); |
bwang | 0:54cf32d35f4d | 12 | CurrentSensor *sense_ib = new AnalogCurrentSensor(A2, 0.01); |
bwang | 0:54cf32d35f4d | 13 | VoltageSensor *sense_bus = new AnalogVoltageSensor(A5, 0.01); |
bwang | 0:54cf32d35f4d | 14 | TempSensor *sense_t_motor = new TempSensor(); |
bwang | 0:54cf32d35f4d | 15 | TempSensor *sense_t_inverter = new TempSensor(); |
bwang | 0:54cf32d35f4d | 16 | Throttle *throttle = new Throttle(A0, 0.5f, 3.0f); |
bwang | 0:54cf32d35f4d | 17 | |
nki | 7:76d6ceb23e0d | 18 | PidController *pid_d = new PidController(1.0f, 0.0f, 0.0f, 0.0f, 1.0f); |
nki | 7:76d6ceb23e0d | 19 | PidController *pid_q = new PidController (1.0f, 0.0f, 0.0f, 0.0f, 1.0f); |
bwang | 3:0a2396597e0d | 20 | |
nki | 7:76d6ceb23e0d | 21 | Motor *motor = new Motor(sense_ia, sense_ib, sense_p, sense_t_motor); |
bwang | 0:54cf32d35f4d | 22 | Inverter *inverter = new Inverter(D6, D13, D3, D8, sense_bus, sense_t_inverter); |
bwang | 0:54cf32d35f4d | 23 | User *user = new User(throttle); |
bwang | 3:0a2396597e0d | 24 | Modulator *modulator = new SinusoidalModulator(inverter); |
bwang | 3:0a2396597e0d | 25 | StatusUpdater *updater = new StatusUpdater(inverter, motor, user); |
nki | 7:76d6ceb23e0d | 26 | LoopDriver *driver = new LoopDriver(inverter, motor, user, pid_d, pid_q, modulator, 100.0f, 5000); |
bwang | 0:54cf32d35f4d | 27 | |
bwang | 0:54cf32d35f4d | 28 | motor->Config(4, 20.0f); |
bwang | 3:0a2396597e0d | 29 | updater->Config(5000, 10); |
nki | 4:fdadf4a3577a | 30 | |
bwang | 3:0a2396597e0d | 31 | driver->Start(); |
bwang | 3:0a2396597e0d | 32 | updater->Start(); |
bwang | 0:54cf32d35f4d | 33 | } |