Changes done in ECG and BT

Dependencies:   SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217

Fork of merged_code2_20sept_2017_4th_oct_2017 by nikita teggi

Committer:
avp2417
Date:
Sun Jul 23 16:50:59 2017 +0000
Revision:
34:8f6b0dc124e8
Parent:
33:a80eed071fdc
Child:
35:43133f017ed4
Modification after review in 17th July New Display demo code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nikitateggi 19:1650bbc923cc 1 // changed the pid in all to int32_t;
nikitateggi 19:1650bbc923cc 2 //added bt
nikitateggi 19:1650bbc923cc 3
nikitateggi 0:c47fb0c1bbf6 4 #include "mbed.h"
nikitateggi 0:c47fb0c1bbf6 5 #include "display_modules.h"
nikitateggi 0:c47fb0c1bbf6 6 #include "touch_modules.h"
nikitateggi 1:8316c23ec6b9 7 #include "ecg_dec.h"
nikitateggi 1:8316c23ec6b9 8 #include "touch_modules.h"
nikitateggi 1:8316c23ec6b9 9 #include "glc.h"
nikitateggi 3:9a06c2bed650 10 #include "bp.h"
nikitateggi 1:8316c23ec6b9 11 #include "sdcard.h"
nikitateggi 4:6bd81bb1790d 12 #include "eeprom_pgm.h"
nikitateggi 19:1650bbc923cc 13 #include "struct.h"
nikitateggi 22:ffa88619551d 14 #include "battery.h"
nikitateggi 24:d992ee8369f4 15
nikitateggi 0:c47fb0c1bbf6 16 Serial gc(USBTX, USBRX);
nikitateggi 0:c47fb0c1bbf6 17 DigitalIn q1(PTB11);
nikitateggi 29:7edc76b15e3d 18 DigitalIn q(PTC5);
nikitateggi 29:7edc76b15e3d 19 DigitalIn q3(PTC12);
nikitateggi 19:1650bbc923cc 20 DigitalIn BT(PTA5); //bluetooth status pin
nikitateggi 31:0f67acfc6236 21 static uint32_t current_test_pid=0;
nikitateggi 31:0f67acfc6236 22 static uint32_t bt_file_sent_pid=0;
nikitateggi 19:1650bbc923cc 23 uint8_t touch(uint8_t state); // touch state
nikitateggi 19:1650bbc923cc 24 uint8_t display(uint8_t state1); // display state
nikitateggi 22:ffa88619551d 25 int32_t pid=0; // patient ID
nikitateggi 19:1650bbc923cc 26 static uint8_t nstate=0;
nikitateggi 19:1650bbc923cc 27 static uint8_t nstate1=0;
nikitateggi 19:1650bbc923cc 28 static uint8_t flag=0; //flag to indicate not to update pid as it is already done
nikitateggi 19:1650bbc923cc 29 static uint8_t ecg_flag=0; // ecg_flag to indicate the ecg test is already done for the same pid
nikitateggi 19:1650bbc923cc 30 static uint8_t glc_flag=0; // glc_flag to indicate the glc test is already done for the same pid
nikitateggi 19:1650bbc923cc 31 uint8_t state_r=0; // state to receive from bluetooth
nikitateggi 19:1650bbc923cc 32 uint8_t state_t=1; // state to transmit to bluetooth
nikitateggi 22:ffa88619551d 33 uint16_t heart_rate=0;
nikitateggi 0:c47fb0c1bbf6 34
nikitateggi 0:c47fb0c1bbf6 35
nikitateggi 0:c47fb0c1bbf6 36 int main(){
nikitateggi 0:c47fb0c1bbf6 37
nikitateggi 0:c47fb0c1bbf6 38
nikitateggi 19:1650bbc923cc 39
nikitateggi 3:9a06c2bed650 40
nikitateggi 1:8316c23ec6b9 41 DisableTouch();
nikitateggi 1:8316c23ec6b9 42 gc.baud(115200);
nikitateggi 1:8316c23ec6b9 43
nikitateggi 1:8316c23ec6b9 44 init_screen(); //initialize lcd
nikitateggi 1:8316c23ec6b9 45 screen_main(); // display of main screen
nikitateggi 19:1650bbc923cc 46 //state=10;
nikitateggi 1:8316c23ec6b9 47 flag=0;
nikitateggi 19:1650bbc923cc 48 //nstate=state;
nikitateggi 0:c47fb0c1bbf6 49 EnableTouch(); // enable touch function
nikitateggi 19:1650bbc923cc 50 static uint8_t main_state=1;
nikitateggi 19:1650bbc923cc 51 static uint8_t state_display=0;
nikitateggi 19:1650bbc923cc 52 static uint8_t state_touch=1;
nikitateggi 19:1650bbc923cc 53 static uint8_t state_t=1;
nikitateggi 19:1650bbc923cc 54 static uint8_t state_r=0;
nikitateggi 22:ffa88619551d 55 float b_voltage=0;
nikitateggi 22:ffa88619551d 56 /* b_voltage=battery_voltage();
nikitateggi 22:ffa88619551d 57 //gc.printf("%f \n", b_voltage );
nikitateggi 22:ffa88619551d 58 if (b_voltage<3.5)
nikitateggi 22:ffa88619551d 59 {
nikitateggi 22:ffa88619551d 60 bat_screen_nocharge();
nikitateggi 22:ffa88619551d 61 DisableTouch();
nikitateggi 22:ffa88619551d 62 }
nikitateggi 22:ffa88619551d 63
nikitateggi 22:ffa88619551d 64
nikitateggi 22:ffa88619551d 65 else
nikitateggi 22:ffa88619551d 66 {
nikitateggi 22:ffa88619551d 67 // enable touch function
nikitateggi 22:ffa88619551d 68 bat_screen_charge();
nikitateggi 22:ffa88619551d 69 EnableTouch();*/
nikitateggi 0:c47fb0c1bbf6 70 while(1)
nikitateggi 0:c47fb0c1bbf6 71 {
nikitateggi 19:1650bbc923cc 72 switch(main_state) // main state machine
nikitateggi 19:1650bbc923cc 73 {
nikitateggi 22:ffa88619551d 74 case 1: state_display=touch(state_touch); // touch state
nikitateggi 22:ffa88619551d 75 if(state_display==12)
nikitateggi 22:ffa88619551d 76 main_state=3;
nikitateggi 19:1650bbc923cc 77
nikitateggi 22:ffa88619551d 78 else
nikitateggi 22:ffa88619551d 79 main_state=2;
nikitateggi 19:1650bbc923cc 80 break;
nikitateggi 19:1650bbc923cc 81
nikitateggi 19:1650bbc923cc 82 case 2: state_touch=display(state_display); //display state
nikitateggi 22:ffa88619551d 83 /* if (b_voltage<3.5)
nikitateggi 22:ffa88619551d 84 {
nikitateggi 22:ffa88619551d 85 bat_screen_nocharge();
nikitateggi 22:ffa88619551d 86 DisableTouch();
nikitateggi 22:ffa88619551d 87 }
nikitateggi 22:ffa88619551d 88 else { */
nikitateggi 22:ffa88619551d 89 // bat_screen_charge();
nikitateggi 22:ffa88619551d 90 main_state=1;
nikitateggi 22:ffa88619551d 91 // }
nikitateggi 22:ffa88619551d 92 break;
nikitateggi 19:1650bbc923cc 93
nikitateggi 19:1650bbc923cc 94
nikitateggi 19:1650bbc923cc 95 case 3: DisableTouch(); // bluetooth send
nikitateggi 19:1650bbc923cc 96 if(BT==1)
nikitateggi 19:1650bbc923cc 97 {
nikitateggi 31:0f67acfc6236 98
nikitateggi 31:0f67acfc6236 99 BT_connection() ; // displaying connection on bluetooth
nikitateggi 19:1650bbc923cc 100 state_r=bt_send(state_t);
nikitateggi 19:1650bbc923cc 101 main_state=4;
nikitateggi 19:1650bbc923cc 102 }
nikitateggi 19:1650bbc923cc 103 else
nikitateggi 31:0f67acfc6236 104 {
nikitateggi 31:0f67acfc6236 105 BT_no_connection();
nikitateggi 19:1650bbc923cc 106 gc.printf("timeout");
nikitateggi 31:0f67acfc6236 107 }
nikitateggi 19:1650bbc923cc 108 break;
nikitateggi 19:1650bbc923cc 109
nikitateggi 19:1650bbc923cc 110 case 4:
nikitateggi 19:1650bbc923cc 111 state_t=bt_receive(state_r); // bluetooth receive
nikitateggi 19:1650bbc923cc 112 main_state=3;
nikitateggi 19:1650bbc923cc 113 // gc.printf("statet=%d",state_t);
nikitateggi 19:1650bbc923cc 114 if(state_t ==0)
nikitateggi 19:1650bbc923cc 115 {
nikitateggi 31:0f67acfc6236 116 BT_finished();
nikitateggi 31:0f67acfc6236 117 screen_BT_return();
nikitateggi 19:1650bbc923cc 118 EnableTouch();
nikitateggi 19:1650bbc923cc 119 main_state=1;
nikitateggi 31:0f67acfc6236 120 state_touch=12; // jumping to touch case 12
nikitateggi 19:1650bbc923cc 121 }
nikitateggi 19:1650bbc923cc 122 break;
nikitateggi 19:1650bbc923cc 123
nikitateggi 19:1650bbc923cc 124
nikitateggi 19:1650bbc923cc 125 }
nikitateggi 22:ffa88619551d 126 }
nikitateggi 19:1650bbc923cc 127
nikitateggi 19:1650bbc923cc 128 }
nikitateggi 19:1650bbc923cc 129
nikitateggi 22:ffa88619551d 130 //}
nikitateggi 19:1650bbc923cc 131
nikitateggi 19:1650bbc923cc 132
nikitateggi 19:1650bbc923cc 133 uint8_t touch(uint8_t state)
nikitateggi 19:1650bbc923cc 134 {
nikitateggi 19:1650bbc923cc 135 static uint8_t state1=0;
nikitateggi 19:1650bbc923cc 136 detect_touch(); // determine the touch points
nikitateggi 1:8316c23ec6b9 137
nikitateggi 4:6bd81bb1790d 138 switch(state) // state for touch
nikitateggi 0:c47fb0c1bbf6 139 {
nikitateggi 0:c47fb0c1bbf6 140 case 1: state1=touch_main(); // determining the touch for main screen
nikitateggi 0:c47fb0c1bbf6 141 state=0;
nikitateggi 1:8316c23ec6b9 142 nstate1=state1;
nikitateggi 3:9a06c2bed650 143 break;
nikitateggi 0:c47fb0c1bbf6 144
nikitateggi 0:c47fb0c1bbf6 145 case 2:
nikitateggi 4:6bd81bb1790d 146 state1=touch_main_1(); // determining the touch for SYSTEM CONFIGURATION screen
nikitateggi 0:c47fb0c1bbf6 147 state=0;
nikitateggi 3:9a06c2bed650 148 nstate1=state1;
nikitateggi 0:c47fb0c1bbf6 149 break;
nikitateggi 0:c47fb0c1bbf6 150
nikitateggi 0:c47fb0c1bbf6 151 case 3:
nikitateggi 4:6bd81bb1790d 152 state1=touch_main_2(); //// determining the touch for TEST screen
nikitateggi 20:7c64e6ecad76 153
nikitateggi 0:c47fb0c1bbf6 154 state=0;
nikitateggi 1:8316c23ec6b9 155 nstate1=state1;
nikitateggi 0:c47fb0c1bbf6 156 break;
nikitateggi 0:c47fb0c1bbf6 157
nikitateggi 0:c47fb0c1bbf6 158 case 4:
nikitateggi 4:6bd81bb1790d 159 state1=touch_glc(); // determining the touch for GLC screen
nikitateggi 1:8316c23ec6b9 160 state=0;
nikitateggi 1:8316c23ec6b9 161 nstate1=state1;
nikitateggi 1:8316c23ec6b9 162 break;
nikitateggi 1:8316c23ec6b9 163
nikitateggi 1:8316c23ec6b9 164 case 5:
nikitateggi 4:6bd81bb1790d 165 state1=touch_ecg(); // determining the touch for ECG screen
nikitateggi 1:8316c23ec6b9 166 state=0;
nikitateggi 3:9a06c2bed650 167 nstate1=state1;
nikitateggi 3:9a06c2bed650 168 break;
nikitateggi 4:6bd81bb1790d 169 case 6:
nikitateggi 4:6bd81bb1790d 170 state1=touch_ret(); // determining the touch for returning back to the main screen
nikitateggi 20:7c64e6ecad76 171 /* if (ecg_flag==1)
nikitateggi 20:7c64e6ecad76 172 state1=8;
nikitateggi 20:7c64e6ecad76 173 else if (glc_flag==1)
nikitateggi 20:7c64e6ecad76 174 state1=7; */
nikitateggi 0:c47fb0c1bbf6 175 state=0;
nikitateggi 3:9a06c2bed650 176 nstate1=state1;
nikitateggi 1:8316c23ec6b9 177 break;
nikitateggi 1:8316c23ec6b9 178
nikitateggi 4:6bd81bb1790d 179 case 7:
suhasini 5:a3ea7c82b7e1 180 state1=touch_again_ecg(); // determining the touch when readings are taken more than once screen
nikitateggi 1:8316c23ec6b9 181 state=0;
nikitateggi 1:8316c23ec6b9 182 nstate1=state1;
nikitateggi 1:8316c23ec6b9 183 break;
nikitateggi 0:c47fb0c1bbf6 184
nikitateggi 3:9a06c2bed650 185 case 8:
nikitateggi 4:6bd81bb1790d 186 state1=touch_bp(); // determining the touch for BP screen
nikitateggi 3:9a06c2bed650 187 state=0;
nikitateggi 3:9a06c2bed650 188 nstate1=state1;
nikitateggi 3:9a06c2bed650 189 break;
nikitateggi 3:9a06c2bed650 190
suhasini 5:a3ea7c82b7e1 191 case 9: state1=touch_again_glc();
suhasini 5:a3ea7c82b7e1 192 state=0;
suhasini 5:a3ea7c82b7e1 193 nstate1=state1;
suhasini 5:a3ea7c82b7e1 194 break;
nikitateggi 3:9a06c2bed650 195
nikitateggi 1:8316c23ec6b9 196 case 10 : DisableTouch();
nikitateggi 1:8316c23ec6b9 197 wait_ms(300);
nikitateggi 1:8316c23ec6b9 198 EnableTouch();
nikitateggi 3:9a06c2bed650 199 state=nstate;
nikitateggi 3:9a06c2bed650 200 break;
suhasini 5:a3ea7c82b7e1 201
suhasini 5:a3ea7c82b7e1 202
suhasini 5:a3ea7c82b7e1 203 case 11: state1=touch_again_bp();
suhasini 5:a3ea7c82b7e1 204 state=0;
suhasini 5:a3ea7c82b7e1 205 nstate1=state1;
suhasini 5:a3ea7c82b7e1 206 break;
suhasini 5:a3ea7c82b7e1 207
nikitateggi 31:0f67acfc6236 208 case 12: state1=BT_return();
nikitateggi 31:0f67acfc6236 209 state=0;
nikitateggi 31:0f67acfc6236 210 nstate1=state1;
nikitateggi 31:0f67acfc6236 211 break;
suhasini 5:a3ea7c82b7e1 212
nikitateggi 4:6bd81bb1790d 213 default : DisableTouch();
nikitateggi 1:8316c23ec6b9 214 wait_ms(300);
nikitateggi 1:8316c23ec6b9 215 EnableTouch();
nikitateggi 3:9a06c2bed650 216 state=nstate;
nikitateggi 3:9a06c2bed650 217 break;
nikitateggi 1:8316c23ec6b9 218
nikitateggi 0:c47fb0c1bbf6 219 }
nikitateggi 0:c47fb0c1bbf6 220
nikitateggi 19:1650bbc923cc 221 return state1;
nikitateggi 19:1650bbc923cc 222 }
nikitateggi 0:c47fb0c1bbf6 223
nikitateggi 0:c47fb0c1bbf6 224
nikitateggi 19:1650bbc923cc 225 uint8_t display(uint8_t state1)
nikitateggi 19:1650bbc923cc 226 {
nikitateggi 19:1650bbc923cc 227 static uint8_t state=0;
nikitateggi 0:c47fb0c1bbf6 228
nikitateggi 4:6bd81bb1790d 229 switch(state1) // state for display screens
nikitateggi 0:c47fb0c1bbf6 230 {
nikitateggi 4:6bd81bb1790d 231
nikitateggi 1:8316c23ec6b9 232
nikitateggi 3:9a06c2bed650 233 case 1: DisableTouch();
nikitateggi 4:6bd81bb1790d 234 screen_main(); // main screen
nikitateggi 1:8316c23ec6b9 235 state1=0;
nikitateggi 1:8316c23ec6b9 236 state=1;
nikitateggi 1:8316c23ec6b9 237 nstate=state;
nikitateggi 1:8316c23ec6b9 238 flag=0;
nikitateggi 4:6bd81bb1790d 239 ecg_flag=0; // ecg, glc flag to determine whether the readings are taken more than once
nikitateggi 1:8316c23ec6b9 240 glc_flag=0;
nikitateggi 3:9a06c2bed650 241 EnableTouch();
nikitateggi 1:8316c23ec6b9 242 break;
nikitateggi 1:8316c23ec6b9 243
nikitateggi 3:9a06c2bed650 244 case 2: DisableTouch();
nikitateggi 19:1650bbc923cc 245 // bt();
nikitateggi 4:6bd81bb1790d 246 screen_main_1(); // System configration screen
nikitateggi 0:c47fb0c1bbf6 247 state1=0;
nikitateggi 0:c47fb0c1bbf6 248 state=2;
nikitateggi 1:8316c23ec6b9 249 nstate=state;
nikitateggi 3:9a06c2bed650 250 EnableTouch();
nikitateggi 0:c47fb0c1bbf6 251 break;
nikitateggi 0:c47fb0c1bbf6 252
nikitateggi 3:9a06c2bed650 253 case 3: DisableTouch();
nikitateggi 1:8316c23ec6b9 254 if (flag==0)
nikitateggi 1:8316c23ec6b9 255 {
nikitateggi 4:6bd81bb1790d 256 //pid=pid+1;
nikitateggi 4:6bd81bb1790d 257 pid=eprom_read(1); // reading the patient id from eeprom
nikitateggi 19:1650bbc923cc 258 gc.printf("pidinit=%d",pid);
nikitateggi 4:6bd81bb1790d 259 pid=pid+1;
nikitateggi 19:1650bbc923cc 260 gc.printf("pid+1=%d",pid);
nikitateggi 4:6bd81bb1790d 261 eprom_write(1,pid); // writing the patient id to eeprom
nikitateggi 1:8316c23ec6b9 262 screen_main_2(pid);
nikitateggi 19:1650bbc923cc 263 /* sd_open_GLCfilee(pid); // only opening the glc,bp and ecg file
nikitateggi 1:8316c23ec6b9 264 sd_close();
nikitateggi 2:3b7b71bfc941 265 sd_open_ECGfilee(pid);
nikitateggi 1:8316c23ec6b9 266 sd_close();
nikitateggi 4:6bd81bb1790d 267 sd_open_BPfilee(pid);
nidhinvarghese 14:f5c62d30c6fc 268 sd_close();*/
nikitateggi 1:8316c23ec6b9 269 flag=1;
nikitateggi 1:8316c23ec6b9 270 }
nikitateggi 1:8316c23ec6b9 271 else
nikitateggi 1:8316c23ec6b9 272 {
nikitateggi 4:6bd81bb1790d 273 screen_main_2(pid); // TEST screen
nikitateggi 1:8316c23ec6b9 274 }
nikitateggi 1:8316c23ec6b9 275
nikitateggi 1:8316c23ec6b9 276 state1=0;
nikitateggi 1:8316c23ec6b9 277 state=3;
nikitateggi 1:8316c23ec6b9 278 nstate=state;
nikitateggi 3:9a06c2bed650 279 EnableTouch();
nikitateggi 1:8316c23ec6b9 280 break;
nikitateggi 0:c47fb0c1bbf6 281
nikitateggi 3:9a06c2bed650 282 case 4: DisableTouch();
nikitateggi 4:6bd81bb1790d 283 if (glc_flag==1) // glc_flag=1 when already the reading has been taken
nikitateggi 1:8316c23ec6b9 284 {
nikitateggi 4:6bd81bb1790d 285 screen_again();
nikitateggi 1:8316c23ec6b9 286 state1=0;
suhasini 5:a3ea7c82b7e1 287 state=9;
nikitateggi 1:8316c23ec6b9 288 nstate=state;
nikitateggi 1:8316c23ec6b9 289 }
nikitateggi 1:8316c23ec6b9 290 else
nikitateggi 19:1650bbc923cc 291 {
nikitateggi 19:1650bbc923cc 292 screen_glc(); // glc screen
nikitateggi 0:c47fb0c1bbf6 293 state1=0;
nikitateggi 0:c47fb0c1bbf6 294 state=4;
nikitateggi 1:8316c23ec6b9 295 nstate=state;
nikitateggi 1:8316c23ec6b9 296 }
nikitateggi 3:9a06c2bed650 297 EnableTouch();
nikitateggi 3:9a06c2bed650 298
nikitateggi 0:c47fb0c1bbf6 299 break;
nikitateggi 1:8316c23ec6b9 300
nikitateggi 1:8316c23ec6b9 301
nikitateggi 3:9a06c2bed650 302 case 5: DisableTouch();
nikitateggi 1:8316c23ec6b9 303 if (ecg_flag==1)
nikitateggi 1:8316c23ec6b9 304 {
nikitateggi 1:8316c23ec6b9 305 screen_again();
nikitateggi 1:8316c23ec6b9 306 state1=0;
nikitateggi 1:8316c23ec6b9 307 state=7;
nikitateggi 1:8316c23ec6b9 308 nstate=state;
nikitateggi 1:8316c23ec6b9 309 }
nikitateggi 1:8316c23ec6b9 310
nikitateggi 1:8316c23ec6b9 311 else
nikitateggi 1:8316c23ec6b9 312 {
nikitateggi 4:6bd81bb1790d 313 screen_ecg(); //ecg main screen
nikitateggi 1:8316c23ec6b9 314 state1=0;
nikitateggi 1:8316c23ec6b9 315 state=5;
nikitateggi 1:8316c23ec6b9 316 nstate=state;
nikitateggi 1:8316c23ec6b9 317 }
nikitateggi 3:9a06c2bed650 318 EnableTouch();
nikitateggi 1:8316c23ec6b9 319 break;
nikitateggi 1:8316c23ec6b9 320
nikitateggi 3:9a06c2bed650 321 case 6: DisableTouch();
nikitateggi 4:6bd81bb1790d 322 screen_bp(); // bp main screen
suhasini 6:5e33a0f01476 323 //EnableTouch();
nikitateggi 3:9a06c2bed650 324 state1=0;
nikitateggi 3:9a06c2bed650 325 state=8;
suhasini 6:5e33a0f01476 326 nstate=state; ///////
suhasini 6:5e33a0f01476 327 EnableTouch(); ///////
nikitateggi 3:9a06c2bed650 328 break;
nikitateggi 3:9a06c2bed650 329
nikitateggi 3:9a06c2bed650 330
nikitateggi 3:9a06c2bed650 331
nikitateggi 3:9a06c2bed650 332
nikitateggi 3:9a06c2bed650 333
nikitateggi 4:6bd81bb1790d 334 case 7: DisableTouch();
nikitateggi 4:6bd81bb1790d 335 glc(pid); // glc measurement
nikitateggi 19:1650bbc923cc 336 // bt();
nikitateggi 1:8316c23ec6b9 337 glc_flag=1;
nikitateggi 1:8316c23ec6b9 338 wait(5);
nikitateggi 4:6bd81bb1790d 339 state1=0;
nikitateggi 4:6bd81bb1790d 340 screen_glc_2();
nikitateggi 20:7c64e6ecad76 341 state=6;
nikitateggi 24:d992ee8369f4 342 eprom_write_8(30,0);
nikitateggi 1:8316c23ec6b9 343 // gc.printf("%d", state);
suhasini 6:5e33a0f01476 344 nstate=state; //////////////
nikitateggi 3:9a06c2bed650 345 EnableTouch();
nikitateggi 1:8316c23ec6b9 346 break;
nikitateggi 1:8316c23ec6b9 347
nikitateggi 3:9a06c2bed650 348 case 8: DisableTouch();
nikitateggi 4:6bd81bb1790d 349 ecg_countdown(); // countdown before ecg capture
suhasini 13:5d3b478ea9c7 350 heart_rate=ecg(pid); // capturing ecg
nikitateggi 1:8316c23ec6b9 351 state1=0;
nikitateggi 20:7c64e6ecad76 352 if (heart_rate==0)
nikitateggi 20:7c64e6ecad76 353 {
avp2417 34:8f6b0dc124e8 354
nikitateggi 20:7c64e6ecad76 355 screen_ecg_lead();
nikitateggi 20:7c64e6ecad76 356 }
nikitateggi 31:0f67acfc6236 357 else if(heart_rate==1) // if heart rate goes above or below range display error // 10/7/17 nikita
nikitateggi 31:0f67acfc6236 358 {
nikitateggi 31:0f67acfc6236 359 screen_ecg_error();
nikitateggi 31:0f67acfc6236 360
nikitateggi 31:0f67acfc6236 361 }
avp2417 34:8f6b0dc124e8 362 else
avp2417 34:8f6b0dc124e8 363 {
avp2417 34:8f6b0dc124e8 364
nikitateggi 20:7c64e6ecad76 365 screen_ecg_2(heart_rate);
nikitateggi 20:7c64e6ecad76 366 ecg_flag=1;
nikitateggi 20:7c64e6ecad76 367 }
nikitateggi 1:8316c23ec6b9 368 state=6;
nikitateggi 24:d992ee8369f4 369 eprom_write_8(30,1);
nikitateggi 20:7c64e6ecad76 370 nstate=state;
nikitateggi 20:7c64e6ecad76 371 screen_ecg_bp();
nikitateggi 4:6bd81bb1790d 372 EnableTouch();
nikitateggi 1:8316c23ec6b9 373 break;
nikitateggi 1:8316c23ec6b9 374
nikitateggi 1:8316c23ec6b9 375
nikitateggi 4:6bd81bb1790d 376 /*case 9:
nikitateggi 3:9a06c2bed650 377 DisableTouch();
nikitateggi 4:6bd81bb1790d 378 screen_glc_2();
nikitateggi 4:6bd81bb1790d 379 state1=0;
nikitateggi 1:8316c23ec6b9 380 state=6;
nikitateggi 1:8316c23ec6b9 381 nstate=state;
nikitateggi 3:9a06c2bed650 382 EnableTouch();
nikitateggi 4:6bd81bb1790d 383 break;*/
nikitateggi 3:9a06c2bed650 384
nikitateggi 19:1650bbc923cc 385 case 9:
nikitateggi 3:9a06c2bed650 386 DisableTouch();
nikitateggi 4:6bd81bb1790d 387 screen_bp2(); // bp main screen
suhasini 6:5e33a0f01476 388 bp_countdown(); // countdown for bp
nidhinvarghese 8:adf2ba7e6412 389 bp(pid); // measuring bp earlier bp() changed to bp(pid) 28/4/2017
nikitateggi 3:9a06c2bed650 390 state1=0;
nikitateggi 3:9a06c2bed650 391 // wait(1);
nikitateggi 3:9a06c2bed650 392 state=6;
nikitateggi 24:d992ee8369f4 393 eprom_write_8(30,2);
nikitateggi 3:9a06c2bed650 394 nstate=state;
nikitateggi 3:9a06c2bed650 395 EnableTouch();
nikitateggi 3:9a06c2bed650 396 break;
nikitateggi 31:0f67acfc6236 397
nikitateggi 31:0f67acfc6236 398
nikitateggi 31:0f67acfc6236 399 case 10 : DisableTouch();
nikitateggi 31:0f67acfc6236 400 wait_ms(300);
nikitateggi 31:0f67acfc6236 401 EnableTouch();
nikitateggi 31:0f67acfc6236 402 state=nstate;
nikitateggi 31:0f67acfc6236 403 break;
nikitateggi 31:0f67acfc6236 404
nikitateggi 31:0f67acfc6236 405 case 11 : DisableTouch();
nikitateggi 31:0f67acfc6236 406 current_test_pid=eprom_read(1);
nikitateggi 31:0f67acfc6236 407 bt_file_sent_pid=eprom_read(6);
nikitateggi 31:0f67acfc6236 408 screen_patient_info(current_test_pid, bt_file_sent_pid);
nikitateggi 31:0f67acfc6236 409 state1=0;
nikitateggi 31:0f67acfc6236 410 state=12;
nikitateggi 31:0f67acfc6236 411 EnableTouch();
nikitateggi 31:0f67acfc6236 412 break;
nikitateggi 31:0f67acfc6236 413
nikitateggi 31:0f67acfc6236 414
nikitateggi 1:8316c23ec6b9 415 default :
nikitateggi 3:9a06c2bed650 416
nikitateggi 1:8316c23ec6b9 417 state1=nstate1;
nikitateggi 1:8316c23ec6b9 418 break;
nikitateggi 1:8316c23ec6b9 419
nikitateggi 0:c47fb0c1bbf6 420
nikitateggi 0:c47fb0c1bbf6 421 }
nikitateggi 0:c47fb0c1bbf6 422
nikitateggi 0:c47fb0c1bbf6 423
nikitateggi 0:c47fb0c1bbf6 424
nikitateggi 19:1650bbc923cc 425 return state;
nikitateggi 0:c47fb0c1bbf6 426
avp2417 34:8f6b0dc124e8 427 }