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 541_Pacermaker by
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;
Generated on Sun Aug 21 2022 22:36:06 by
1.7.2
