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: SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217
Fork of merged_code2_20sept_2017_4th_oct_2017 by
sdcard.cpp
- Committer:
- nidhinvarghese
- Date:
- 2017-04-28
- Revision:
- 8:adf2ba7e6412
- Parent:
- 4:6bd81bb1790d
- Child:
- 10:aeff3309002a
File content as of revision 8:adf2ba7e6412:
/*
#include "mbed.h"
#include <stdio.h>
#include "SDFileSystem.h"
#include "sdcard.h"
#include "rtc.h"
SDFileSystem sd(PTE1, PTE3, PTE2, PTE4, "sd");
FILE *fp=NULL;
void sd_open_GLCfile(int pid) // opening the glc file
{
char buffer[32];
char buffer1[32];
time_t epoch_time1;
epoch_time1=rtc_read();
// strftime(buffer, 32, "GLC_%s", pid);
sprintf(buffer1,"/sd/%d_GLC.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"%s\n",ctime(&epoch_time1) ); //writing the date, time into the file
}
void sd_open_GLCfilee(int pid) // only opening the glc file after entering TEST screen
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_GLC.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"PATIENT ID %d\n",pid);
}
void sd_open_ECGfile(int pid)
{
// char buffer[32];
char buffer1[32];
time_t epoch_time1;
epoch_time1=rtc_read();
// strftime(buffer, 32, "ECG_%d", pid);
sprintf(buffer1,"/sd/%d_ECG.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"%s\n",ctime(&epoch_time1) );
}
void sd_open_ECGfilee(int pid) // only opening the ECG file after entering TEST screen
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_ECG.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"PATIENT ID %d\n",pid );
}
void sd_open_BPfile(int pid)
{
char buffer[32];
char buffer1[32];
time_t epoch_time1;
epoch_time1=rtc_read();
// strftime(buffer, 32, "ECG_%d", pid);
sprintf(buffer1,"/sd/%d_BP.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"%s\n",ctime(&epoch_time1) );
}
void sd_open_BPfilee(int pid) // only opening the BP file after entering TEST screen
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_BP.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"PATIENT ID %d\n",pid );
}
void sd_write (int value) // writing data into the file
{
fprintf(fp,"%d\n", value);
}
void sd_close() //closing the file
{
fclose(fp);
}*/
//----------------------------------------NEW ADD NIDHIN 28/4/2017-------------------------------//
#include "mbed.h"
#include <stdio.h>
#include "SDFileSystem.h"
#include "sdcard.h"
#include "rtc.h"
Serial snd(USBTX,USBRX);
SDFileSystem sd(PTE1, PTE3, PTE2, PTE4, "sd");
FILE *fp;
FILE *fpecg; // PPG and ECG File pointers for BP
FILE *fpppg;
int ecgloc = 0; // PPG and eCG maximum locations
int ppgloc = 0;
int ebp = 0; // variable for LOOP operation to read value from File i == ECG , j == PPG
int pbp = 0;
void sd_open_GLCfile(int pid) // opening the glc file
{
char buffer[32];
char buffer1[32];
time_t epoch_time1;
epoch_time1=rtc_read();
// strftime(buffer, 32, "GLC_%s", pid);
sprintf(buffer1,"/sd/%d_GLC.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"%s\n",ctime(&epoch_time1) ); //writing the date, time into the file
}
void sd_open_GLCfilee(int pid) // only opening the glc file after entering TEST screen
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_GLC.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"PATIENT ID %d\n",pid);
}
void sd_open_ECGfile(int pid)
{
// char buffer[32];
char buffer1[32];
time_t epoch_time1;
epoch_time1=rtc_read();
// strftime(buffer, 32, "ECG_%d", pid);
sprintf(buffer1,"/sd/%d_ECG.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"%s\n",ctime(&epoch_time1) );
}
void sd_open_ECGfilee(int pid) // only opening the ECG file after entering TEST screen
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_ECG.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"PATIENT ID %d\n",pid );
}
void sd_open_BPfile(int pid)
{
char buffer[32];
char buffer1[32];
time_t epoch_time1;
epoch_time1=rtc_read();
// strftime(buffer, 32, "ECG_%d", pid);
sprintf(buffer1,"/sd/%d_BP.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"%s\n",ctime(&epoch_time1) );
}
void sd_open_BPfilee(int pid) // only opening the BP file after entering TEST screen
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_BP.csv",pid);
fp = fopen(buffer1,"a");
fprintf(fp,"PATIENT ID %d\n",pid );
}
void sd_write (int value) // writing data into the file
{
fprintf(fp,"%d\n", value);
}
//------------------------------------------------------
//FILE *sd_BP_ecgwrite (int value) // writing data into the file NIDHIN
FILE *sd_BP_ecgwrite (int *fpdrum11) // writing data into the file NIDHIN
{
fwrite(fpdrum11,sizeof(int),64, fpecg);
return fpecg;
}
FILE* sd_BP_ppgwrite (uint32_t *fpdrum21) // writing data into the file NIDHIN
{
fwrite(fpdrum21,sizeof(uint32_t),64, fpppg);
return fpppg;
}
//-----------------------------------------------SD Read
void sd_reopen_BPfilee(int pid) // only opening the BP file after entering TEST screen
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_BP.csv",pid);
fp = fopen(buffer1,"r");
//fprintf(fp,"PATIENT ID %d\n",pid );
}
//-------------------------------------------------
//---------------------------------------
void sd_open_BP_ECGfile(int pid)
{
//char buffer[32];
char buffer1[32];
//time_t epoch_time1;
//epoch_time1=rtc_read();
// strftime(buffer, 32, "ECG_%d", pid);
sprintf(buffer1,"/sd/%d_BP_ECG.csv",pid);
fpecg = fopen(buffer1,"a");
if (fpecg == NULL)
{
exit(1);
}
//fprintf(fpecg,"%s\n",ctime(&epoch_time1) );
}
void sd_open_BP_PPGfile(int pid)
{
char buffer1[32];
//time_t epoch_time1;
//epoch_time1=rtc_read();
// strftime(buffer, 32, "ECG_%d", pid);
sprintf(buffer1,"/sd/%d_BP_PPG.csv",pid);
fpppg = fopen(buffer1,"a");
if(fpppg == NULL)
{
exit(1);
}
//fprintf(fpppg,"%s\n",ctime(&epoch_time1) );
}
//--------------------------------------------------
//void sd_bp_read(
void sd_close() //closing the file
{
fclose(fp);
}
//------------------------------------------
//REOPEN FUNCTIONs for reading data Nidhin
int sd_BP_ECGMAX(int pid)
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_BP_ECG.csv",pid);
fpecg = fopen(buffer1,"r");
if(fpecg == NULL)
{
exit(1);
}
else
{
int ecgmax = 0;
int a[1] = {0};
int samplesecg =0;
for(ebp=0; ebp<1024; ebp++)
{
fread(a,sizeof(int), 1,fpecg);
snd.printf("\n%d", a[0]);
if(a[0] > ecgmax)
{
ecgmax=a[0];
ecgloc= ebp +1;
}
else
samplesecg =ebp+1;
}
}
fclose (fpecg);
return ecgloc;
}
// Function to calculate PPG MAx and location
int sd_BP_PPGMAX(int pid)
{
char buffer1[32];
sprintf(buffer1,"/sd/%d_BP_PPG.csv",pid);
fpppg = fopen(buffer1,"r");
if(fpppg == NULL)
{
exit(1);
}
else
{
uint32_t ppgmax = 0;
uint32_t b[1] ={0};
int samplesppg = 0;
for(pbp=0; pbp<1664; pbp++)
{
fread(b, sizeof(uint32_t),1, fpppg);
snd.printf("\n%d", b[0]);
if((pbp>ecgloc) && (pbp< (ecgloc+350)))
{
if(b[0] > ppgmax)
{
ppgmax=b[0];
ppgloc= pbp+1;
}
else
samplesppg =pbp+1;
}
else
samplesppg = pbp+1;
}
}
fclose (fpppg);
return ppgloc;
}
//fread(buffer, 1, size, fp)
//fwrite(&buffer, ,
//----------------------------------------------------28/4/2017---------------------------------
