
HAHAHAHHA
Dependencies: TextLCD mbed-rtos mbed
Fork of 541-pacemaker-heart by
Diff: main.cpp
- Revision:
- 4:cf40000fdac1
- Parent:
- 3:1498846197ee
- Child:
- 5:ba77f2da6fc5
--- a/main.cpp Wed Dec 07 15:09:32 2016 +0000 +++ b/main.cpp Thu Dec 08 00:11:40 2016 +0000 @@ -40,7 +40,7 @@ int uri = 700; int avi = 150; int pvarp = 300; -int vrp = 100; +int vrp = 200; int arp = 50; @@ -49,6 +49,7 @@ int heartmode = 0; int v_flag = 0; int observation_interval = 10000; // In miliseconds +int tmm = 0; //testmode flag int heart_beats = 0; // Heart-Beats (sensed or paced) since the last observation interval Mutex hr_mutex; //hr_mutex.lock()/unlock() @@ -80,6 +81,10 @@ void vpace_irq() { //heartmodeThread->signal_set(0x1); + if(tmm) + { + osSignalSet(heartmodeTid, 0x1); + } osSignalSet(HeartSenseTid, 0x1); } @@ -87,6 +92,10 @@ void apace_irq() { //heartmodeThread->signal_set(0x10); + if(tmm) + { + osSignalSet(heartmodeTid, 0x10); + } osSignalSet(HeartSenseTid, 0x10); } @@ -820,7 +829,7 @@ //heartmodeThread = new Thread(); - //Callback<void()> testmodeTask((void*)NULL,(void (*)(void *))&testmode); +// Callback<void()> testmodeTask((void*)NULL,(void (*)(void *))&testmode); HeartSenseTid = osThreadCreate(osThread(HeartSense), NULL); heartmodeTid = osThreadCreate(osThread(randommode), NULL); @@ -835,6 +844,7 @@ switch((char)evt.value.p) { //pvarp = 0.3s case('r'): + tmm = 0; lcd.printf("R"); osThreadTerminate (heartmodeTid); osThreadTerminate (displayTid); @@ -851,21 +861,26 @@ // Thread::wait(100); break; case('t'): + + tmm = 1; lcd.printf("T"); osThreadTerminate (heartmodeTid); osThreadTerminate (displayTid); - if (testresults != NULL) { - fclose(testresults); - } asignal_led = 0; vsignal_led = 0; apace_led = 0; vpace_led = 0; - + osSignalClear (HeartSenseTid,0x1111); displayTid = osThreadCreate(osThread(displayThread), NULL); - heartmodeTid = osThreadCreate(osThread(testmode), NULL); + HeartSenseTid = osThreadCreate(osThread(testmode), NULL); + + if (testresults != NULL) { + fclose(testresults); + } + break; case('m'): + tmm = 0; lcd.printf("M"); osThreadTerminate (heartmodeTid); osThreadTerminate (displayTid); @@ -884,6 +899,7 @@ break; case('o'): + tmm = 0; lcd.printf("modeO"); obsinterval(); osThreadTerminate (displayTid);