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.
Dependencies: TextLCD mbed-rtos mbed
Fork of mbed_PM by
main.cpp@3:0e4473c63935, 2015-12-01 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |
