Harry Okun / Mbed 2 deprecated mbed_PM

Dependencies:   TextLCD mbed-rtos mbed

Fork of mbed_PM by Andrew Connors

Committer:
aconnors
Date:
Tue Dec 01 00:48:27 2015 +0000
Revision:
3:0e4473c63935
Parent:
2:926bb514dcae
Keyboard and ModeSwitch implemented

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aconnors 3:0e4473c63935 1 #include <string.h>
aconnors 0:093bb69f95f0 2 #include "mbed.h"
aconnors 0:093bb69f95f0 3 #include "rtos.h"
aconnors 2:926bb514dcae 4 #include "TextLCD.h"
aconnors 0:093bb69f95f0 5
aconnors 2:926bb514dcae 6 Serial keyboard(USBTX, USBRX);
aconnors 2:926bb514dcae 7
aconnors 2:926bb514dcae 8 int PacemakerA, PacemakerV = 0;
aconnors 2:926bb514dcae 9 DigitalOut Apace(), Vpace();
aconnors 2:926bb514dcae 10 DigitalIn Aget(), Vget();
aconnors 2:926bb514dcae 11
aconnors 2:926bb514dcae 12 int PacemakerModeGuard = 0;
aconnors 3:0e4473c63935 13 int observationInterval = 10000;
aconnors 2:926bb514dcae 14
aconnors 2:926bb514dcae 15 void PacemakerSense() {
aconnors 2:926bb514dcae 16
aconnors 2:926bb514dcae 17 }
aconnors 2:926bb514dcae 18
aconnors 3:0e4473c63935 19 // Keyboard and ModeSwitch thread
aconnors 2:926bb514dcae 20 void PacemakerKeyboard() {
aconnors 2:926bb514dcae 21 while(1) {
aconnors 2:926bb514dcae 22 char c = keyboard.getc();
aconnors 2:926bb514dcae 23 switch(c) {
aconnors 2:926bb514dcae 24 case 'n':
aconnors 2:926bb514dcae 25 case 'N':
aconnors 2:926bb514dcae 26 PacemakerModeGuard = 0;
aconnors 2:926bb514dcae 27 break;
aconnors 2:926bb514dcae 28 case 's':
aconnors 2:926bb514dcae 29 case 'S':
aconnors 2:926bb514dcae 30 PacemakerModeGuard = 1;
aconnors 2:926bb514dcae 31 break;
aconnors 2:926bb514dcae 32 case 'e':
aconnors 2:926bb514dcae 33 case 'E':
aconnors 2:926bb514dcae 34 PacemakerModeGuard = 2;
aconnors 2:926bb514dcae 35 break;
aconnors 2:926bb514dcae 36 case 'm':
aconnors 2:926bb514dcae 37 case 'M':
aconnors 2:926bb514dcae 38 PacemakerModeGuard = 3;
aconnors 2:926bb514dcae 39 break;
aconnors 2:926bb514dcae 40 case 'a':
aconnors 2:926bb514dcae 41 case 'A':
aconnors 2:926bb514dcae 42 if(PacemakerModeGuard == 3) {
aconnors 2:926bb514dcae 43 PacemakerA = 1;
aconnors 2:926bb514dcae 44 Thread::wait(10);
aconnors 2:926bb514dcae 45 PacemakerA = 0;
aconnors 2:926bb514dcae 46 }
aconnors 2:926bb514dcae 47 break;
aconnors 2:926bb514dcae 48 case 'v':
aconnors 2:926bb514dcae 49 case 'V':
aconnors 3:0e4473c63935 50 if(PacemakerModeGuard == 3) {
aconnors 3:0e4473c63935 51 PacemakerV = 1;
aconnors 3:0e4473c63935 52 Thread::wait(10);
aconnors 3:0e4473c63935 53 PacemakerV = 0;
aconnors 3:0e4473c63935 54 }
aconnors 3:0e4473c63935 55 break;
aconnors 3:0e4473c63935 56 case 'o':
aconnors 3:0e4473c63935 57 case 'O':
aconnors 3:0e4473c63935 58 char buff[3];
aconnors 3:0e4473c63935 59 keyboard.gets(buff, 3);
aconnors 3:0e4473c63935 60 int newObs;
aconnors 3:0e4473c63935 61 if(sscanf(buff, "%i", &newObs) != 0) {
aconnors 3:0e4473c63935 62 observationInterval = newObs;
aconnors 3:0e4473c63935 63 }
aconnors 3:0e4473c63935 64 break;
aconnors 3:0e4473c63935 65 case default:
aconnors 3:0e4473c63935 66 break;
aconnors 2:926bb514dcae 67 }
aconnors 2:926bb514dcae 68 }
aconnors 2:926bb514dcae 69 }
aconnors 2:926bb514dcae 70
aconnors 2:926bb514dcae 71 void PacemakerDisplay() {
aconnors 2:926bb514dcae 72
aconnors 2:926bb514dcae 73 }
aconnors 2:926bb514dcae 74
aconnors 2:926bb514dcae 75 void PacemakerAlarm() {
aconnors 2:926bb514dcae 76
aconnors 2:926bb514dcae 77 }
aconnors 2:926bb514dcae 78
aconnors 2:926bb514dcae 79 void PacemakerLED() {
aconnors 2:926bb514dcae 80
aconnors 2:926bb514dcae 81 }
aconnors 2:926bb514dcae 82
aconnors 2:926bb514dcae 83
aconnors 2:926bb514dcae 84
aconnors 2:926bb514dcae 85 int main() {
aconnors 2:926bb514dcae 86
aconnors 2:926bb514dcae 87 }