
Changes done in ECG and BT
Dependencies: SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217
Fork of merged_code2_20sept_2017_4th_oct_2017 by
Revision 42:c81673b04b6a, committed 2017-09-11
- Comitter:
- rashmivenkataramaiah
- Date:
- Mon Sep 11 10:02:46 2017 +0000
- Parent:
- 41:1141a75eacc4
- Child:
- 43:85a7f399cb9d
- Commit message:
- PID tracking with getpid, store pid
Changed in this revision
--- a/bp.cpp Fri Sep 08 10:35:21 2017 +0000 +++ b/bp.cpp Mon Sep 11 10:02:46 2017 +0000 @@ -225,7 +225,6 @@ create_single_BPfile(pid); // Copy ECG and PPG data to BP file structure_file(ptr_BLEMsg_info_bp, pid); // Copy BP structure to main file bpfile_mainfile(pid); - increment_pid (); //increment pid if test is pass screen_bp1(SBP,DBP); } } //Added Nidhin 16/6/17
--- a/ecgg.cpp Fri Sep 08 10:35:21 2017 +0000 +++ b/ecgg.cpp Mon Sep 11 10:02:46 2017 +0000 @@ -248,7 +248,6 @@ structure_file(ptr_BLEMsg_info_ecg, pid); //copy the ECG structure to Main file //COMMENTED Nidhin 10/6/2017 ecgfile_mainfile(pid); // copy raw data to the main file and ECG file is cleared. //COMMENTED Nidhin 10/6/2017 - increment_pid (); //increment pid if test is pass pc.printf("Closed the main file\n"); return HR_avg; }
--- a/glc.cpp Fri Sep 08 10:35:21 2017 +0000 +++ b/glc.cpp Mon Sep 11 10:02:46 2017 +0000 @@ -264,7 +264,6 @@ structure_file(ptr_BLEMsg_info_glc, pid); // Copy the structure into the GLC file glcfile_mainfile(pid); - increment_pid (); //increment pid if test is pass } else if(err == 1 || mgdl > MAX_GLC_THRESHOLD || mgdl < MIN_GLC_THRESHOLD) // added threshold to check value out of range {
--- a/main.cpp Fri Sep 08 10:35:21 2017 +0000 +++ b/main.cpp Mon Sep 11 10:02:46 2017 +0000 @@ -18,10 +18,18 @@ DigitalIn q1(PTB11); DigitalIn q(PTC5); DigitalIn q3(PTC12); -DigitalIn BT(PTA5); //bluetooth status pin - -int32_t pid = 0; // patient ID -bool file_created_status = 0x0000; //initialise file created to 0 +DigitalIn BT(PTA5); + //bluetooth status pin +uint8_t touch(uint8_t state); // touch state +uint8_t display(uint8_t state1); // display state +static uint8_t nstate=0; +static uint8_t nstate1=0; +static uint32_t current_test_pid=0; +static uint32_t bt_file_sent_pid=0; +uint32_t pid = 0; // patient ID +bool file_created_status = false; //initialise file created to 0 +static uint32_t pid_btpid[2]; +uint32_t filepid_btpid[2] = {}; int main() { @@ -36,8 +44,9 @@ DisableTouch(); gc.baud(115200); init_screen(); //initialize lcd - sd_read(pid_btpid); //read test pid and bt pid from sd card - pid = pid_btpid[0]; //copy test pid to pid variable + //sd_read(pid_btpid); //read test pid and bt pid from sd card + //pid = pid_btpid[0]; //copy test pid to pid variable + pid = get_filepid(); screen_main(); // display of main screen @@ -205,8 +214,7 @@ ecg_flag=0; // ecg, glc flag to determine whether the readings are taken more than once glc_flag=0; clear_filecreated_status(); - sd_read(pid_btpid); //read pid from sd card - pid=pid_btpid[0]; //copy pid to a variable + pid = get_filepid(); EnableTouch(); break; @@ -221,6 +229,8 @@ case 3: DisableTouch(); + //sd_read(pid_btpid); //read pid from sd card + //pid=pid_btpid[0]; //copy pid to a variable gc.printf("pidinit=%d",pid); screen_main_2(pid); state1=0; @@ -282,6 +292,11 @@ case 7: DisableTouch(); glc(pid); // glc measurement + if(get_filecreated_status() == false) //if file is in write mode + { + set_filecreated_status(); + increment_pid (); + } glc_flag=1; wait(1); state1=0; @@ -311,7 +326,13 @@ screen_ecg_2(heart_rate); ecg_flag=1; - } + } + if(get_filecreated_status() == false) //if file is in write mode + { + set_filecreated_status(); + increment_pid (); + } + state=6; eprom_write_8(30,1); nstate=state; @@ -324,6 +345,11 @@ screen_bp2(); // bp main screen bp_countdown(); // countdown for bp bp(pid); // measuring bp earlier bp() changed to bp(pid) 28/4/2017 + if(get_filecreated_status() == false) //if file is in write mode + { + set_filecreated_status(); + increment_pid (); + } state1=0; state=6; eprom_write_8(30,2); @@ -340,10 +366,11 @@ case 11 : DisableTouch(); - sd_read(pid_btpid); //read pid from sd card - current_test_pid=pid_btpid[0]; - bt_file_sent_pid=pid_btpid[1]; - screen_patient_info(current_test_pid, bt_file_sent_pid); + //sd_read(pid_btpid); //read pid from sd card + //current_test_pid=pid_btpid[0]; + //bt_file_sent_pid=pid_btpid[1]; + //screen_patient_info(current_test_pid, bt_file_sent_pid); + screen_patient_info(get_filepid(), get_btpid()); state1=0; state=12; EnableTouch(); @@ -372,11 +399,64 @@ void set_filecreated_status(void) //function to set file created status { - file_created_status = 0xFFFF; + file_created_status = true; } void clear_filecreated_status(void) //function to clear file created status { - file_created_status = 0x0000; -} \ No newline at end of file + file_created_status = false; +} + +void increment_pid (void) //increment pid if a test is completed +{ + uint32_t filepid_btpid[2] = {}; + + //set_filecreated_status(); //set it to make it append mode + sd_read(filepid_btpid); //read pid from sd card + filepid_btpid[0] = filepid_btpid[0] + 1; //increment it by 1 + sd_write(filepid_btpid); //write it back to sd card + +} + +uint32_t get_filepid(void) +{ + //uint32_t filepid_btpid[2] = {}; + uint32_t filepid = 0; + + sd_read(filepid_btpid); //read pid from sd card + filepid= filepid_btpid[0]; + return filepid; + +} + +void store_filepid(uint32_t pid) +{ + //uint32_t filepid_btpid[2] = {}; + sd_read(filepid_btpid); //read pid from sd card + filepid_btpid[0] = pid; + sd_write(filepid_btpid); //write it back to sd card + +} + +uint32_t get_btpid(void) +{ + //uint32_t filepid_btpid[2] = {}; + uint32_t btpid = 0; + + sd_read(filepid_btpid); //read pid from sd card + btpid= filepid_btpid[1]; + return btpid; + +} + +void store_btpid(uint32_t bt_pid) +{ + //uint32_t filepid_btpid[2] = {}; + + sd_read(filepid_btpid); //read pid from sd card + filepid_btpid[1] = bt_pid; + sd_write(filepid_btpid); //write it back to sd card + +} +
--- a/main.h Fri Sep 08 10:35:21 2017 +0000 +++ b/main.h Mon Sep 11 10:02:46 2017 +0000 @@ -1,19 +1,16 @@ #ifndef MAIN_H_ #define MAIN_H_ -uint8_t touch(uint8_t); -uint8_t display(uint8_t); + bool get_filecreated_status(void); //get status of file created void set_filecreated_status(void); //set file created void clear_filecreated_status(void); //clear file created +void increment_pid (void); -static uint32_t current_test_pid = 0; -static uint32_t bt_file_sent_pid = 0; -static uint8_t nstate = 0; -static uint8_t nstate1 = 0; -static uint32_t pid_btpid[2] = {}; //buffer to store pid and btpid - - +uint32_t get_btpid(void); +void store_btpid(uint32_t bt_pid); +uint32_t get_filepid(void); +void store_filepid(uint32_t pid); #endif
--- a/sdcard.cpp Fri Sep 08 10:35:21 2017 +0000 +++ b/sdcard.cpp Mon Sep 11 10:02:46 2017 +0000 @@ -345,7 +345,7 @@ { char buffer3[32]; sprintf(buffer3, "/sd/%d.csv", pid); //Printing file path to the buffer - if(get_filecreated_status()) //if file created open in append mode + if(get_filecreated_status() == true) //if file created open in append mode { fpmain = fopen(buffer3, "a"); // open the file PID.csv with FILE pointer fpmain snd.printf("\n Append mode\n"); @@ -526,14 +526,14 @@ void sd_read(uint32_t *pid_btpid) //reading the data from the openend file { - FILE *fp; FILE *fp1; + FILE *fp; uint32_t pid[2]={1,1}; fp= fopen("/sd/pid_info.txt","r"); if (fp==NULL) { - fp1= fopen("/sd/pid_info.txt","w"); - fwrite(&pid, sizeof(uint32_t),2,fp1); - fclose(fp1); + fp= fopen("/sd/pid_info.txt","w"); + fwrite(&pid, sizeof(uint32_t),2,fp); + fclose(fp); fp= fopen("/sd/pid_info.txt","r"); } @@ -552,15 +552,4 @@ } -void increment_pid (void) //increment pid if a test is completed -{ - uint32_t pid[2]; - if(!get_filecreated_status()) //if file is in write mode - { - set_filecreated_status(); //set it to make it append mode - sd_read(pid); //read pid from sd card - pid[0] = pid[0] + 1; //increment it by 1 - sd_write(pid); //write it back to sd card - } - -} \ No newline at end of file + \ No newline at end of file
--- a/sdcard.h Fri Sep 08 10:35:21 2017 +0000 +++ b/sdcard.h Mon Sep 11 10:02:46 2017 +0000 @@ -54,6 +54,6 @@ void del_ppg_ecg_BPfile(int32_t pid); // deletes temporary ECG_PPG files in BP when ERROR condition- 22/7/17-Suhasini void sd_write(uint32_t *pid_btpid); void sd_read(uint32_t *pid_btpid); -void increment_pid (void); + #endif \ No newline at end of file