CIS541 / Mbed 2 deprecated 541_Pacermakerdynamic

Dependencies:   TextLCD mbed-rtos mbed

Fork of 541_Pacermaker by CIS541

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers PacemakerLibrary.h Source File

PacemakerLibrary.h

00001 #include "mbed.h"
00002 #include "rtos.h"
00003 #include "TextLCD.h"
00004 
00005 #define NORMAL 1
00006 #define EXERCISE 2
00007 #define SLEEP 3
00008 #define MANUAL 4
00009 
00010 #define LRI_const 1
00011 #define URI_const 2
00012 #define AVI_const 3
00013 #define VRP_const 4
00014 #define PVAB_const 5
00015 #define PVARP_const 6
00016 
00017 DigitalOut vpaceLED(LED1);
00018 DigitalOut apaceLED(LED2);
00019 DigitalOut vsenseLED(LED3);
00020 DigitalOut asenseLED(LED4);
00021 DigitalOut buzzer(p21);
00022 DigitalOut aPace(p23);
00023 DigitalOut vPace(p24);
00024 InterruptIn ASignal(p25);
00025 InterruptIn VSignal(p26);
00026 DigitalOut Dynamic_AVI(p27);
00027 Serial pc(USBTX, USBRX);
00028 
00029 int32_t signal1 = 0x01;
00030 int32_t signal2 = 0x02;
00031 int32_t signal3 = 0x03;
00032 int32_t signal4 = 0x04;
00033 int32_t signal5 = 0x05;
00034 
00035 bool waitASignal;
00036 bool waitVSignal;
00037 bool APace = false;
00038 bool waitVPace = true;
00039 bool ASenseReceived = true;
00040 bool VPaceNotReceived = false;
00041 bool alarmPrinted = false;
00042 bool TimeConstTimerOn = false;
00043 bool changePacemakerMode = false;
00044 
00045 int heartRate = 0;
00046 float avgHeartRate = 0;
00047 int pacemakerIntervalInMs = 10000;
00048 int pacemakerInterval = 10;
00049 int pacemakerMode = NORMAL;
00050 int timeConstraint;
00051 
00052 char char_read;
00053 
00054 const int normalModeLRI= 1500;
00055 const int normalModeAVI = 60; //65
00056 const int normalModePVARP = 150;
00057 const int normalModeURI = 600;
00058 const int normalModeVRP = 100;
00059 const int normalModePVAB = 20;
00060 
00061 const int sleepModeLRI= 2000;
00062 const int sleepModeAVI = 60; //65
00063 const int sleepModePVARP = 150;
00064 const int sleepModeURI = 1000;
00065 const int sleepModeVRP = 100;
00066 const int sleepModePVAB = 20;
00067 
00068 const int exerciseModeLRI=1000;
00069 const int exerciseModeAVI = 60; //65
00070 const int exerciseModePVARP = 150;
00071 const int exerciseModeURI = 400;
00072 const int exerciseModeVRP = 100;
00073 const int exerciseModePVAB = 20;
00074 
00075 int LRI;
00076 int VRP;
00077 int PVARP;
00078 int AVI;
00079 int URI;
00080 int PVAB;
00081 
00082 int AVI_MAX=70;
00083 int AVISTEP=1;
00084 
00085 Mutex displayMutex;
00086 Mutex AMutex;
00087 Mutex VMutex;
00088 Mutex timeConstraintMutex;
00089 Mutex heartRateMutex;
00090 Mutex observationMutex;
00091 
00092 Thread *P_PacemakerKeyboard;
00093 Thread *P_PacemakerSend;
00094 Thread *P_PacemakerModeSwitch;
00095 Thread *P_PacemakerReceive;
00096 Thread *P_PacemakerAlarm;
00097 
00098 Timer globalTimer;
00099 Timer displayTimer;
00100 
00101 RtosTimer *TimeConstTimer;
00102 RtosTimer *AtrialEventTimer;