created separate function for hex to char
Dependencies: SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217
Fork of SS_SensePOC2P0_11Dec2017_USERPID by
Diff: main.cpp
- Revision:
- 42:c81673b04b6a
- Parent:
- 41:1141a75eacc4
- Child:
- 43:85a7f399cb9d
--- 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 + +} +