N K
/
analoghalls_part_4
yup
Fork of analoghalls by
main.cpp@5:eeb8af99cb6c, 2015-02-26 (annotated)
- Committer:
- nki
- Date:
- Thu Feb 26 09:50:36 2015 +0000
- Revision:
- 5:eeb8af99cb6c
- Parent:
- 4:f18f6bc5e1fd
- Child:
- 6:4960629abb90
omg so much new stuff check changelog.txt;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nki | 0:9753f3c2e5ca | 1 | #include "mbed.h" |
nki | 0:9753f3c2e5ca | 2 | #include "constants.h" |
nki | 0:9753f3c2e5ca | 3 | #include "shared.h" |
nki | 0:9753f3c2e5ca | 4 | #include "util.h" |
nki | 0:9753f3c2e5ca | 5 | #include "math.h" |
bwang | 1:70eed554399b | 6 | #include "isr.h" |
nki | 0:9753f3c2e5ca | 7 | |
nki | 0:9753f3c2e5ca | 8 | Serial pc(SERIAL_TX, SERIAL_RX); |
nki | 0:9753f3c2e5ca | 9 | |
nki | 5:eeb8af99cb6c | 10 | |
nki | 0:9753f3c2e5ca | 11 | PwmOut pha(_PH_A); |
nki | 0:9753f3c2e5ca | 12 | PwmOut phb(_PH_B); |
nki | 0:9753f3c2e5ca | 13 | PwmOut phc(_PH_C); |
nki | 0:9753f3c2e5ca | 14 | |
nki | 0:9753f3c2e5ca | 15 | DigitalOut en(_EN); |
nki | 0:9753f3c2e5ca | 16 | |
bwang | 2:b5c19d4eddcc | 17 | DigitalIn dummy(D5); |
bwang | 2:b5c19d4eddcc | 18 | |
nki | 0:9753f3c2e5ca | 19 | AnalogIn throttle(_THROTTLE); |
nki | 0:9753f3c2e5ca | 20 | AnalogIn analoga(_ANALOGA); |
nki | 0:9753f3c2e5ca | 21 | AnalogIn analogb(_ANALOGB); |
nki | 0:9753f3c2e5ca | 22 | |
nki | 5:eeb8af99cb6c | 23 | AnalogIn ia(_IA); |
nki | 5:eeb8af99cb6c | 24 | AnalogIn ib(_IB); |
nki | 5:eeb8af99cb6c | 25 | |
nki | 0:9753f3c2e5ca | 26 | Motor* motor; |
nki | 0:9753f3c2e5ca | 27 | |
bwang | 3:86ccde39f61b | 28 | #ifdef __DEBUG |
bwang | 3:86ccde39f61b | 29 | float *fbuffer; |
bwang | 3:86ccde39f61b | 30 | int bufidx = 0; |
bwang | 4:f18f6bc5e1fd | 31 | int skipidx = 0; |
bwang | 3:86ccde39f61b | 32 | #endif |
bwang | 2:b5c19d4eddcc | 33 | #ifdef __USE_THROTTLE |
bwang | 2:b5c19d4eddcc | 34 | Ticker dtc_upd_ticker; |
bwang | 2:b5c19d4eddcc | 35 | Ticker throttle_upd_ticker; |
nki | 5:eeb8af99cb6c | 36 | Ticker isense_upd_ticker; |
bwang | 2:b5c19d4eddcc | 37 | #endif |
nki | 0:9753f3c2e5ca | 38 | |
bwang | 1:70eed554399b | 39 | float throttle_read; |
nki | 5:eeb8af99cb6c | 40 | float ia_read; |
nki | 5:eeb8af99cb6c | 41 | float ib_read; |
nki | 0:9753f3c2e5ca | 42 | |
bwang | 4:f18f6bc5e1fd | 43 | int main() { |
nki | 5:eeb8af99cb6c | 44 | pc.baud(115200); |
bwang | 4:f18f6bc5e1fd | 45 | #ifdef __DEBUG |
bwang | 4:f18f6bc5e1fd | 46 | pc.printf("%s\n", "Debug mode ON"); |
bwang | 4:f18f6bc5e1fd | 47 | #endif |
nki | 0:9753f3c2e5ca | 48 | en = 1; |
bwang | 3:86ccde39f61b | 49 | #ifdef __DEBUG |
bwang | 4:f18f6bc5e1fd | 50 | fbuffer = (float*)malloc(DBG_BUF_SZ*sizeof(float)); |
bwang | 3:86ccde39f61b | 51 | #endif |
nki | 0:9753f3c2e5ca | 52 | initTimers(); |
nki | 0:9753f3c2e5ca | 53 | initPins(); |
nki | 0:9753f3c2e5ca | 54 | initData(); |
nki | 0:9753f3c2e5ca | 55 | |
nki | 0:9753f3c2e5ca | 56 | while(1) { |
bwang | 2:b5c19d4eddcc | 57 | #ifdef __USE_THROTTLE |
bwang | 1:70eed554399b | 58 | throttle_read = throttle; |
bwang | 2:b5c19d4eddcc | 59 | #endif |
nki | 5:eeb8af99cb6c | 60 | ia_read = ia; |
nki | 5:eeb8af99cb6c | 61 | ib_read = ib; |
nki | 5:eeb8af99cb6c | 62 | isense_update(); |
nki | 5:eeb8af99cb6c | 63 | pc.printf("%f",motor->current); |
nki | 5:eeb8af99cb6c | 64 | pc.printf("\n\r"); |
bwang | 1:70eed554399b | 65 | pos_update(); |
bwang | 2:b5c19d4eddcc | 66 | #ifndef __USE_THROTTLE |
bwang | 2:b5c19d4eddcc | 67 | dtc_update(); |
bwang | 2:b5c19d4eddcc | 68 | #endif |
bwang | 3:86ccde39f61b | 69 | #ifdef __DEBUG |
bwang | 3:86ccde39f61b | 70 | if (motor->debug_stop) break; |
bwang | 3:86ccde39f61b | 71 | #endif |
nki | 0:9753f3c2e5ca | 72 | } |
bwang | 3:86ccde39f61b | 73 | #ifdef __DEBUG |
bwang | 4:f18f6bc5e1fd | 74 | for (int i = 0; i < DBG_BUF_SZ; i++) { |
bwang | 3:86ccde39f61b | 75 | pc.printf("%f,", fbuffer[i]); |
bwang | 3:86ccde39f61b | 76 | } |
bwang | 3:86ccde39f61b | 77 | #endif |
nki | 0:9753f3c2e5ca | 78 | } |