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

Files at this revision

API Documentation at this revision

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

bp.cpp Show annotated file Show diff for this revision Revisions of this file
ecgg.cpp Show annotated file Show diff for this revision Revisions of this file
glc.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
main.h Show annotated file Show diff for this revision Revisions of this file
sdcard.cpp Show annotated file Show diff for this revision Revisions of this file
sdcard.h Show annotated file Show diff for this revision Revisions of this file
--- 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