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:
rashmivenkataramaiah
Date:
Mon Sep 11 13:09:29 2017 +0000
Revision:
43:85a7f399cb9d
Parent:
42:c81673b04b6a
Child:
46:162ed3f051b2
PID tracking with get and inc file pid and bt pid

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nidhinvarghese 14:f5c62d30c6fc 1 // Exisiting code in Int_Demo_09May2017_suhasini/sdcard.cpp is deleted and replaced by new code
nidhinvarghese 14:f5c62d30c6fc 2 //Nidhin 1/6/2017
nidhinvarghese 14:f5c62d30c6fc 3
nidhinvarghese 14:f5c62d30c6fc 4
rashmivenkataramaiah 41:1141a75eacc4 5 #include "mbed.h"
rashmivenkataramaiah 41:1141a75eacc4 6 #include <stdio.h>
rashmivenkataramaiah 41:1141a75eacc4 7 #include "SDFileSystem.h"
rashmivenkataramaiah 41:1141a75eacc4 8 #include "sdcard.h"
rashmivenkataramaiah 41:1141a75eacc4 9 #include "rtc.h"
rashmivenkataramaiah 41:1141a75eacc4 10 #include "struct.h"
rashmivenkataramaiah 41:1141a75eacc4 11 #include "main.h"
rashmivenkataramaiah 41:1141a75eacc4 12 #include "eeprom_pgm.h"
nidhinvarghese 14:f5c62d30c6fc 13
nidhinvarghese 14:f5c62d30c6fc 14 Serial snd(USBTX,USBRX);
nikitateggi 24:d992ee8369f4 15 SDFileSystem sd(PTE1, PTE3, PTE2, PTE4, "sd");
nikitateggi 1:8316c23ec6b9 16
nikitateggi 24:d992ee8369f4 17
nidhinvarghese 14:f5c62d30c6fc 18
nidhinvarghese 14:f5c62d30c6fc 19 FILE *fpecg; // PPG and ECG File pointers for BP
nidhinvarghese 14:f5c62d30c6fc 20 FILE *fpppg; //"" ""
nidhinvarghese 14:f5c62d30c6fc 21
nidhinvarghese 14:f5c62d30c6fc 22 FILE *fpmain; // FILE pointer for main file
nidhinvarghese 14:f5c62d30c6fc 23
nidhinvarghese 14:f5c62d30c6fc 24 FILE *fpbg; // FILE pointer to BG file
nidhinvarghese 14:f5c62d30c6fc 25 FILE *fpeecg; // FILE pointer to ECG file
nidhinvarghese 14:f5c62d30c6fc 26 FILE *fpbp; // FILE pointer to BP file
nidhinvarghese 14:f5c62d30c6fc 27
nidhinvarghese 14:f5c62d30c6fc 28 FILE *fp; // FILE pointer for random use
nidhinvarghese 14:f5c62d30c6fc 29
nidhinvarghese 14:f5c62d30c6fc 30 //Function Added on 16/5/2017 by Nidhin
nikitateggi 22:ffa88619551d 31 void sd_open_mainfile(int32_t pid)
nidhinvarghese 14:f5c62d30c6fc 32 {
nidhinvarghese 14:f5c62d30c6fc 33 char buffer1[32];
nidhinvarghese 14:f5c62d30c6fc 34 sprintf(buffer1,"/sd/%d.csv",pid);
nidhinvarghese 14:f5c62d30c6fc 35 fp = fopen(buffer1,"a");
nidhinvarghese 14:f5c62d30c6fc 36 }
nidhinvarghese 14:f5c62d30c6fc 37 //------------------------------------------
nidhinvarghese 14:f5c62d30c6fc 38
nidhinvarghese 14:f5c62d30c6fc 39
nidhinvarghese 14:f5c62d30c6fc 40
nikitateggi 20:7c64e6ecad76 41 /*void sd_open_GLCfile(int pid) // opening the glc file
nikitateggi 1:8316c23ec6b9 42 {
nikitateggi 1:8316c23ec6b9 43
nikitateggi 1:8316c23ec6b9 44 char buffer[32];
nikitateggi 1:8316c23ec6b9 45 char buffer1[32];
nikitateggi 1:8316c23ec6b9 46 time_t epoch_time1;
nikitateggi 1:8316c23ec6b9 47 epoch_time1=rtc_read();
nikitateggi 1:8316c23ec6b9 48 // strftime(buffer, 32, "GLC_%s", pid);
nikitateggi 1:8316c23ec6b9 49
nikitateggi 4:6bd81bb1790d 50 sprintf(buffer1,"/sd/%d_GLC.csv",pid);
nikitateggi 1:8316c23ec6b9 51 fp = fopen(buffer1,"a");
nikitateggi 4:6bd81bb1790d 52 fprintf(fp,"%s\n",ctime(&epoch_time1) ); //writing the date, time into the file
nikitateggi 1:8316c23ec6b9 53
nikitateggi 1:8316c23ec6b9 54
nikitateggi 20:7c64e6ecad76 55 } */
nikitateggi 3:9a06c2bed650 56
rashmivenkataramaiah 43:85a7f399cb9d 57 void sd_open_GLCfilee(uint32_t pid) // only opening the glc file after entering TEST screen
nikitateggi 2:3b7b71bfc941 58 {
nikitateggi 2:3b7b71bfc941 59 char buffer1[32];
nikitateggi 4:6bd81bb1790d 60 sprintf(buffer1,"/sd/%d_GLC.csv",pid);
nidhinvarghese 14:f5c62d30c6fc 61 fpbg = fopen(buffer1,"a");
nidhinvarghese 14:f5c62d30c6fc 62 fclose(fpbg);
nidhinvarghese 14:f5c62d30c6fc 63 }
nikitateggi 1:8316c23ec6b9 64
nidhinvarghese 14:f5c62d30c6fc 65
rashmivenkataramaiah 43:85a7f399cb9d 66 void sd_open_ECGfilee(uint32_t pid) // only opening the ECG file after entering TEST screen
nikitateggi 2:3b7b71bfc941 67 {
nikitateggi 2:3b7b71bfc941 68
nikitateggi 2:3b7b71bfc941 69 char buffer1[32];
nidhinvarghese 14:f5c62d30c6fc 70 sprintf(buffer1,"/sd/%d_ECG.csv",pid);
nidhinvarghese 14:f5c62d30c6fc 71 fpeecg = fopen(buffer1,"a");
nidhinvarghese 14:f5c62d30c6fc 72 //fclose(fpeecg);
nikitateggi 4:6bd81bb1790d 73
nikitateggi 2:3b7b71bfc941 74 }
nikitateggi 4:6bd81bb1790d 75
nikitateggi 4:6bd81bb1790d 76
rashmivenkataramaiah 43:85a7f399cb9d 77 void sd_open_BPfilee(uint32_t pid) // only opening the BP file after entering TEST screen
nikitateggi 4:6bd81bb1790d 78 {
nikitateggi 4:6bd81bb1790d 79
nikitateggi 1:8316c23ec6b9 80
nikitateggi 4:6bd81bb1790d 81 char buffer1[32];
nikitateggi 4:6bd81bb1790d 82 sprintf(buffer1,"/sd/%d_BP.csv",pid);
nidhinvarghese 14:f5c62d30c6fc 83 fpbp = fopen(buffer1,"a");
nidhinvarghese 14:f5c62d30c6fc 84 //fprintf(fp,"PATIENT ID %d\n",pid ); Not required in new code as writing in hex
nidhinvarghese 14:f5c62d30c6fc 85 fclose(fpbp);
nidhinvarghese 8:adf2ba7e6412 86 }
nidhinvarghese 8:adf2ba7e6412 87
nidhinvarghese 8:adf2ba7e6412 88 void sd_write (int value) // writing data into the file
nidhinvarghese 8:adf2ba7e6412 89 {
nidhinvarghese 8:adf2ba7e6412 90 fprintf(fp,"%d\n", value);
nidhinvarghese 8:adf2ba7e6412 91 }
nidhinvarghese 8:adf2ba7e6412 92
nikitateggi 19:1650bbc923cc 93
rashmivenkataramaiah 43:85a7f399cb9d 94 uint8_t sd_open_read(uint32_t pid) // opening the file for read // CHNAGED to return value
nikitateggi 19:1650bbc923cc 95 {
nikitateggi 19:1650bbc923cc 96
nikitateggi 19:1650bbc923cc 97 char buffer1[32];
nikitateggi 19:1650bbc923cc 98 sprintf(buffer1,"/sd/%d.csv",pid);
nikitateggi 19:1650bbc923cc 99 fp = fopen(buffer1,"r");
nikitateggi 19:1650bbc923cc 100 if (fp==NULL)
nikitateggi 19:1650bbc923cc 101 {
nikitateggi 19:1650bbc923cc 102 snd.printf("no");
nikitateggi 27:907f8ce0025e 103 return 0;
nikitateggi 19:1650bbc923cc 104 }
nikitateggi 19:1650bbc923cc 105
nikitateggi 19:1650bbc923cc 106 else
nikitateggi 19:1650bbc923cc 107 {
nikitateggi 19:1650bbc923cc 108 snd.printf("yes");
nikitateggi 27:907f8ce0025e 109 return 1;
nikitateggi 19:1650bbc923cc 110 }
nikitateggi 19:1650bbc923cc 111 }
nikitateggi 19:1650bbc923cc 112
nikitateggi 19:1650bbc923cc 113 void sd_read(uint32_t *v1, int size) //reading the data from the openend file
nikitateggi 19:1650bbc923cc 114 {
nikitateggi 19:1650bbc923cc 115 fread(v1,sizeof(v1),size,fp);
nikitateggi 19:1650bbc923cc 116 }
nikitateggi 19:1650bbc923cc 117
nikitateggi 19:1650bbc923cc 118 void setpos()
nikitateggi 19:1650bbc923cc 119 {
nikitateggi 19:1650bbc923cc 120 //fseek ( fp , 1 , SEEK_SET );
nikitateggi 19:1650bbc923cc 121 rewind (fp);
nikitateggi 19:1650bbc923cc 122 }
nikitateggi 19:1650bbc923cc 123
nikitateggi 19:1650bbc923cc 124 void setpos1(uint32_t position)
nikitateggi 19:1650bbc923cc 125 {
nikitateggi 19:1650bbc923cc 126 fseek ( fp , position, SEEK_SET );
nikitateggi 19:1650bbc923cc 127 //rewind (fp);
nikitateggi 19:1650bbc923cc 128 }
nikitateggi 19:1650bbc923cc 129
nikitateggi 19:1650bbc923cc 130
nikitateggi 19:1650bbc923cc 131 int file_size()
nikitateggi 19:1650bbc923cc 132 {
nikitateggi 19:1650bbc923cc 133 int file_length;
nikitateggi 19:1650bbc923cc 134 fseek (fp, 0, SEEK_END);
nikitateggi 19:1650bbc923cc 135 file_length=ftell(fp);
nikitateggi 19:1650bbc923cc 136 file_length=sizeof(char)*file_length;
nikitateggi 19:1650bbc923cc 137 rewind(fp);
nikitateggi 19:1650bbc923cc 138 return file_length;
nikitateggi 19:1650bbc923cc 139 }
nikitateggi 19:1650bbc923cc 140
nikitateggi 19:1650bbc923cc 141
nikitateggi 19:1650bbc923cc 142 int file_size1()
nikitateggi 19:1650bbc923cc 143 {
nikitateggi 19:1650bbc923cc 144 int file_length;
nikitateggi 19:1650bbc923cc 145 // fseek (fp, 0, SEEK_END);
nikitateggi 19:1650bbc923cc 146
nikitateggi 19:1650bbc923cc 147 file_length=ftell(fp);
nikitateggi 19:1650bbc923cc 148 // file_length=sizeof(char)*file_length;
nikitateggi 19:1650bbc923cc 149 // rewind(fp);
nikitateggi 19:1650bbc923cc 150 return file_length;
nikitateggi 19:1650bbc923cc 151 }
nikitateggi 19:1650bbc923cc 152
nikitateggi 19:1650bbc923cc 153
nikitateggi 19:1650bbc923cc 154
nikitateggi 19:1650bbc923cc 155
nikitateggi 19:1650bbc923cc 156
nikitateggi 19:1650bbc923cc 157 void sd_read1(BLEMsg_info &f)
nikitateggi 19:1650bbc923cc 158 {
nikitateggi 19:1650bbc923cc 159 fread(&f,sizeof(BLEMsg_info),1,fp);
nikitateggi 19:1650bbc923cc 160 //fscanf(fp,"%08x",&v1);
nikitateggi 19:1650bbc923cc 161 }
nikitateggi 19:1650bbc923cc 162
nikitateggi 19:1650bbc923cc 163
nikitateggi 19:1650bbc923cc 164
nikitateggi 19:1650bbc923cc 165
nikitateggi 19:1650bbc923cc 166
nikitateggi 19:1650bbc923cc 167
nikitateggi 19:1650bbc923cc 168
nikitateggi 19:1650bbc923cc 169
nikitateggi 19:1650bbc923cc 170
nidhinvarghese 8:adf2ba7e6412 171 //------------------------------------------------------
nidhinvarghese 8:adf2ba7e6412 172
nidhinvarghese 8:adf2ba7e6412 173 //FILE *sd_BP_ecgwrite (int value) // writing data into the file NIDHIN
avp2417 36:00d96aa14658 174 FILE *sd_BP_ecgwrite (uint32_t *fpdrum11) // writing data into the file NIDHIN
nidhinvarghese 8:adf2ba7e6412 175 {
avp2417 36:00d96aa14658 176 fwrite(fpdrum11,sizeof(uint32_t),1, fpecg); //Change by Nidhin 30/5/2017 Direct writing to SD card. Org Val 64
nidhinvarghese 8:adf2ba7e6412 177 return fpecg;
nidhinvarghese 8:adf2ba7e6412 178 }
nidhinvarghese 8:adf2ba7e6412 179
nidhinvarghese 14:f5c62d30c6fc 180 FILE* sd_BP_ppgwrite (uint32_t *fpdrum21) // //Change by Nidhin 30/5/2017 Direct writing to SD card.
nidhinvarghese 8:adf2ba7e6412 181 {
nidhinvarghese 14:f5c62d30c6fc 182 fwrite(fpdrum21,sizeof(uint32_t),1, fpppg); //Change by Nidhin 30/5/2017 Direct writing to SD card. OR Val 64
nidhinvarghese 8:adf2ba7e6412 183 return fpppg;
nidhinvarghese 8:adf2ba7e6412 184 }
nidhinvarghese 8:adf2ba7e6412 185 //-----------------------------------------------SD Read
nidhinvarghese 8:adf2ba7e6412 186
rashmivenkataramaiah 43:85a7f399cb9d 187 void sd_reopen_BPfilee(uint32_t pid) // only opening the BP file after entering TEST screen
nidhinvarghese 8:adf2ba7e6412 188 {
nidhinvarghese 8:adf2ba7e6412 189
nidhinvarghese 8:adf2ba7e6412 190
nidhinvarghese 8:adf2ba7e6412 191 char buffer1[32];
nidhinvarghese 8:adf2ba7e6412 192 sprintf(buffer1,"/sd/%d_BP.csv",pid);
nidhinvarghese 8:adf2ba7e6412 193 fp = fopen(buffer1,"r");
nidhinvarghese 8:adf2ba7e6412 194 //fprintf(fp,"PATIENT ID %d\n",pid );
nidhinvarghese 8:adf2ba7e6412 195
nidhinvarghese 8:adf2ba7e6412 196
nidhinvarghese 8:adf2ba7e6412 197 }
nidhinvarghese 8:adf2ba7e6412 198 //-------------------------------------------------
nidhinvarghese 8:adf2ba7e6412 199
nidhinvarghese 8:adf2ba7e6412 200
nidhinvarghese 8:adf2ba7e6412 201 //---------------------------------------
nidhinvarghese 8:adf2ba7e6412 202
nidhinvarghese 8:adf2ba7e6412 203
rashmivenkataramaiah 43:85a7f399cb9d 204 void sd_open_BP_ECGfile(uint32_t pid)
nidhinvarghese 8:adf2ba7e6412 205 {
nidhinvarghese 8:adf2ba7e6412 206
nidhinvarghese 8:adf2ba7e6412 207 //char buffer[32];
nidhinvarghese 8:adf2ba7e6412 208 char buffer1[32];
nidhinvarghese 8:adf2ba7e6412 209 //time_t epoch_time1;
nidhinvarghese 8:adf2ba7e6412 210 //epoch_time1=rtc_read();
nidhinvarghese 8:adf2ba7e6412 211 // strftime(buffer, 32, "ECG_%d", pid);
nidhinvarghese 8:adf2ba7e6412 212
nidhinvarghese 8:adf2ba7e6412 213 sprintf(buffer1,"/sd/%d_BP_ECG.csv",pid);
nidhinvarghese 8:adf2ba7e6412 214 fpecg = fopen(buffer1,"a");
nidhinvarghese 8:adf2ba7e6412 215 if (fpecg == NULL)
nidhinvarghese 8:adf2ba7e6412 216 {
nidhinvarghese 8:adf2ba7e6412 217 exit(1);
nidhinvarghese 8:adf2ba7e6412 218 }
nidhinvarghese 8:adf2ba7e6412 219 //fprintf(fpecg,"%s\n",ctime(&epoch_time1) );
nidhinvarghese 8:adf2ba7e6412 220
nidhinvarghese 8:adf2ba7e6412 221 }
nidhinvarghese 8:adf2ba7e6412 222
nidhinvarghese 8:adf2ba7e6412 223
rashmivenkataramaiah 43:85a7f399cb9d 224 void sd_open_BP_PPGfile(uint32_t pid)
nidhinvarghese 8:adf2ba7e6412 225 {
nidhinvarghese 8:adf2ba7e6412 226
nidhinvarghese 8:adf2ba7e6412 227 char buffer1[32];
nidhinvarghese 8:adf2ba7e6412 228 //time_t epoch_time1;
nidhinvarghese 8:adf2ba7e6412 229 //epoch_time1=rtc_read();
nidhinvarghese 8:adf2ba7e6412 230 // strftime(buffer, 32, "ECG_%d", pid);
nidhinvarghese 8:adf2ba7e6412 231
nidhinvarghese 8:adf2ba7e6412 232 sprintf(buffer1,"/sd/%d_BP_PPG.csv",pid);
nidhinvarghese 8:adf2ba7e6412 233 fpppg = fopen(buffer1,"a");
nidhinvarghese 8:adf2ba7e6412 234 if(fpppg == NULL)
nidhinvarghese 8:adf2ba7e6412 235 {
nidhinvarghese 8:adf2ba7e6412 236 exit(1);
nidhinvarghese 8:adf2ba7e6412 237 }
nidhinvarghese 8:adf2ba7e6412 238
nidhinvarghese 8:adf2ba7e6412 239 //fprintf(fpppg,"%s\n",ctime(&epoch_time1) );
nidhinvarghese 8:adf2ba7e6412 240
nidhinvarghese 8:adf2ba7e6412 241 }
nidhinvarghese 8:adf2ba7e6412 242
nidhinvarghese 8:adf2ba7e6412 243
nidhinvarghese 8:adf2ba7e6412 244
nidhinvarghese 8:adf2ba7e6412 245 //--------------------------------------------------
nidhinvarghese 8:adf2ba7e6412 246
nidhinvarghese 14:f5c62d30c6fc 247 //FUNCTIONS TO CLOSE FILES
nidhinvarghese 14:f5c62d30c6fc 248 //__________________________________________________
nidhinvarghese 14:f5c62d30c6fc 249 void sd_close() //close the file with fp
nidhinvarghese 8:adf2ba7e6412 250 {
nikitateggi 1:8316c23ec6b9 251
nidhinvarghese 8:adf2ba7e6412 252 fclose(fp);
nidhinvarghese 8:adf2ba7e6412 253 }
nidhinvarghese 14:f5c62d30c6fc 254 //______________________________________________________
nidhinvarghese 14:f5c62d30c6fc 255 void sd_close_ecg() // Closes ECG file pinted by fpeecg
nidhinvarghese 14:f5c62d30c6fc 256 {
nidhinvarghese 14:f5c62d30c6fc 257
nidhinvarghese 14:f5c62d30c6fc 258 fclose(fpeecg);
nidhinvarghese 14:f5c62d30c6fc 259 }
nidhinvarghese 14:f5c62d30c6fc 260 //______________________________________________________
nidhinvarghese 14:f5c62d30c6fc 261 void sd_close_glc() // Closes GLC file pinted by fpbg
nidhinvarghese 14:f5c62d30c6fc 262 {
nidhinvarghese 14:f5c62d30c6fc 263
nidhinvarghese 14:f5c62d30c6fc 264 fclose(fpbg);
nidhinvarghese 14:f5c62d30c6fc 265 }
nidhinvarghese 14:f5c62d30c6fc 266 //_____________________________________________________
nidhinvarghese 14:f5c62d30c6fc 267
nidhinvarghese 14:f5c62d30c6fc 268
nidhinvarghese 14:f5c62d30c6fc 269
nidhinvarghese 14:f5c62d30c6fc 270
nidhinvarghese 14:f5c62d30c6fc 271
nidhinvarghese 14:f5c62d30c6fc 272
nidhinvarghese 8:adf2ba7e6412 273 //fread(buffer, 1, size, fp)
nidhinvarghese 8:adf2ba7e6412 274 //fwrite(&buffer, ,
nidhinvarghese 10:aeff3309002a 275 //----------------------------------------------------28/4/2017---------------------------------
nidhinvarghese 10:aeff3309002a 276 //----------------------------------------------------------------------------------------------
nidhinvarghese 10:aeff3309002a 277
nidhinvarghese 10:aeff3309002a 278
nidhinvarghese 10:aeff3309002a 279
nidhinvarghese 10:aeff3309002a 280 //------- FUNCTION TO CREATE SINGLE BP FILE --------2/5/2017 (NIDHIN)---------------//
rashmivenkataramaiah 43:85a7f399cb9d 281 void create_single_BPfile(uint32_t pid)
nidhinvarghese 10:aeff3309002a 282 {
nidhinvarghese 10:aeff3309002a 283
nidhinvarghese 10:aeff3309002a 284 //int ecgbuf[64] = {0};
nidhinvarghese 10:aeff3309002a 285 //uint32_t ppgbuf[64] = {0};
nidhinvarghese 10:aeff3309002a 286
nidhinvarghese 10:aeff3309002a 287 char buffer3[32];
nidhinvarghese 10:aeff3309002a 288 sprintf(buffer3, "/sd/%d_BP.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 289 fpbp = fopen(buffer3, "a"); // Opens BP file with FILE pointer fpbp in APPEND mode
nidhinvarghese 10:aeff3309002a 290
nidhinvarghese 10:aeff3309002a 291 //buffer1[32] = "";
nidhinvarghese 14:f5c62d30c6fc 292 sprintf(buffer3, "/sd/%d_BP_ECG.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 293 fpecg = fopen(buffer3, "r"); // Opens ECG file of BP with FILE pointer fpecg in READ mode
nidhinvarghese 10:aeff3309002a 294
nidhinvarghese 10:aeff3309002a 295 //char buffer1[32] = "";
nidhinvarghese 10:aeff3309002a 296 sprintf(buffer3, "/sd/%d_BP_PPG.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 297 fpppg = fopen(buffer3, "r"); // Opens PPG file of BP with FILE pointer fpppg in READ mode
nidhinvarghese 10:aeff3309002a 298
nidhinvarghese 10:aeff3309002a 299 for(int i=0; i<16; i++)
nidhinvarghese 10:aeff3309002a 300 {
nidhinvarghese 10:aeff3309002a 301 int ecgbuf[64] = {0} ;
nidhinvarghese 14:f5c62d30c6fc 302 fread(ecgbuf, sizeof(uint32_t), 64, fpecg);
nidhinvarghese 14:f5c62d30c6fc 303 fwrite(ecgbuf, sizeof(uint32_t), 64, fpbp); // Copy ECG data of BP into BP file
nidhinvarghese 10:aeff3309002a 304 }
nidhinvarghese 10:aeff3309002a 305
nidhinvarghese 10:aeff3309002a 306 for(int i=0; i<26; i++)
nidhinvarghese 10:aeff3309002a 307 {
nidhinvarghese 10:aeff3309002a 308 int ppgbuf[64] = {0} ;
nidhinvarghese 14:f5c62d30c6fc 309 fread(ppgbuf, sizeof(uint32_t), 64, fpppg);
nidhinvarghese 14:f5c62d30c6fc 310 fwrite(ppgbuf, sizeof(uint32_t), 64, fpbp); // Copy PPG data of BP into BP file
nidhinvarghese 10:aeff3309002a 311 }
nidhinvarghese 10:aeff3309002a 312
nidhinvarghese 14:f5c62d30c6fc 313 fclose(fpecg); // Closes the ECG file of BP
nidhinvarghese 14:f5c62d30c6fc 314 fclose(fpppg); // Closes the PPG file of BP
nidhinvarghese 14:f5c62d30c6fc 315 fclose(fpbp); // Closes the BP file
nidhinvarghese 10:aeff3309002a 316
nidhinvarghese 10:aeff3309002a 317 //char buffer1[32] = "";
nidhinvarghese 14:f5c62d30c6fc 318 int status = 1 ;
nidhinvarghese 10:aeff3309002a 319 sprintf(buffer3, "/sd/%d_BP_ECG.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 320 status = remove(buffer3); //Removes ECG file of BP and updates status with 0 if successful
nidhinvarghese 11:9a6545c2eb5d 321
nidhinvarghese 11:9a6545c2eb5d 322
nidhinvarghese 10:aeff3309002a 323 if( status == 0 )
nidhinvarghese 14:f5c62d30c6fc 324 snd.printf("\nECG file delete : Successful"); // Checks for SUCCESS
nidhinvarghese 10:aeff3309002a 325 else
nidhinvarghese 10:aeff3309002a 326 snd.printf("\nECG file delete : UnSuccessful");
nidhinvarghese 11:9a6545c2eb5d 327
nidhinvarghese 11:9a6545c2eb5d 328
nidhinvarghese 10:aeff3309002a 329 //char buffer1[32] = "";
nidhinvarghese 14:f5c62d30c6fc 330 status = 1 ;
nidhinvarghese 10:aeff3309002a 331 sprintf(buffer3, "/sd/%d_BP_PPG.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 332 status = remove(buffer3); //Removes PPG file of BP and updates status with 0 if successful
nidhinvarghese 11:9a6545c2eb5d 333
nidhinvarghese 10:aeff3309002a 334 if( status == 0 )
nidhinvarghese 14:f5c62d30c6fc 335 snd.printf("\nPPG file delete : Successful"); // Checks for SUCCESS
nidhinvarghese 10:aeff3309002a 336 else
nidhinvarghese 10:aeff3309002a 337 snd.printf("\nPPG file delete : UnSuccessful");
nidhinvarghese 11:9a6545c2eb5d 338
nidhinvarghese 14:f5c62d30c6fc 339 }
nidhinvarghese 14:f5c62d30c6fc 340
avp2417 36:00d96aa14658 341
avp2417 36:00d96aa14658 342
nidhinvarghese 14:f5c62d30c6fc 343 //Creating strcuture file Common to All Functions
rashmivenkataramaiah 43:85a7f399cb9d 344 void structure_file(BLEMsg_info *ptr, uint32_t pid)
nidhinvarghese 14:f5c62d30c6fc 345 {
rashmivenkataramaiah 41:1141a75eacc4 346 char buffer3[32];
rashmivenkataramaiah 41:1141a75eacc4 347 sprintf(buffer3, "/sd/%d.csv", pid); //Printing file path to the buffer
rashmivenkataramaiah 42:c81673b04b6a 348 if(get_filecreated_status() == true) //if file created open in append mode
rashmivenkataramaiah 41:1141a75eacc4 349 {
rashmivenkataramaiah 41:1141a75eacc4 350 fpmain = fopen(buffer3, "a"); // open the file PID.csv with FILE pointer fpmain
rashmivenkataramaiah 41:1141a75eacc4 351 snd.printf("\n Append mode\n");
rashmivenkataramaiah 41:1141a75eacc4 352 }
rashmivenkataramaiah 41:1141a75eacc4 353 else //if file not created, open in write mode
rashmivenkataramaiah 41:1141a75eacc4 354 {
rashmivenkataramaiah 41:1141a75eacc4 355 fpmain = fopen(buffer3, "w"); // open the file PID.csv with FILE pointer fpmain
rashmivenkataramaiah 41:1141a75eacc4 356 snd.printf("\n Write mode\n");
rashmivenkataramaiah 41:1141a75eacc4 357 }
rashmivenkataramaiah 41:1141a75eacc4 358
nidhinvarghese 14:f5c62d30c6fc 359 fwrite(ptr, sizeof(uint8_t),26, fpmain ); // writing the Structure into the file
nidhinvarghese 14:f5c62d30c6fc 360 fclose(fpmain); // Close File
nidhinvarghese 14:f5c62d30c6fc 361 }
nidhinvarghese 14:f5c62d30c6fc 362
nidhinvarghese 14:f5c62d30c6fc 363 //Copy Data into file.
nidhinvarghese 14:f5c62d30c6fc 364
rashmivenkataramaiah 43:85a7f399cb9d 365 void bpfile_mainfile(uint32_t pid) //Copy data of bp file to main
nidhinvarghese 14:f5c62d30c6fc 366 {
nidhinvarghese 14:f5c62d30c6fc 367 char buffer3[32];
nidhinvarghese 14:f5c62d30c6fc 368 sprintf(buffer3, "/sd/%d.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 369 fpmain = fopen(buffer3, "a"); // Opens Main file with FILE pointer "fpmain" in APPEND mode
nidhinvarghese 14:f5c62d30c6fc 370
nidhinvarghese 14:f5c62d30c6fc 371 sprintf(buffer3, "/sd/%d_BP.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 372 fpbp = fopen(buffer3, "r"); // Opens BP file with FILE pointer "fpbp" in READ mode
nidhinvarghese 14:f5c62d30c6fc 373
nidhinvarghese 14:f5c62d30c6fc 374
nidhinvarghese 14:f5c62d30c6fc 375 for(int i=0; i<21; i++)
nidhinvarghese 14:f5c62d30c6fc 376 {
nidhinvarghese 14:f5c62d30c6fc 377 int bigbuf[128] = {0} ;
nidhinvarghese 14:f5c62d30c6fc 378 fread(bigbuf, sizeof(uint32_t), 128, fpbp);
nidhinvarghese 14:f5c62d30c6fc 379 fwrite(bigbuf, sizeof(uint32_t), 128, fpmain); // Copy BP raw data into main file
nidhinvarghese 14:f5c62d30c6fc 380 }
nidhinvarghese 14:f5c62d30c6fc 381 fclose(fpbp); // Close BP file
nidhinvarghese 14:f5c62d30c6fc 382 fclose(fpmain); // Close Main File
nidhinvarghese 14:f5c62d30c6fc 383
nidhinvarghese 14:f5c62d30c6fc 384 int success;
nidhinvarghese 14:f5c62d30c6fc 385 sprintf(buffer3, "/sd/%d_BP.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 386 success = remove(buffer3); // Should return zero on success
nidhinvarghese 14:f5c62d30c6fc 387 }
nidhinvarghese 14:f5c62d30c6fc 388
nidhinvarghese 14:f5c62d30c6fc 389 //------------New function added to print ECG data to Sd card using fwrite
suhasini 26:53ff13a164f3 390 void sd_ecgwrite(uint32_t *ecg_ptr)
nidhinvarghese 14:f5c62d30c6fc 391 {
nidhinvarghese 14:f5c62d30c6fc 392 fwrite(ecg_ptr, sizeof(int), 1, fpeecg);
nidhinvarghese 14:f5c62d30c6fc 393 }
nidhinvarghese 14:f5c62d30c6fc 394
nidhinvarghese 14:f5c62d30c6fc 395
nidhinvarghese 14:f5c62d30c6fc 396 //------------ Function to write ECG data to main file
rashmivenkataramaiah 43:85a7f399cb9d 397 void ecgfile_mainfile(uint32_t pid)
nidhinvarghese 14:f5c62d30c6fc 398 {
nidhinvarghese 14:f5c62d30c6fc 399 char buffer3[32];
nidhinvarghese 14:f5c62d30c6fc 400 sprintf(buffer3, "/sd/%d.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 401 fpmain = fopen(buffer3, "a"); // Main File is opened in Append mode
suhasini 26:53ff13a164f3 402 snd.printf("opening main file\n");
nidhinvarghese 14:f5c62d30c6fc 403 sprintf(buffer3, "/sd/%d_ECG.csv", pid); // ECG file is opened in read mode
nidhinvarghese 14:f5c62d30c6fc 404 fpeecg = fopen(buffer3, "r");
suhasini 26:53ff13a164f3 405 snd.printf("opening temp file\n");
suhasini 26:53ff13a164f3 406 for(int i=0; i<20; i++) //the loop runs as 20 times of 100 i.e., 2k
nidhinvarghese 14:f5c62d30c6fc 407 {
nidhinvarghese 14:f5c62d30c6fc 408 int bigbuf[100] = {0} ;
nidhinvarghese 14:f5c62d30c6fc 409 fread(bigbuf, sizeof(int),100 , fpeecg);
nidhinvarghese 14:f5c62d30c6fc 410 fwrite(bigbuf, sizeof(int), 100, fpmain);
nidhinvarghese 14:f5c62d30c6fc 411 }
suhasini 26:53ff13a164f3 412 snd.printf("to close temp file\n");
nidhinvarghese 14:f5c62d30c6fc 413 fclose(fpeecg); // Both files are Closed
suhasini 26:53ff13a164f3 414 snd.printf("to come out of main file\n");
nidhinvarghese 14:f5c62d30c6fc 415 fclose(fpmain);
nidhinvarghese 14:f5c62d30c6fc 416
suhasini 26:53ff13a164f3 417 snd.printf("COPY complete Files Closed\n");
suhasini 26:53ff13a164f3 418
nidhinvarghese 14:f5c62d30c6fc 419 sprintf(buffer3, "/sd/%d_ECG.csv", pid); // ECG file is opened in write mode to empty the file
suhasini 26:53ff13a164f3 420 fpeecg = fopen(buffer3, "r");
suhasini 26:53ff13a164f3 421 fclose(fpeecg);
suhasini 26:53ff13a164f3 422 // File is closed
nidhinvarghese 14:f5c62d30c6fc 423 int success;
nidhinvarghese 14:f5c62d30c6fc 424 sprintf(buffer3, "/sd/%d_ECG.csv", pid);
suhasini 26:53ff13a164f3 425 success = remove(buffer3);
suhasini 26:53ff13a164f3 426 snd.printf("DELETE STATUS = %d\n", success);
nidhinvarghese 14:f5c62d30c6fc 427 }
nidhinvarghese 14:f5c62d30c6fc 428
nidhinvarghese 14:f5c62d30c6fc 429
nidhinvarghese 14:f5c62d30c6fc 430 //---------------------- Function to write GLC data to GLC file
rashmivenkataramaiah 43:85a7f399cb9d 431 void sd_glcwrite(uint32_t *glc_ptr, uint32_t pid)
nidhinvarghese 14:f5c62d30c6fc 432 {
nidhinvarghese 14:f5c62d30c6fc 433 char buffer3[32];
nidhinvarghese 14:f5c62d30c6fc 434 sprintf(buffer3, "/sd/%d_GLC.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 435 fpbg = fopen(buffer3, "a");
nidhinvarghese 14:f5c62d30c6fc 436
nidhinvarghese 14:f5c62d30c6fc 437 fwrite(glc_ptr, sizeof(uint32_t), 2, fpbg);
nidhinvarghese 14:f5c62d30c6fc 438 fclose(fpbg);
nidhinvarghese 14:f5c62d30c6fc 439
nidhinvarghese 14:f5c62d30c6fc 440 }
nidhinvarghese 14:f5c62d30c6fc 441
nidhinvarghese 14:f5c62d30c6fc 442 // --------------------------Fuinction to write GLC data to Main file
nidhinvarghese 14:f5c62d30c6fc 443
rashmivenkataramaiah 43:85a7f399cb9d 444 void glcfile_mainfile(uint32_t pid)
nidhinvarghese 14:f5c62d30c6fc 445 {
nidhinvarghese 14:f5c62d30c6fc 446 char buffer3[32];
nidhinvarghese 14:f5c62d30c6fc 447 sprintf(buffer3, "/sd/%d.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 448 fpmain = fopen(buffer3, "a"); // Main File is opened in Append mode
nidhinvarghese 14:f5c62d30c6fc 449
nidhinvarghese 14:f5c62d30c6fc 450 sprintf(buffer3, "/sd/%d_GLC.csv", pid); // BG file is opened in read mode
nidhinvarghese 14:f5c62d30c6fc 451 fpbg = fopen(buffer3, "r");
nidhinvarghese 14:f5c62d30c6fc 452
nidhinvarghese 17:22a87e12fb3a 453 for(int i=0; i<1; i++)
nidhinvarghese 14:f5c62d30c6fc 454 {
nidhinvarghese 14:f5c62d30c6fc 455 int bigbuf[2] = {0} ;
nidhinvarghese 14:f5c62d30c6fc 456 fread(bigbuf, sizeof(int),2 , fpbg);
nidhinvarghese 14:f5c62d30c6fc 457 fwrite(bigbuf, sizeof(int), 2, fpmain);
nidhinvarghese 14:f5c62d30c6fc 458 }
nidhinvarghese 14:f5c62d30c6fc 459 fclose(fpbg); // Both files are Closed
nidhinvarghese 14:f5c62d30c6fc 460 fclose(fpmain);
nidhinvarghese 14:f5c62d30c6fc 461
nidhinvarghese 14:f5c62d30c6fc 462 int success;
nidhinvarghese 14:f5c62d30c6fc 463 sprintf(buffer3, "/sd/%d_GLC.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 464 success = remove(buffer3); // GLC file is deleted
nidhinvarghese 14:f5c62d30c6fc 465 }
nidhinvarghese 14:f5c62d30c6fc 466
nidhinvarghese 14:f5c62d30c6fc 467
rashmivenkataramaiah 43:85a7f399cb9d 468 void delete_subfiles(uint32_t pid)
nidhinvarghese 14:f5c62d30c6fc 469 {
nidhinvarghese 14:f5c62d30c6fc 470 char buffer3[32];
nidhinvarghese 14:f5c62d30c6fc 471 int success1 , success2, success3;
nidhinvarghese 14:f5c62d30c6fc 472 success1 = 1 ;
nidhinvarghese 14:f5c62d30c6fc 473 sprintf(buffer3, "/sd/%d_BP.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 474 success1 = remove(buffer3); //Removes PPG file of BP and updates status with 0 if successful
nidhinvarghese 14:f5c62d30c6fc 475
nidhinvarghese 14:f5c62d30c6fc 476 if( success1 == 0 )
nidhinvarghese 14:f5c62d30c6fc 477 snd.printf("\nBP file delete : Successful"); // Checks for SUCCESS
nidhinvarghese 14:f5c62d30c6fc 478 else
nidhinvarghese 14:f5c62d30c6fc 479 snd.printf("\nBP file delete : UnSuccessful");
nidhinvarghese 14:f5c62d30c6fc 480
nidhinvarghese 14:f5c62d30c6fc 481 success2 = 1 ;
nidhinvarghese 14:f5c62d30c6fc 482 sprintf(buffer3, "/sd/%d_GLC.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 483 success2 = remove(buffer3); //Removes GLC file and updates status with 0 if successful
nidhinvarghese 14:f5c62d30c6fc 484
nidhinvarghese 14:f5c62d30c6fc 485 if( success2 == 0 )
nidhinvarghese 14:f5c62d30c6fc 486 snd.printf("\nGLC file delete : Successful"); // Checks for SUCCESS
nidhinvarghese 14:f5c62d30c6fc 487 else
nidhinvarghese 14:f5c62d30c6fc 488 snd.printf("\nGLC file delete : UnSuccessful");
nidhinvarghese 14:f5c62d30c6fc 489
nidhinvarghese 14:f5c62d30c6fc 490 success3 = 1 ;
nidhinvarghese 14:f5c62d30c6fc 491 sprintf(buffer3, "/sd/%d_ECG.csv", pid);
nidhinvarghese 14:f5c62d30c6fc 492 success3 = remove(buffer3); //Removes ECG file and updates status with 0 if successful
nidhinvarghese 14:f5c62d30c6fc 493
nidhinvarghese 14:f5c62d30c6fc 494 if( success3 == 0 )
nidhinvarghese 14:f5c62d30c6fc 495 snd.printf("\nECG file delete : Successful"); // Checks for SUCCESS
nidhinvarghese 14:f5c62d30c6fc 496 else
nidhinvarghese 14:f5c62d30c6fc 497 snd.printf("\nECG file delete : UnSuccessful");
nidhinvarghese 14:f5c62d30c6fc 498
nikitateggi 22:ffa88619551d 499 }
nikitateggi 22:ffa88619551d 500
nikitateggi 22:ffa88619551d 501
rashmivenkataramaiah 43:85a7f399cb9d 502 void del_ppg_ecg_BPfile(uint32_t pid)
avp2417 36:00d96aa14658 503 {
avp2417 36:00d96aa14658 504 int status = 1 ;
avp2417 36:00d96aa14658 505 char buffer3[32];
avp2417 36:00d96aa14658 506 sprintf(buffer3, "/sd/%d_BP_ECG.csv", pid);
avp2417 36:00d96aa14658 507 status = remove(buffer3); //Removes ECG file of BP and updates status with 0 if successful
avp2417 36:00d96aa14658 508
avp2417 36:00d96aa14658 509 if( status == 0 )
avp2417 36:00d96aa14658 510 snd.printf("\n temp ECG file delete for error condition: Successful"); // Checks for SUCCESS
avp2417 36:00d96aa14658 511 else
avp2417 36:00d96aa14658 512 snd.printf("\n temp ECG file delete for error condition: UnSuccessful");
avp2417 36:00d96aa14658 513
avp2417 36:00d96aa14658 514
avp2417 36:00d96aa14658 515 //char buffer1[32] = "";
avp2417 36:00d96aa14658 516 status = 1 ;
avp2417 36:00d96aa14658 517 sprintf(buffer3, "/sd/%d_BP_PPG.csv", pid);
avp2417 36:00d96aa14658 518 status = remove(buffer3); //Removes PPG file of BP and updates status with 0 if successful
avp2417 36:00d96aa14658 519
avp2417 36:00d96aa14658 520 if( status == 0 )
avp2417 36:00d96aa14658 521 snd.printf("\n temp PPG file delete for error condition: Successful"); // Checks for SUCCESS
avp2417 36:00d96aa14658 522 else
avp2417 36:00d96aa14658 523 snd.printf("\n temp PPG file delete for error condition: UnSuccessful");
avp2417 36:00d96aa14658 524
rashmivenkataramaiah 41:1141a75eacc4 525 }
rashmivenkataramaiah 41:1141a75eacc4 526
rashmivenkataramaiah 41:1141a75eacc4 527 void sd_read(uint32_t *pid_btpid) //reading the data from the openend file
rashmivenkataramaiah 41:1141a75eacc4 528 {
rashmivenkataramaiah 42:c81673b04b6a 529 FILE *fp;
rashmivenkataramaiah 41:1141a75eacc4 530 uint32_t pid[2]={1,1};
rashmivenkataramaiah 41:1141a75eacc4 531 fp= fopen("/sd/pid_info.txt","r");
rashmivenkataramaiah 41:1141a75eacc4 532 if (fp==NULL)
rashmivenkataramaiah 41:1141a75eacc4 533 {
rashmivenkataramaiah 42:c81673b04b6a 534 fp= fopen("/sd/pid_info.txt","w");
rashmivenkataramaiah 42:c81673b04b6a 535 fwrite(&pid, sizeof(uint32_t),2,fp);
rashmivenkataramaiah 42:c81673b04b6a 536 fclose(fp);
rashmivenkataramaiah 41:1141a75eacc4 537 fp= fopen("/sd/pid_info.txt","r");
rashmivenkataramaiah 41:1141a75eacc4 538 }
rashmivenkataramaiah 41:1141a75eacc4 539
rashmivenkataramaiah 41:1141a75eacc4 540 fread(pid_btpid,sizeof(pid_btpid),2,fp);
rashmivenkataramaiah 41:1141a75eacc4 541 fclose(fp);
rashmivenkataramaiah 41:1141a75eacc4 542
rashmivenkataramaiah 41:1141a75eacc4 543 }
rashmivenkataramaiah 41:1141a75eacc4 544
rashmivenkataramaiah 41:1141a75eacc4 545
rashmivenkataramaiah 41:1141a75eacc4 546 void sd_write(uint32_t *pid_btpid) //reading the data from the openend file
rashmivenkataramaiah 41:1141a75eacc4 547 {
rashmivenkataramaiah 41:1141a75eacc4 548 FILE *fp;
rashmivenkataramaiah 41:1141a75eacc4 549 fp= fopen("/sd/pid_info.txt","w");
rashmivenkataramaiah 41:1141a75eacc4 550 fwrite(pid_btpid,sizeof(pid_btpid),2,fp);
rashmivenkataramaiah 41:1141a75eacc4 551 fclose(fp);
rashmivenkataramaiah 41:1141a75eacc4 552
rashmivenkataramaiah 41:1141a75eacc4 553 }
rashmivenkataramaiah 41:1141a75eacc4 554
rashmivenkataramaiah 42:c81673b04b6a 555