created separate function for hex to char

Dependencies:   SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217

Fork of SS_SensePOC2P0_11Dec2017_USERPID by rashmi v

Revision:
65:8acfba0ce49a
Parent:
64:5a76653792e8
Child:
66:d7fc45e328d0
--- a/main.cpp	Thu Nov 16 11:36:45 2017 +0000
+++ b/main.cpp	Fri Nov 17 12:08:45 2017 +0000
@@ -20,6 +20,9 @@
 #define HEARTBEAT_DATA_LEN                      0x0Du
 #define DEVICE_RESULT_DATA_LEN                  0x04u
 #define ZERO_DATA_LEN                           0x00u
+#define DEVICE_RES_LEN                          0x10u
+#define HEARTBEAT_RES_LEN                       0X36u
+#define TEST_RES_LEN                            0X18u
 
 typedef enum
 {
@@ -57,9 +60,11 @@
     uint8_t                 sos;
     uint8_t                 cmd;                    // this contains error response
     uint8_t                 length;
-    DateTime_info           date_time;
+    uint8_t                 did;
     uint32_t                pid;
-    uint8_t                 did;
+    DateTime_info           date_time;
+    //uint32_t                pid;
+    //uint8_t                 did;
     uint8_t                 device_state;          //changed POC2P0_DEVICE_STATE to uint8_t
     uint8_t                 battery_status;
     uint8_t                 eos;
@@ -72,7 +77,9 @@
 DigitalIn q(PTC5);
 DigitalIn q3(PTC12);
 DigitalIn BT(PTA5);   
-Serial blue1(PTC4,PTC3);  
+Serial blue1(PTC4,PTC3); 
+static void send_thru_terminal(uint8_t input_buf[], uint8_t len_buff,uint8_t struct_data[],uint8_t len_struct);
+ 
 uint32_t get_timer_bluetooth();
 static void battery_status_monitoring();                                     //bluetooth status pin
 uint8_t touch(uint8_t state);                                               // touch state
@@ -90,7 +97,8 @@
 char debug_message[6]={"debug"};                                        //debug message to be received
 void debug_status_monitoring();                                         // debug status monitoring
 static uint32_t pid = 0;                                                    // patient ID    
-static uint8_t state_touch = 1;                                                 //added on 16-NOV rashmi                                     
+static uint8_t state_touch = 1;                                                 //added on 16-NOV rashmi 
+uint8_t buffer_pointer = 0x00u;                                    
 
 int main()
 {
@@ -713,6 +721,8 @@
 // this command response to all the remaining command which doesn't have any data in response
 void poc2p0_send_device_msg_res(uint8_t response_cmd)
 {
+    uint8_t device_res_buffer[DEVICE_RES_LEN] = {0x00u};
+    
     poc2p0_device_msg_response  poc2p0_device_msg_res = {0x00u};
 
     poc2p0_device_msg_res.sos = SOS_EOS;
@@ -722,31 +732,35 @@
     poc2p0_device_msg_res.eos = SOS_EOS;
 
     poc2p0_device_msg_res.chksum = checksum_struct((uint8_t *)&poc2p0_device_msg_res.cmd, (sizeof(poc2p0_device_msg_res)-1));
-
-    //blue1.puts((const char *)&poc2p0_device_msg_res);
-    blue1.printf("%2x\n",poc2p0_device_msg_res.sos);
-    blue1.printf("%2x\n",poc2p0_device_msg_res.cmd);
-    blue1.printf("%2x\n",poc2p0_device_msg_res.length);
-    blue1.printf("%2x\n",poc2p0_device_msg_res.eos);
-    blue1.printf("%2x\n",poc2p0_device_msg_res.chksum);
+    
+    send_thru_terminal(device_res_buffer,DEVICE_RES_LEN,(uint8_t *)&poc2p0_device_msg_res,sizeof(poc2p0_device_msg_res));
+    
+    /*memcpy(device_res_buffer,&poc2p0_device_msg_res,sizeof(device_res_buffer));
+   
+    for (buffer_pointer = 0; buffer_pointer < sizeof(poc2p0_device_msg_res); buffer_pointer++)
+    {
+        blue1.printf("%2x",device_res_buffer[buffer_pointer]);
+    }
     blue1.printf("\n");
     
-    gc.printf("%2x\n",poc2p0_device_msg_res.sos);
-    gc.printf("%2x\n",poc2p0_device_msg_res.cmd);
-    gc.printf("%2x\n",poc2p0_device_msg_res.length);
-    gc.printf("%2x\n",poc2p0_device_msg_res.eos);
-    gc.printf("%2x\n",poc2p0_device_msg_res.chksum);
-    gc.printf("\n");
-    
-    //gc.puts((const char *)&poc2p0_device_msg_res);
+    gc.printf("DEVICE RES: \n");
+    for (uint8_t buffer_pointer=0; buffer_pointer < sizeof(poc2p0_device_msg_res); buffer_pointer++)
+    {
+        gc.printf("%2x",device_res_buffer[buffer_pointer]);
+    }
+    gc.printf("\n");*/
+       
+ 
     
 }
 
 // this command response to heartbeat message request send by bluetooth device
 void poc2p0_send_device_heartbeat_msg_res(uint8_t curr_touch_state)
 {
+    uint8_t heartbeat_res_buffer[HEARTBEAT_RES_LEN] = {0x00u};
+    
     poc2p0_device_heartbeat_response    poc2p0_device_heartbeat_res = {0x00u};
-
+       
     // RTC operations
     time_t epoch_time_glc;                              //A copy of time_t by name  epoch_time_bp is created
     struct tm * ptr_time_info_glc;                      // Sturucture copy of tm is created
@@ -798,48 +812,31 @@
 
     // calculate chksum
     poc2p0_device_heartbeat_res.chksum = checksum_struct((uint8_t *)&poc2p0_device_heartbeat_res.cmd, (sizeof(poc2p0_device_heartbeat_res)-1));
-
-    //blue1.puts((const char *)&poc2p0_device_heartbeat_res);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.sos);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.cmd);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.length);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.date_time.date);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.date_time.month);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.date_time.year);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.date_time.hour);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.date_time.mins);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.date_time.sec);
-    blue1.printf("%8x",poc2p0_device_heartbeat_res.pid);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.did);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.device_state);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.battery_status);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.eos);
-    blue1.printf("%2x",poc2p0_device_heartbeat_res.chksum);
+   
+    send_thru_terminal(heartbeat_res_buffer,HEARTBEAT_RES_LEN,(uint8_t *)&poc2p0_device_heartbeat_res,sizeof(poc2p0_device_heartbeat_res));
+    
+    /*memcpy(heartbeat_res_buffer,&poc2p0_device_heartbeat_res,sizeof(heartbeat_res_buffer));
+    
+    for (buffer_pointer = 0; buffer_pointer < sizeof(poc2p0_device_heartbeat_res); buffer_pointer++)
+    {
+        blue1.printf("%2x",heartbeat_res_buffer[buffer_pointer]);
+    }
     blue1.printf("\n");
     
-    gc.printf("%2x",poc2p0_device_heartbeat_res.sos);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.cmd);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.length);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.date_time.date);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.date_time.month);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.date_time.year);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.date_time.hour);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.date_time.mins);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.date_time.sec);
-    gc.printf("%8x",poc2p0_device_heartbeat_res.pid);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.did);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.device_state);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.battery_status);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.eos);
-    gc.printf("%2x",poc2p0_device_heartbeat_res.chksum);
-    gc.printf("\n");
-    
-    //gc.puts((const char *)&poc2p0_device_heartbeat_res);
+    gc.printf("Hearbeat RES: \n");
+    for (buffer_pointer = 0; buffer_pointer < sizeof(poc2p0_device_heartbeat_res); buffer_pointer++)
+    {
+            gc.printf("%2x",heartbeat_res_buffer[buffer_pointer]);
+    }
+    gc.printf("\n");*/
+
 }
 
 // this command send final test result response to bluetooth device
 void poc2p0_send_device_test_result_res(uint8_t response_cmd, uint32_t result)
 {
+    uint8_t test_res_buffer[TEST_RES_LEN] = {0x00u};
+    
     poc2p0_device_tst_result_response   poc2p0_device_tst_result_res = {0x00u};
 
     poc2p0_device_tst_result_res.sos = SOS_EOS;
@@ -852,23 +849,42 @@
     poc2p0_device_tst_result_res.eos = SOS_EOS;
 
     poc2p0_device_tst_result_res.chksum = checksum_struct((uint8_t *)&poc2p0_device_tst_result_res.cmd, (sizeof(poc2p0_device_tst_result_res)-1));
-
-    //blue1.puts((const char *)&poc2p0_device_tst_result_res);
-    blue1.printf("%2x\n",poc2p0_device_tst_result_res.sos);
-    blue1.printf("%2x\n",poc2p0_device_tst_result_res.cmd);
-    blue1.printf("%2x\n",poc2p0_device_tst_result_res.length);
-    blue1.printf("%8x\n",poc2p0_device_tst_result_res.test_result);
-    blue1.printf("%2x\n",poc2p0_device_tst_result_res.eos);
-    blue1.printf("%2x\n",poc2p0_device_tst_result_res.chksum);
+   
+    send_thru_terminal(test_res_buffer,TEST_RES_LEN,(uint8_t *)&poc2p0_device_tst_result_res,sizeof(poc2p0_device_tst_result_res));
+    
+    /*memcpy(test_res_buffer,&poc2p0_device_tst_result_res,sizeof(test_res_buffer));
+    
+    for (buffer_pointer = 0; buffer_pointer < sizeof(poc2p0_device_tst_result_res); buffer_pointer++)
+    {
+        blue1.printf("%2x",test_res_buffer[buffer_pointer]);
+    }
     blue1.printf("\n");
     
-    gc.printf("%2x\n",poc2p0_device_tst_result_res.sos);
-    gc.printf("%2x\n",poc2p0_device_tst_result_res.cmd);
-    gc.printf("%2x\n",poc2p0_device_tst_result_res.length);
-    gc.printf("%8x\n",poc2p0_device_tst_result_res.test_result);
-    gc.printf("%2x\n",poc2p0_device_tst_result_res.eos);
-    gc.printf("%2x\n",poc2p0_device_tst_result_res.chksum);
-    gc.printf("\n");
+    gc.printf("TEST RES: \n");
+    for (buffer_pointer = 0; buffer_pointer < sizeof(poc2p0_device_tst_result_res); buffer_pointer++)
+    {
+            gc.printf("%2x",test_res_buffer[buffer_pointer]);
+    }
+    gc.printf("\n");*/
      
-    //gc.puts((const char *)&poc2p0_device_tst_result_res);
 }
+
+static void send_thru_terminal(uint8_t input_buf[],uint8_t len_buff,uint8_t struct_data[],uint8_t len_struct)
+{
+    memcpy(input_buf,struct_data, len_buff);
+    
+    for (buffer_pointer = 0; buffer_pointer < len_struct; buffer_pointer++)
+    {
+        blue1.printf("%2x",input_buf[buffer_pointer]);
+    }
+    blue1.printf("\n");
+    
+    gc.printf("RESPONSE: \n");
+    for (buffer_pointer = 0; buffer_pointer < len_struct; buffer_pointer++)
+    {
+        gc.printf("%2x",input_buf[buffer_pointer]);
+    }
+    gc.printf("\n"); 
+    
+    
+}