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
Diff: Pacemaker.cpp
- Revision:
- 1:d965ae2443b9
- Parent:
- 0:894a7ad8ea79
- Child:
- 2:c38a47cdb0db
--- a/Pacemaker.cpp Mon Nov 30 22:00:35 2015 +0000
+++ b/Pacemaker.cpp Mon Nov 30 22:23:09 2015 +0000
@@ -86,7 +86,7 @@
};
pacemakerventrical pventrical;
-//pacemakersend psend;
+pacemakersend psend1;
Modes mode;
//mode=Normal;
@@ -95,12 +95,13 @@
Thread *pa;
Thread *pv;
Thread *psend;
+Thread *aorv;
Thread *pmode;
void resetTimer0();
void resetTimer1();
-void VPacesend();
-void APacesend();
+void AorVPacesend();
+//void APacesend();
void ASignalreceive();
void VSignalreceive();
void PacemakerAtrial();
@@ -177,16 +178,17 @@
// APace1=0;
//}
-void AorVPacesend()
+void AorVPacesend(void const* args)
{
Thread::signal_wait(0x01);
if(aPace) {
+ pc.printf("Sending APace");
APace=1;
VPace1=0;
APace1=1;
VPace=0;
} else {
-
+ pc.printf("Sending VPace");
VPace=1;
VPace1=1;
APace=0;
@@ -276,30 +278,31 @@
{
pc.printf("enteredpsend");
while(1) {
- switch(psend) {
+ switch(psend1) {
case AVIEvent:
while(time_count<AVI||VSense==0||mode!=Manual);
if(time_count>=AVI) {
- VPacesend();
- psend=VentricalEvent;
+ (*aorv).signal_set(0x01);
+ //AorVPacesend("s");
+ psend1=VentricalEvent;
} else if(mode==Manual) {
while (mode==Manual);
- psend=AVIEvent;
+ psend1=AVIEvent;
} else if(VSense==1)
- psend=VentricalEvent;
+ psend1=VentricalEvent;
break;
case VentricalEvent:
while(ASense==0||time_count<LRI||VSense==0||mode!=Manual);
if(ASense==1) {
if(mode==Manual) {
while(mode==Manual);
- psend=AVIEvent;
+ psend1=AVIEvent;
} else if(VSense==1) {
resetTimer0();
- psend=PostVSense;
+ psend1=PostVSense;
} else {
resetTimer0();
- psend=AVIEvent;
+ psend1=AVIEvent;
}
}
break;
@@ -307,18 +310,18 @@
while(mode!=Manual||ASense==0||time_count<LRI-AVI);
if(mode==Manual) {
while(mode==Manual);
- psend=AVIEvent;
+ psend1=AVIEvent;
} else if(ASense==1) {
if(mode==Manual) {
while(mode==Manual);
} else {
resetTimer0();
- psend=AVIEvent;
+ psend1=AVIEvent;
}
} else if(time_count>=LRI-AVI) {
while(mode!=Manual);
while(mode==Manual);
- psend=AVIEvent;
+ psend1=AVIEvent;
}
break;
}
@@ -384,17 +387,19 @@
pc.printf("Manual");
} else if((key_input=='v'||key_input=='V')&& !changePacemakerInterval) {
if(mode==Manual) {
+ mode=Manual;
pc.printf("Ventricular");
- VPacesend();
+ // AorVPacesend();
aPace=false;
- (*Pace).signal_set(0x02);
+ (*aorv).signal_set(0x01);
}
} else if((key_input=='a'||key_input=='A')&&!changePacemakerInterval) {
if(mode==Manual) {
- APacesend();
+ mode=Manual;
+ //AorVPacesend();
pc.printf("Atrial");
aPace=true;
- (*Pace).signal_set(0x02);
+ (*aorv).signal_set(0x01);
}
} else if((key_input=='o'||key_input=='O')&&!changePacemakerInterval) {
int a = 10 + rand() % 80;
@@ -447,6 +452,8 @@
psend=&pacesend;
Thread pmodes(PacemakerModes);
pmode=&pmodes;
+ Thread aorvpacesend(AorVPacesend);
+ aorv=&aorvpacesend;
//Thread pdisplay(PacemakerDisplay);