export test

Dependencies:   SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217

Fork of Int_Demo_09May2017_Suhasini_HRavg_Nikita_ili9341 by nikita teggi

Committer:
nikitateggi
Date:
Fri Feb 10 10:39:13 2017 +0000
Revision:
3:9a06c2bed650
Parent:
2:3b7b71bfc941
Child:
4:6bd81bb1790d
Peak detect to 400 samples

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nikitateggi 0:c47fb0c1bbf6 1 #include "mbed.h"
nikitateggi 0:c47fb0c1bbf6 2 #include "ili9325.h"
nikitateggi 0:c47fb0c1bbf6 3 #include "lcd_base.h"
nikitateggi 0:c47fb0c1bbf6 4 #include "display_modules.h"
nikitateggi 0:c47fb0c1bbf6 5 #include "touch_modules.h"
nikitateggi 1:8316c23ec6b9 6 #include "ecg_dec.h"
nikitateggi 1:8316c23ec6b9 7 #include "touch_modules.h"
nikitateggi 1:8316c23ec6b9 8 #include "glc.h"
nikitateggi 3:9a06c2bed650 9 #include "bp.h"
nikitateggi 1:8316c23ec6b9 10 #include "sdcard.h"
nikitateggi 0:c47fb0c1bbf6 11
nikitateggi 0:c47fb0c1bbf6 12
nikitateggi 1:8316c23ec6b9 13
nikitateggi 0:c47fb0c1bbf6 14 Serial gc(USBTX, USBRX);
nikitateggi 0:c47fb0c1bbf6 15 DigitalIn q1(PTB11);
nikitateggi 0:c47fb0c1bbf6 16 DigitalIn q(PTB8);
nikitateggi 1:8316c23ec6b9 17 //Serial ble(PTC4,PTC3);
nikitateggi 0:c47fb0c1bbf6 18
nikitateggi 0:c47fb0c1bbf6 19
nikitateggi 0:c47fb0c1bbf6 20
nikitateggi 0:c47fb0c1bbf6 21 int main(){
nikitateggi 0:c47fb0c1bbf6 22
nikitateggi 0:c47fb0c1bbf6 23
nikitateggi 3:9a06c2bed650 24 unsigned char state;
nikitateggi 3:9a06c2bed650 25 unsigned char state1;
nikitateggi 3:9a06c2bed650 26 unsigned char nstate;
nikitateggi 3:9a06c2bed650 27 unsigned char nstate1;
nikitateggi 3:9a06c2bed650 28 int pid=0; // patient ID
nikitateggi 3:9a06c2bed650 29 unsigned char flag=0;
nikitateggi 3:9a06c2bed650 30 unsigned char ecg_flag=0;
nikitateggi 3:9a06c2bed650 31 unsigned char glc_flag=0;
nikitateggi 1:8316c23ec6b9 32
nikitateggi 3:9a06c2bed650 33
nikitateggi 1:8316c23ec6b9 34 DisableTouch();
nikitateggi 1:8316c23ec6b9 35 gc.baud(115200);
nikitateggi 1:8316c23ec6b9 36
nikitateggi 1:8316c23ec6b9 37 init_screen(); //initialize lcd
nikitateggi 1:8316c23ec6b9 38 screen_main(); // display of main screen
nikitateggi 0:c47fb0c1bbf6 39 state=1;
nikitateggi 1:8316c23ec6b9 40 flag=0;
nikitateggi 1:8316c23ec6b9 41 nstate=state;
nikitateggi 0:c47fb0c1bbf6 42 EnableTouch(); // enable touch function
nikitateggi 0:c47fb0c1bbf6 43
nikitateggi 0:c47fb0c1bbf6 44 while(1)
nikitateggi 0:c47fb0c1bbf6 45 {
nikitateggi 3:9a06c2bed650 46
nikitateggi 3:9a06c2bed650 47 detect_touch(); // detrmine the touch points
nikitateggi 1:8316c23ec6b9 48
nikitateggi 0:c47fb0c1bbf6 49 switch(state)
nikitateggi 0:c47fb0c1bbf6 50 {
nikitateggi 0:c47fb0c1bbf6 51 case 1: state1=touch_main(); // determining the touch for main screen
nikitateggi 0:c47fb0c1bbf6 52 state=0;
nikitateggi 1:8316c23ec6b9 53 nstate1=state1;
nikitateggi 3:9a06c2bed650 54 break;
nikitateggi 0:c47fb0c1bbf6 55
nikitateggi 0:c47fb0c1bbf6 56 case 2:
nikitateggi 1:8316c23ec6b9 57 state1=touch_main_1(); // determining the touch for glc screen
nikitateggi 0:c47fb0c1bbf6 58 state=0;
nikitateggi 3:9a06c2bed650 59 nstate1=state1;
nikitateggi 0:c47fb0c1bbf6 60 break;
nikitateggi 0:c47fb0c1bbf6 61
nikitateggi 0:c47fb0c1bbf6 62 case 3:
nikitateggi 1:8316c23ec6b9 63 state1=touch_main_2();
nikitateggi 1:8316c23ec6b9 64 // determining the touch for ecg screen
nikitateggi 0:c47fb0c1bbf6 65 state=0;
nikitateggi 1:8316c23ec6b9 66 nstate1=state1;
nikitateggi 0:c47fb0c1bbf6 67 break;
nikitateggi 0:c47fb0c1bbf6 68
nikitateggi 0:c47fb0c1bbf6 69 case 4:
nikitateggi 1:8316c23ec6b9 70 state1=touch_glc(); // determining the touch for bp screen
nikitateggi 1:8316c23ec6b9 71 state=0;
nikitateggi 1:8316c23ec6b9 72 nstate1=state1;
nikitateggi 1:8316c23ec6b9 73 break;
nikitateggi 1:8316c23ec6b9 74
nikitateggi 1:8316c23ec6b9 75 case 5:
nikitateggi 1:8316c23ec6b9 76 state1=touch_ecg(); // determining the touch for bp screen
nikitateggi 1:8316c23ec6b9 77 state=0;
nikitateggi 3:9a06c2bed650 78 nstate1=state1;
nikitateggi 3:9a06c2bed650 79 break;
nikitateggi 1:8316c23ec6b9 80 case 6:
nikitateggi 1:8316c23ec6b9 81 state1=touch_ret(); // determining the touch for bp screen
nikitateggi 0:c47fb0c1bbf6 82 state=0;
nikitateggi 3:9a06c2bed650 83 nstate1=state1;
nikitateggi 1:8316c23ec6b9 84 break;
nikitateggi 1:8316c23ec6b9 85
nikitateggi 1:8316c23ec6b9 86 case 7:
nikitateggi 1:8316c23ec6b9 87 state1=touch_again(); // determining the touch for bp screen
nikitateggi 1:8316c23ec6b9 88 state=0;
nikitateggi 1:8316c23ec6b9 89 nstate1=state1;
nikitateggi 1:8316c23ec6b9 90 break;
nikitateggi 0:c47fb0c1bbf6 91
nikitateggi 3:9a06c2bed650 92 case 8:
nikitateggi 3:9a06c2bed650 93 state1=touch_bp(); // determining the touch for bp screen
nikitateggi 3:9a06c2bed650 94 state=0;
nikitateggi 3:9a06c2bed650 95 nstate1=state1;
nikitateggi 3:9a06c2bed650 96 break;
nikitateggi 3:9a06c2bed650 97
nikitateggi 3:9a06c2bed650 98
nikitateggi 3:9a06c2bed650 99
nikitateggi 1:8316c23ec6b9 100 case 10 : DisableTouch();
nikitateggi 1:8316c23ec6b9 101 wait_ms(300);
nikitateggi 1:8316c23ec6b9 102 EnableTouch();
nikitateggi 3:9a06c2bed650 103 state=nstate;
nikitateggi 3:9a06c2bed650 104 break;
nikitateggi 1:8316c23ec6b9 105
nikitateggi 1:8316c23ec6b9 106 default : DisableTouch();
nikitateggi 1:8316c23ec6b9 107 wait_ms(300);
nikitateggi 1:8316c23ec6b9 108 EnableTouch();
nikitateggi 3:9a06c2bed650 109 state=nstate;
nikitateggi 3:9a06c2bed650 110 break;
nikitateggi 1:8316c23ec6b9 111
nikitateggi 0:c47fb0c1bbf6 112 }
nikitateggi 0:c47fb0c1bbf6 113
nikitateggi 0:c47fb0c1bbf6 114
nikitateggi 0:c47fb0c1bbf6 115
nikitateggi 0:c47fb0c1bbf6 116
nikitateggi 0:c47fb0c1bbf6 117
nikitateggi 0:c47fb0c1bbf6 118 switch(state1)
nikitateggi 0:c47fb0c1bbf6 119 {
nikitateggi 0:c47fb0c1bbf6 120
nikitateggi 1:8316c23ec6b9 121 case 0:
nikitateggi 1:8316c23ec6b9 122 DisableTouch();
nikitateggi 1:8316c23ec6b9 123 wait_ms(300);
nikitateggi 1:8316c23ec6b9 124 state=nstate;
nikitateggi 3:9a06c2bed650 125 EnableTouch();
nikitateggi 1:8316c23ec6b9 126 break;
nikitateggi 1:8316c23ec6b9 127
nikitateggi 3:9a06c2bed650 128 case 1: DisableTouch();
nikitateggi 1:8316c23ec6b9 129 screen_main(); // glc main screen
nikitateggi 1:8316c23ec6b9 130 state1=0;
nikitateggi 1:8316c23ec6b9 131 state=1;
nikitateggi 1:8316c23ec6b9 132 nstate=state;
nikitateggi 1:8316c23ec6b9 133 flag=0;
nikitateggi 1:8316c23ec6b9 134 ecg_flag=0;
nikitateggi 1:8316c23ec6b9 135 glc_flag=0;
nikitateggi 3:9a06c2bed650 136 EnableTouch();
nikitateggi 1:8316c23ec6b9 137 break;
nikitateggi 1:8316c23ec6b9 138
nikitateggi 3:9a06c2bed650 139 case 2: DisableTouch();
nikitateggi 1:8316c23ec6b9 140 screen_main_1(); // glc main screen
nikitateggi 0:c47fb0c1bbf6 141 state1=0;
nikitateggi 0:c47fb0c1bbf6 142 state=2;
nikitateggi 1:8316c23ec6b9 143 nstate=state;
nikitateggi 3:9a06c2bed650 144 EnableTouch();
nikitateggi 0:c47fb0c1bbf6 145 break;
nikitateggi 0:c47fb0c1bbf6 146
nikitateggi 3:9a06c2bed650 147 case 3: DisableTouch();
nikitateggi 1:8316c23ec6b9 148 if (flag==0)
nikitateggi 1:8316c23ec6b9 149 {
nikitateggi 1:8316c23ec6b9 150 pid=pid+1;
nikitateggi 1:8316c23ec6b9 151 screen_main_2(pid);
nikitateggi 2:3b7b71bfc941 152 sd_open_GLCfilee(pid);
nikitateggi 1:8316c23ec6b9 153 sd_close();
nikitateggi 2:3b7b71bfc941 154 sd_open_ECGfilee(pid);
nikitateggi 1:8316c23ec6b9 155 sd_close();
nikitateggi 1:8316c23ec6b9 156 sd_open_BPfile(pid);
nikitateggi 1:8316c23ec6b9 157 sd_close();
nikitateggi 1:8316c23ec6b9 158 flag=1;
nikitateggi 1:8316c23ec6b9 159 }
nikitateggi 1:8316c23ec6b9 160 else
nikitateggi 1:8316c23ec6b9 161 {
nikitateggi 1:8316c23ec6b9 162 screen_main_2(pid);
nikitateggi 1:8316c23ec6b9 163 }
nikitateggi 1:8316c23ec6b9 164
nikitateggi 1:8316c23ec6b9 165 state1=0;
nikitateggi 1:8316c23ec6b9 166 state=3;
nikitateggi 1:8316c23ec6b9 167 nstate=state;
nikitateggi 3:9a06c2bed650 168 EnableTouch();
nikitateggi 1:8316c23ec6b9 169 break;
nikitateggi 0:c47fb0c1bbf6 170
nikitateggi 3:9a06c2bed650 171 case 4: DisableTouch();
nikitateggi 1:8316c23ec6b9 172 if (glc_flag==1)
nikitateggi 1:8316c23ec6b9 173 {
nikitateggi 1:8316c23ec6b9 174 screen_again(); //bp main screen
nikitateggi 1:8316c23ec6b9 175 state1=0;
nikitateggi 1:8316c23ec6b9 176 state=7;
nikitateggi 1:8316c23ec6b9 177 nstate=state;
nikitateggi 1:8316c23ec6b9 178 }
nikitateggi 1:8316c23ec6b9 179 else
nikitateggi 1:8316c23ec6b9 180 { screen_glc();
nikitateggi 0:c47fb0c1bbf6 181 state1=0;
nikitateggi 0:c47fb0c1bbf6 182 state=4;
nikitateggi 1:8316c23ec6b9 183 nstate=state;
nikitateggi 1:8316c23ec6b9 184 }
nikitateggi 3:9a06c2bed650 185 EnableTouch();
nikitateggi 3:9a06c2bed650 186
nikitateggi 0:c47fb0c1bbf6 187 break;
nikitateggi 1:8316c23ec6b9 188
nikitateggi 1:8316c23ec6b9 189
nikitateggi 3:9a06c2bed650 190 case 5: DisableTouch();
nikitateggi 1:8316c23ec6b9 191 if (ecg_flag==1)
nikitateggi 1:8316c23ec6b9 192 {
nikitateggi 1:8316c23ec6b9 193 screen_again();
nikitateggi 1:8316c23ec6b9 194 state1=0;
nikitateggi 1:8316c23ec6b9 195 state=7;
nikitateggi 1:8316c23ec6b9 196 nstate=state;
nikitateggi 1:8316c23ec6b9 197 }
nikitateggi 1:8316c23ec6b9 198
nikitateggi 1:8316c23ec6b9 199 else
nikitateggi 1:8316c23ec6b9 200 {
nikitateggi 1:8316c23ec6b9 201 screen_ecg(); //bp main screen
nikitateggi 1:8316c23ec6b9 202 state1=0;
nikitateggi 1:8316c23ec6b9 203 state=5;
nikitateggi 1:8316c23ec6b9 204 nstate=state;
nikitateggi 1:8316c23ec6b9 205 }
nikitateggi 3:9a06c2bed650 206 EnableTouch();
nikitateggi 1:8316c23ec6b9 207 break;
nikitateggi 1:8316c23ec6b9 208
nikitateggi 3:9a06c2bed650 209 case 6: DisableTouch();
nikitateggi 3:9a06c2bed650 210 screen_bp();
nikitateggi 3:9a06c2bed650 211 EnableTouch();
nikitateggi 3:9a06c2bed650 212 state1=0;
nikitateggi 3:9a06c2bed650 213 state=8;
nikitateggi 3:9a06c2bed650 214 break;
nikitateggi 3:9a06c2bed650 215
nikitateggi 3:9a06c2bed650 216
nikitateggi 3:9a06c2bed650 217
nikitateggi 3:9a06c2bed650 218
nikitateggi 3:9a06c2bed650 219
nikitateggi 3:9a06c2bed650 220 case 7: DisableTouch();
nikitateggi 1:8316c23ec6b9 221 glc(pid);
nikitateggi 0:c47fb0c1bbf6 222
nikitateggi 1:8316c23ec6b9 223
nikitateggi 1:8316c23ec6b9 224 glc_flag=1;
nikitateggi 1:8316c23ec6b9 225 wait(5);
nikitateggi 1:8316c23ec6b9 226 // glc_4(mgdll);
nikitateggi 3:9a06c2bed650 227 state1=0;
nikitateggi 3:9a06c2bed650 228 screen_glc_2();
nikitateggi 3:9a06c2bed650 229
nikitateggi 3:9a06c2bed650 230 state=6;;
nikitateggi 1:8316c23ec6b9 231 // gc.printf("%d", state);
nikitateggi 3:9a06c2bed650 232 EnableTouch();
nikitateggi 1:8316c23ec6b9 233 break;
nikitateggi 1:8316c23ec6b9 234
nikitateggi 3:9a06c2bed650 235 case 8: DisableTouch();
nikitateggi 1:8316c23ec6b9 236
nikitateggi 1:8316c23ec6b9 237 ecg_countdown();
nikitateggi 1:8316c23ec6b9 238 ecg(pid);
nikitateggi 1:8316c23ec6b9 239 state1=0;
nikitateggi 1:8316c23ec6b9 240 screen_ecg_2();
nikitateggi 1:8316c23ec6b9 241 state=6;
nikitateggi 1:8316c23ec6b9 242 nstate=state;
nikitateggi 1:8316c23ec6b9 243 ecg_flag=1;
nikitateggi 3:9a06c2bed650 244
nikitateggi 1:8316c23ec6b9 245 // ble.printf("ecg");
nikitateggi 3:9a06c2bed650 246 EnableTouch();
nikitateggi 1:8316c23ec6b9 247 break;
nikitateggi 1:8316c23ec6b9 248
nikitateggi 1:8316c23ec6b9 249
nikitateggi 1:8316c23ec6b9 250 case 9:
nikitateggi 3:9a06c2bed650 251 DisableTouch();
nikitateggi 1:8316c23ec6b9 252 screen_glc_2();
nikitateggi 1:8316c23ec6b9 253 state1=0;
nikitateggi 1:8316c23ec6b9 254 state=6;
nikitateggi 1:8316c23ec6b9 255 nstate=state;
nikitateggi 3:9a06c2bed650 256 EnableTouch();
nikitateggi 1:8316c23ec6b9 257 break;
nikitateggi 3:9a06c2bed650 258
nikitateggi 3:9a06c2bed650 259 case 11:
nikitateggi 3:9a06c2bed650 260 DisableTouch();
nikitateggi 3:9a06c2bed650 261 screen_bp2();
nikitateggi 3:9a06c2bed650 262 bp();
nikitateggi 3:9a06c2bed650 263 state1=0;
nikitateggi 3:9a06c2bed650 264 // wait(1);
nikitateggi 3:9a06c2bed650 265 state=6;
nikitateggi 3:9a06c2bed650 266 nstate=state;
nikitateggi 3:9a06c2bed650 267 EnableTouch();
nikitateggi 3:9a06c2bed650 268 break;
nikitateggi 3:9a06c2bed650 269
nikitateggi 3:9a06c2bed650 270
nikitateggi 3:9a06c2bed650 271
nikitateggi 1:8316c23ec6b9 272 default :
nikitateggi 3:9a06c2bed650 273
nikitateggi 1:8316c23ec6b9 274 state1=nstate1;
nikitateggi 1:8316c23ec6b9 275 break;
nikitateggi 1:8316c23ec6b9 276
nikitateggi 0:c47fb0c1bbf6 277
nikitateggi 0:c47fb0c1bbf6 278 }
nikitateggi 0:c47fb0c1bbf6 279
nikitateggi 0:c47fb0c1bbf6 280
nikitateggi 0:c47fb0c1bbf6 281
nikitateggi 0:c47fb0c1bbf6 282
nikitateggi 0:c47fb0c1bbf6 283
nikitateggi 0:c47fb0c1bbf6 284 }
nikitateggi 0:c47fb0c1bbf6 285
nikitateggi 0:c47fb0c1bbf6 286
nikitateggi 0:c47fb0c1bbf6 287 }
nikitateggi 0:c47fb0c1bbf6 288
nikitateggi 0:c47fb0c1bbf6 289
nikitateggi 0:c47fb0c1bbf6 290
nikitateggi 0:c47fb0c1bbf6 291
nikitateggi 0:c47fb0c1bbf6 292
nikitateggi 0:c47fb0c1bbf6 293
nikitateggi 1:8316c23ec6b9 294