yup

Dependencies:   mbed

Fork of analoghalls by Bayley Wang

Committer:
bwang
Date:
Sat Feb 21 21:39:33 2015 +0000
Revision:
1:70eed554399b
Parent:
0:9753f3c2e5ca
Child:
2:b5c19d4eddcc
potato

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nki 0:9753f3c2e5ca 1 #include "constants.h"
nki 0:9753f3c2e5ca 2 #include "shared.h"
nki 0:9753f3c2e5ca 3 #include "isr.h"
nki 0:9753f3c2e5ca 4 #include <stdlib.h>
nki 0:9753f3c2e5ca 5
nki 0:9753f3c2e5ca 6 void initTimers() {
bwang 1:70eed554399b 7 dtc_upd_ticker.attach_us(&dtc_update, 200);
bwang 1:70eed554399b 8 throttle_upd_ticker.attach_us(&throttle_update, 100000);
bwang 1:70eed554399b 9
nki 0:9753f3c2e5ca 10 pha.period_us(200);
nki 0:9753f3c2e5ca 11 phb.period_us(200);
nki 0:9753f3c2e5ca 12 phc.period_us(200);
nki 0:9753f3c2e5ca 13 pha = 0;
nki 0:9753f3c2e5ca 14 phb = 1.0f;
nki 0:9753f3c2e5ca 15 phc = 0;
nki 0:9753f3c2e5ca 16
nki 0:9753f3c2e5ca 17 }
nki 0:9753f3c2e5ca 18
bwang 1:70eed554399b 19 void initPins() {
nki 0:9753f3c2e5ca 20 en = 0;
nki 0:9753f3c2e5ca 21 }
nki 0:9753f3c2e5ca 22
nki 0:9753f3c2e5ca 23 void initData() {
nki 0:9753f3c2e5ca 24 motor = (Motor*) malloc(sizeof(Motor));
nki 0:9753f3c2e5ca 25 motor->sensor_phase = SENSOR_PHASE;
nki 0:9753f3c2e5ca 26 motor->halt = 1;
bwang 1:70eed554399b 27 motor->angle =0;
bwang 1:70eed554399b 28
nki 0:9753f3c2e5ca 29 float throttle_raw;
nki 0:9753f3c2e5ca 30 do {
nki 0:9753f3c2e5ca 31 throttle_raw = throttle;
nki 0:9753f3c2e5ca 32 throttle_raw = (throttle_raw - THROTTLE_DB) / (1.0f - THROTTLE_DB);
nki 0:9753f3c2e5ca 33 if (throttle_raw < 0.0f) throttle_raw = 0.0f;
nki 0:9753f3c2e5ca 34 } while (throttle_raw > 0.05f);
nki 0:9753f3c2e5ca 35
nki 0:9753f3c2e5ca 36 motor->throttle = (1.0f - THROTTLE_LPF) * throttle_raw + THROTTLE_LPF * motor->throttle;
nki 0:9753f3c2e5ca 37 if (motor->throttle < 0.05f) {
nki 0:9753f3c2e5ca 38 motor->halt = 1;
nki 0:9753f3c2e5ca 39 } else {
nki 0:9753f3c2e5ca 40 motor->halt = 0;
nki 0:9753f3c2e5ca 41 }
nki 0:9753f3c2e5ca 42 }