
yay!
Dependencies: TextLCD mbed-rtos mbed
Fork of 541_Pacermaker by
PacemakerLibrary.h@6:a1a3e73d90f3, 2015-12-02 (annotated)
- Committer:
- sanjeet25
- Date:
- Wed Dec 02 09:42:45 2015 +0000
- Revision:
- 6:a1a3e73d90f3
- Parent:
- 5:f21d7c8ef5bc
pacemaker_dynamicAVI
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
adamvan101 | 2:3d47bb081502 | 1 | #include "mbed.h" |
adamvan101 | 2:3d47bb081502 | 2 | #include "rtos.h" |
adamvan101 | 4:8e3dc7e73627 | 3 | #include "TextLCD.h" |
adamvan101 | 2:3d47bb081502 | 4 | |
adamvan101 | 2:3d47bb081502 | 5 | #define NORMAL 1 |
adamvan101 | 2:3d47bb081502 | 6 | #define EXERCISE 2 |
adamvan101 | 2:3d47bb081502 | 7 | #define SLEEP 3 |
adamvan101 | 2:3d47bb081502 | 8 | #define MANUAL 4 |
adamvan101 | 2:3d47bb081502 | 9 | |
adamvan101 | 2:3d47bb081502 | 10 | #define LRI_const 1 |
adamvan101 | 2:3d47bb081502 | 11 | #define URI_const 2 |
adamvan101 | 2:3d47bb081502 | 12 | #define AVI_const 3 |
adamvan101 | 2:3d47bb081502 | 13 | #define VRP_const 4 |
adamvan101 | 2:3d47bb081502 | 14 | #define PVAB_const 5 |
adamvan101 | 5:f21d7c8ef5bc | 15 | #define PVARP_const 6 |
adamvan101 | 2:3d47bb081502 | 16 | |
adamvan101 | 2:3d47bb081502 | 17 | DigitalOut vpaceLED(LED1); |
adamvan101 | 2:3d47bb081502 | 18 | DigitalOut apaceLED(LED2); |
adamvan101 | 2:3d47bb081502 | 19 | DigitalOut vsenseLED(LED3); |
adamvan101 | 2:3d47bb081502 | 20 | DigitalOut asenseLED(LED4); |
adamvan101 | 2:3d47bb081502 | 21 | DigitalOut buzzer(p21); |
adamvan101 | 2:3d47bb081502 | 22 | DigitalOut aPace(p23); |
adamvan101 | 2:3d47bb081502 | 23 | DigitalOut vPace(p24); |
adamvan101 | 2:3d47bb081502 | 24 | InterruptIn ASignal(p25); |
adamvan101 | 2:3d47bb081502 | 25 | InterruptIn VSignal(p26); |
sanjeet25 | 6:a1a3e73d90f3 | 26 | DigitalOut Dynamic_AVI(p27); |
adamvan101 | 2:3d47bb081502 | 27 | Serial pc(USBTX, USBRX); |
adamvan101 | 2:3d47bb081502 | 28 | |
adamvan101 | 2:3d47bb081502 | 29 | int32_t signal1 = 0x01; |
adamvan101 | 2:3d47bb081502 | 30 | int32_t signal2 = 0x02; |
adamvan101 | 2:3d47bb081502 | 31 | int32_t signal3 = 0x03; |
adamvan101 | 2:3d47bb081502 | 32 | int32_t signal4 = 0x04; |
adamvan101 | 3:2ed03f9e0042 | 33 | int32_t signal5 = 0x05; |
adamvan101 | 2:3d47bb081502 | 34 | |
adamvan101 | 2:3d47bb081502 | 35 | bool waitASignal; |
adamvan101 | 2:3d47bb081502 | 36 | bool waitVSignal; |
adamvan101 | 4:8e3dc7e73627 | 37 | bool APace = false; |
adamvan101 | 4:8e3dc7e73627 | 38 | bool waitVPace = true; |
adamvan101 | 4:8e3dc7e73627 | 39 | bool ASenseReceived = true; |
adamvan101 | 4:8e3dc7e73627 | 40 | bool VPaceNotReceived = false; |
adamvan101 | 4:8e3dc7e73627 | 41 | bool alarmPrinted = false; |
adamvan101 | 4:8e3dc7e73627 | 42 | bool TimeConstTimerOn = false; |
adamvan101 | 4:8e3dc7e73627 | 43 | bool changePacemakerMode = false; |
adamvan101 | 2:3d47bb081502 | 44 | |
adamvan101 | 2:3d47bb081502 | 45 | int heartRate = 0; |
adamvan101 | 4:8e3dc7e73627 | 46 | float avgHeartRate = 0; |
adamvan101 | 4:8e3dc7e73627 | 47 | int pacemakerIntervalInMs = 10000; |
adamvan101 | 2:3d47bb081502 | 48 | int pacemakerInterval = 10; |
adamvan101 | 4:8e3dc7e73627 | 49 | int pacemakerMode = NORMAL; |
adamvan101 | 3:2ed03f9e0042 | 50 | int timeConstraint; |
adamvan101 | 2:3d47bb081502 | 51 | |
adamvan101 | 4:8e3dc7e73627 | 52 | char char_read; |
adamvan101 | 2:3d47bb081502 | 53 | |
adamvan101 | 2:3d47bb081502 | 54 | const int normalModeLRI= 1500; |
adamvan101 | 5:f21d7c8ef5bc | 55 | const int normalModeAVI = 60; //65 |
adamvan101 | 2:3d47bb081502 | 56 | const int normalModePVARP = 150; |
adamvan101 | 2:3d47bb081502 | 57 | const int normalModeURI = 600; |
adamvan101 | 2:3d47bb081502 | 58 | const int normalModeVRP = 100; |
adamvan101 | 5:f21d7c8ef5bc | 59 | const int normalModePVAB = 20; |
adamvan101 | 2:3d47bb081502 | 60 | |
adamvan101 | 2:3d47bb081502 | 61 | const int sleepModeLRI= 2000; |
adamvan101 | 5:f21d7c8ef5bc | 62 | const int sleepModeAVI = 60; //65 |
adamvan101 | 2:3d47bb081502 | 63 | const int sleepModePVARP = 150; |
adamvan101 | 2:3d47bb081502 | 64 | const int sleepModeURI = 1000; |
adamvan101 | 2:3d47bb081502 | 65 | const int sleepModeVRP = 100; |
adamvan101 | 5:f21d7c8ef5bc | 66 | const int sleepModePVAB = 20; |
adamvan101 | 2:3d47bb081502 | 67 | |
adamvan101 | 2:3d47bb081502 | 68 | const int exerciseModeLRI=1000; |
adamvan101 | 5:f21d7c8ef5bc | 69 | const int exerciseModeAVI = 60; //65 |
adamvan101 | 2:3d47bb081502 | 70 | const int exerciseModePVARP = 150; |
adamvan101 | 2:3d47bb081502 | 71 | const int exerciseModeURI = 400; |
adamvan101 | 2:3d47bb081502 | 72 | const int exerciseModeVRP = 100; |
adamvan101 | 5:f21d7c8ef5bc | 73 | const int exerciseModePVAB = 20; |
adamvan101 | 2:3d47bb081502 | 74 | |
adamvan101 | 2:3d47bb081502 | 75 | int LRI; |
adamvan101 | 2:3d47bb081502 | 76 | int VRP; |
adamvan101 | 2:3d47bb081502 | 77 | int PVARP; |
adamvan101 | 2:3d47bb081502 | 78 | int AVI; |
adamvan101 | 2:3d47bb081502 | 79 | int URI; |
adamvan101 | 2:3d47bb081502 | 80 | int PVAB; |
adamvan101 | 2:3d47bb081502 | 81 | |
sanjeet25 | 6:a1a3e73d90f3 | 82 | int AVI_MAX=70; |
sanjeet25 | 6:a1a3e73d90f3 | 83 | int AVISTEP=1; |
sanjeet25 | 6:a1a3e73d90f3 | 84 | |
adamvan101 | 2:3d47bb081502 | 85 | Mutex displayMutex; |
adamvan101 | 4:8e3dc7e73627 | 86 | Mutex AMutex; |
adamvan101 | 4:8e3dc7e73627 | 87 | Mutex VMutex; |
adamvan101 | 2:3d47bb081502 | 88 | Mutex timeConstraintMutex; |
adamvan101 | 2:3d47bb081502 | 89 | Mutex heartRateMutex; |
adamvan101 | 3:2ed03f9e0042 | 90 | Mutex observationMutex; |
adamvan101 | 2:3d47bb081502 | 91 | |
adamvan101 | 2:3d47bb081502 | 92 | Thread *P_PacemakerKeyboard; |
adamvan101 | 2:3d47bb081502 | 93 | Thread *P_PacemakerSend; |
adamvan101 | 2:3d47bb081502 | 94 | Thread *P_PacemakerModeSwitch; |
adamvan101 | 2:3d47bb081502 | 95 | Thread *P_PacemakerReceive; |
adamvan101 | 3:2ed03f9e0042 | 96 | Thread *P_PacemakerAlarm; |
adamvan101 | 2:3d47bb081502 | 97 | |
adamvan101 | 4:8e3dc7e73627 | 98 | Timer globalTimer; |
adamvan101 | 2:3d47bb081502 | 99 | Timer displayTimer; |
adamvan101 | 4:8e3dc7e73627 | 100 | |
adamvan101 | 4:8e3dc7e73627 | 101 | RtosTimer *TimeConstTimer; |
adamvan101 | 4:8e3dc7e73627 | 102 | RtosTimer *AtrialEventTimer; |