Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
isr.cpp@86:b059f637e9ac, 2017-03-12 (annotated)
- Committer:
- bwang
- Date:
- Sun Mar 12 08:54:19 2017 +0000
- Revision:
- 86:b059f637e9ac
- Parent:
- main_isr.cpp@84:dd32640942a4
renamed some stuff
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| bwang | 82:5e741c5ffd9f | 1 | #include "globals.h" |
| bwang | 83:eb3704d4943f | 2 | #include "main.h" |
| bwang | 82:5e741c5ffd9f | 3 | #include "CommandProcessor.h" |
| bwang | 82:5e741c5ffd9f | 4 | |
| bwang | 82:5e741c5ffd9f | 5 | char linebuf[128]; |
| bwang | 82:5e741c5ffd9f | 6 | int index = 0; |
| bwang | 82:5e741c5ffd9f | 7 | |
| bwang | 82:5e741c5ffd9f | 8 | void rxCallback() { |
| bwang | 82:5e741c5ffd9f | 9 | while (io.pc->readable()) { |
| bwang | 82:5e741c5ffd9f | 10 | char c = io.pc->getc(); |
| bwang | 82:5e741c5ffd9f | 11 | if (c != 127 && c != '\r' && c != '\t') { |
| bwang | 82:5e741c5ffd9f | 12 | linebuf[index] = c; |
| bwang | 82:5e741c5ffd9f | 13 | index++; |
| bwang | 82:5e741c5ffd9f | 14 | io.pc->putc(c); |
| bwang | 82:5e741c5ffd9f | 15 | } else if (c == 127) { |
| bwang | 82:5e741c5ffd9f | 16 | if (index > 0) { |
| bwang | 82:5e741c5ffd9f | 17 | index--; |
| bwang | 82:5e741c5ffd9f | 18 | io.pc->putc(c); |
| bwang | 82:5e741c5ffd9f | 19 | } |
| bwang | 82:5e741c5ffd9f | 20 | } else if (c == '\r') { |
| bwang | 82:5e741c5ffd9f | 21 | linebuf[index] = 0; |
| bwang | 82:5e741c5ffd9f | 22 | io.pc->putc(c); |
| bwang | 82:5e741c5ffd9f | 23 | processCmd(io.pc, io.pref, linebuf); |
| bwang | 82:5e741c5ffd9f | 24 | index = 0; |
| bwang | 82:5e741c5ffd9f | 25 | io.pc->putc('>'); |
| bwang | 82:5e741c5ffd9f | 26 | } |
| bwang | 82:5e741c5ffd9f | 27 | } |
| bwang | 83:eb3704d4943f | 28 | } |
| bwang | 83:eb3704d4943f | 29 | |
| bwang | 83:eb3704d4943f | 30 | extern "C" void TIM1_UP_TIM10_IRQHandler(void) { |
| bwang | 83:eb3704d4943f | 31 | int start_state = io.throttle_in->state(); |
| bwang | 83:eb3704d4943f | 32 | if (TIM1->SR & TIM_SR_UIF ) { |
| bwang | 83:eb3704d4943f | 33 | ADC1->CR2 |= 0x40000000; |
| bwang | 83:eb3704d4943f | 34 | volatile int delay; |
| bwang | 83:eb3704d4943f | 35 | for (delay = 0; delay < 35; delay++); |
| bwang | 83:eb3704d4943f | 36 | read.adval1 = ADC1->DR; |
| bwang | 83:eb3704d4943f | 37 | read.adval2 = ADC2->DR; |
| bwang | 83:eb3704d4943f | 38 | commutate(); |
| bwang | 83:eb3704d4943f | 39 | } |
| bwang | 83:eb3704d4943f | 40 | TIM1->SR = 0x00; |
| bwang | 83:eb3704d4943f | 41 | int end_state = io.throttle_in->state(); |
| bwang | 83:eb3704d4943f | 42 | if (start_state != end_state) io.throttle_in->block(); |
| bwang | 82:5e741c5ffd9f | 43 | } |