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:
- 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"); + + +}