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.
Diff: isr.cpp
- Revision:
- 86:b059f637e9ac
- Parent:
- 84:dd32640942a4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/isr.cpp Sun Mar 12 08:54:19 2017 +0000
@@ -0,0 +1,43 @@
+#include "globals.h"
+#include "main.h"
+#include "CommandProcessor.h"
+
+char linebuf[128];
+int index = 0;
+
+void rxCallback() {
+ while (io.pc->readable()) {
+ char c = io.pc->getc();
+ if (c != 127 && c != '\r' && c != '\t') {
+ linebuf[index] = c;
+ index++;
+ io.pc->putc(c);
+ } else if (c == 127) {
+ if (index > 0) {
+ index--;
+ io.pc->putc(c);
+ }
+ } else if (c == '\r') {
+ linebuf[index] = 0;
+ io.pc->putc(c);
+ processCmd(io.pc, io.pref, linebuf);
+ index = 0;
+ io.pc->putc('>');
+ }
+ }
+}
+
+extern "C" void TIM1_UP_TIM10_IRQHandler(void) {
+ int start_state = io.throttle_in->state();
+ if (TIM1->SR & TIM_SR_UIF ) {
+ ADC1->CR2 |= 0x40000000;
+ volatile int delay;
+ for (delay = 0; delay < 35; delay++);
+ read.adval1 = ADC1->DR;
+ read.adval2 = ADC2->DR;
+ commutate();
+ }
+ TIM1->SR = 0x00;
+ int end_state = io.throttle_in->state();
+ if (start_state != end_state) io.throttle_in->block();
+}
\ No newline at end of file