created separate function for hex to char

Dependencies:   SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217

Fork of SS_SensePOC2P0_11Dec2017_USERPID by rashmi v

Committer:
rashmivenkataramaiah
Date:
Mon Nov 13 12:02:00 2017 +0000
Revision:
59:dadb88794375
Parent:
58:b75255e6e4c3
Child:
60:3bb9e9ba3205
Able to receive the command from putty and jump to tests; Changed in calculating checksum in bt.cpp and main.cpp ; and BP_test_result in bp.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nikitateggi 19:1650bbc923cc 1 #include "mbed.h"
nikitateggi 19:1650bbc923cc 2 #include "sdcard.h"
nikitateggi 19:1650bbc923cc 3 #include "struct.h"
nikitateggi 44:05dbea558c9a 4 #include "eeprom_pgm.h"
nikitateggi 44:05dbea558c9a 5 #include "main.h"
nikitateggi 52:7d9ff7781bdc 6
nikitateggi 45:067673dae242 7 #define ACK 0x00 /// changed //16/06 #define all the values removing structure
nikitateggi 45:067673dae242 8 #define START_OF_FILE 0x01
nikitateggi 45:067673dae242 9 #define END_OF_FILE 0x02
nikitateggi 45:067673dae242 10 #define DATA_TRFR 0x03
nikitateggi 45:067673dae242 11 #define NACK 0xFF
nikitateggi 45:067673dae242 12 #define SOS 0xc0
nikitateggi 45:067673dae242 13 #define EOS 0xc0
nikitateggi 45:067673dae242 14 #define NO_OF_SAMPLES 600 //changed the buffer size from 150- 22/7/17- suhasini
nikitateggi 45:067673dae242 15 #define CHKSUM 0x80
nikitateggi 45:067673dae242 16 #define STRUCTURE_LENGTH 26
rashmivenkataramaiah 57:e82d4bd6b2c0 17 #define POC2P0_BT_RX_MSG_LEN 0x05U
rashmivenkataramaiah 57:e82d4bd6b2c0 18
rashmivenkataramaiah 57:e82d4bd6b2c0 19 typedef struct __attribute__((__packed__))
rashmivenkataramaiah 57:e82d4bd6b2c0 20 {
rashmivenkataramaiah 57:e82d4bd6b2c0 21 uint8_t sos;
rashmivenkataramaiah 57:e82d4bd6b2c0 22 uint8_t cmd;
rashmivenkataramaiah 57:e82d4bd6b2c0 23 uint8_t length;
rashmivenkataramaiah 57:e82d4bd6b2c0 24 uint8_t eos;
rashmivenkataramaiah 57:e82d4bd6b2c0 25 uint8_t chksum;
rashmivenkataramaiah 57:e82d4bd6b2c0 26
rashmivenkataramaiah 57:e82d4bd6b2c0 27 }poc2p0_bluetooth_msg_request;
rashmivenkataramaiah 57:e82d4bd6b2c0 28
rashmivenkataramaiah 59:dadb88794375 29 poc2p0_bluetooth_msg_request poc2p0_bt_msg_req = {0};
rashmivenkataramaiah 59:dadb88794375 30 static void poc2p0_ascii_to_hex(const uint8_t input_buffer[], uint8_t len);
rashmivenkataramaiah 59:dadb88794375 31
nikitateggi 22:ffa88619551d 32 BLEMsg_info *bt_file;
nikitateggi 22:ffa88619551d 33 Point *myBleMsg;
nikitateggi 52:7d9ff7781bdc 34
nikitateggi 27:907f8ce0025e 35 Serial mc(USBTX,USBRX); // serial terminal
nikitateggi 27:907f8ce0025e 36 Serial blue(PTC4,PTC3); // communicating bluetooth through serial
nikitateggi 27:907f8ce0025e 37
rashmivenkataramaiah 59:dadb88794375 38 static uint32_t total_samples=0; // variable to hold total number of samples
rashmivenkataramaiah 59:dadb88794375 39 Point b; // structure copy
rashmivenkataramaiah 59:dadb88794375 40 BLEMsg_info bt_file1; // structure copy
rashmivenkataramaiah 59:dadb88794375 41 static uint32_t total_file_size=0; // to determine the size of the file
nikitateggi 44:05dbea558c9a 42 static uint32_t total_file_size_sent=0;
nikitateggi 28:65f2d80b7eb7 43 static uint32_t file_start=0; // variable for 'for loop'
nikitateggi 44:05dbea558c9a 44 //static uint32_t j=0;
nikitateggi 27:907f8ce0025e 45 uint8_t count_send=0;
nikitateggi 28:65f2d80b7eb7 46 static uint32_t file_pointer_position=0;
nikitateggi 28:65f2d80b7eb7 47 static uint32_t counter=0;
nikitateggi 44:05dbea558c9a 48 static uint32_t v1[NO_OF_SAMPLES];
nikitateggi 27:907f8ce0025e 49 uint8_t file=0;
nikitateggi 54:f2a413d5dffd 50 static uint32_t bt_pid = 0;
rashmivenkataramaiah 59:dadb88794375 51
nikitateggi 52:7d9ff7781bdc 52
nikitateggi 19:1650bbc923cc 53 uint8_t bt_send(uint8_t state_tx)
nikitateggi 19:1650bbc923cc 54 {
rashmivenkataramaiah 59:dadb88794375 55 mc.format();
rashmivenkataramaiah 59:dadb88794375 56 mc.baud(115200);
nikitateggi 44:05dbea558c9a 57 blue.baud(115200); // baud rate of bluetooth
nikitateggi 44:05dbea558c9a 58 bt_file=&bt_file1;
nikitateggi 44:05dbea558c9a 59 myBleMsg=&b;
nikitateggi 44:05dbea558c9a 60 int8_t check_sum=0;
nikitateggi 44:05dbea558c9a 61 uint8_t state_rx =0;
nikitateggi 27:907f8ce0025e 62
nikitateggi 45:067673dae242 63 switch(state_tx)
nikitateggi 19:1650bbc923cc 64 {
nikitateggi 19:1650bbc923cc 65
nikitateggi 27:907f8ce0025e 66 case 1:
nikitateggi 44:05dbea558c9a 67 state_tx =0;
nikitateggi 27:907f8ce0025e 68 counter=0;
nikitateggi 44:05dbea558c9a 69 total_file_size_sent=0;
nikitateggi 45:067673dae242 70 file_start=0;
nikitateggi 45:067673dae242 71 count_send=0; total_samples=0;
nikitateggi 27:907f8ce0025e 72 file_pointer_position=0;
nikitateggi 54:f2a413d5dffd 73 bt_pid = get_btpid()+1; //added on 22/09/2017 nikita
rashmivenkataramaiah 59:dadb88794375 74 //mc.printf("bt_pid = %d\n",get_btpid());
nikitateggi 56:89eb9a977641 75 if(get_filepid()>=bt_pid) //check for pid and bluetooth pid by reading from file// modified to send till the current pid, 3rd nov//
nikitateggi 44:05dbea558c9a 76 {
nikitateggi 44:05dbea558c9a 77 send_initial_string();
nikitateggi 44:05dbea558c9a 78 blue.printf("\n");
nikitateggi 54:f2a413d5dffd 79 file=sd_open_read(bt_pid); // open the file for reading
nikitateggi 48:f90edb35a20e 80 total_file_size=file_size(); // determined the file size
nikitateggi 47:3716dd41dba6 81 state_rx = 1;
nikitateggi 44:05dbea558c9a 82 }
nikitateggi 44:05dbea558c9a 83
nikitateggi 44:05dbea558c9a 84 else
nikitateggi 44:05dbea558c9a 85 {
nikitateggi 45:067673dae242 86 state_rx =0; //no files to send
rashmivenkataramaiah 59:dadb88794375 87 //mc.printf("no file to send\n");
nikitateggi 44:05dbea558c9a 88 }
nikitateggi 44:05dbea558c9a 89 break;
nikitateggi 44:05dbea558c9a 90
nikitateggi 19:1650bbc923cc 91
nikitateggi 44:05dbea558c9a 92 case 2: total_samples=0;
nikitateggi 47:3716dd41dba6 93 //file=sd_open_read(get_btpid());
nikitateggi 48:f90edb35a20e 94 // total_file_size=file_size() ; // determined the file size
nikitateggi 45:067673dae242 95 sd_read1(bt_file1); // read the sd card file
rashmivenkataramaiah 59:dadb88794375 96 //mc.printf("sd file opened to read data in it\n");
nikitateggi 45:067673dae242 97 myBleMsg->bt_msg=bt_file1; //copy the contents to the structure
nikitateggi 45:067673dae242 98 send_structure(); // send the structure string
avp2417 36:00d96aa14658 99 blue.printf("\n");
rashmivenkataramaiah 59:dadb88794375 100 //mc.printf("sent initial string\n");
nikitateggi 27:907f8ce0025e 101 total_samples= myBleMsg->bt_msg.num_samples.num_sample_ppg_dummy+myBleMsg->bt_msg.num_samples.num_sample_ecg_OTtyp;
nikitateggi 19:1650bbc923cc 102 state_tx =0;
nikitateggi 19:1650bbc923cc 103 state_rx =2;
nikitateggi 27:907f8ce0025e 104 count_send=0;
nikitateggi 44:05dbea558c9a 105 total_file_size_sent=file_size1();
nikitateggi 19:1650bbc923cc 106 break;
nikitateggi 19:1650bbc923cc 107
nikitateggi 19:1650bbc923cc 108
nikitateggi 44:05dbea558c9a 109 case 3:
nikitateggi 44:05dbea558c9a 110 counter=0;
nikitateggi 44:05dbea558c9a 111 if(count_send<(total_samples/NO_OF_SAMPLES))
nikitateggi 44:05dbea558c9a 112 {
nikitateggi 44:05dbea558c9a 113 sd_read(v1,NO_OF_SAMPLES);
nikitateggi 44:05dbea558c9a 114 counter=NO_OF_SAMPLES; //read 1500 samples
nikitateggi 44:05dbea558c9a 115 send_data_str1();
nikitateggi 44:05dbea558c9a 116 for(file_start=0;file_start<(NO_OF_SAMPLES);file_start++)
nikitateggi 44:05dbea558c9a 117 {
nikitateggi 19:1650bbc923cc 118
nikitateggi 44:05dbea558c9a 119 blue.printf("%08x", v1[file_start]);
nikitateggi 27:907f8ce0025e 120
nikitateggi 44:05dbea558c9a 121 }
avp2417 36:00d96aa14658 122
nikitateggi 44:05dbea558c9a 123 check_sum=checksum_rawdata((uint8_t *)v1,counter); // calculating checksum // calculating checksum
nikitateggi 44:05dbea558c9a 124 state_tx =0;
nikitateggi 44:05dbea558c9a 125 state_rx =3;
nikitateggi 44:05dbea558c9a 126 send_data_str2(check_sum); // send the remaining part of the string
nikitateggi 19:1650bbc923cc 127
nikitateggi 44:05dbea558c9a 128 }
nikitateggi 19:1650bbc923cc 129
nikitateggi 44:05dbea558c9a 130 else
nikitateggi 44:05dbea558c9a 131 {
nikitateggi 44:05dbea558c9a 132 for(uint16_t l=0;l<NO_OF_SAMPLES;l++)
nikitateggi 44:05dbea558c9a 133 {
nikitateggi 44:05dbea558c9a 134 v1[l]=NULL;
nikitateggi 44:05dbea558c9a 135 }
nikitateggi 44:05dbea558c9a 136 counter=(total_samples-( NO_OF_SAMPLES*count_send));
nikitateggi 27:907f8ce0025e 137 send_data_str1();
nikitateggi 44:05dbea558c9a 138 sd_read(v1,(total_samples-( NO_OF_SAMPLES*count_send)));
nikitateggi 44:05dbea558c9a 139
nikitateggi 44:05dbea558c9a 140 for(file_start=0;file_start<(total_samples-( NO_OF_SAMPLES*count_send));file_start++)
nikitateggi 19:1650bbc923cc 141 {
nikitateggi 24:d992ee8369f4 142 blue.printf("%08x", v1[file_start]);
nikitateggi 27:907f8ce0025e 143
nikitateggi 19:1650bbc923cc 144 }
nikitateggi 27:907f8ce0025e 145
nikitateggi 19:1650bbc923cc 146 state_tx=0;
nikitateggi 19:1650bbc923cc 147 state_rx=4;
nikitateggi 44:05dbea558c9a 148 check_sum=checksum_rawdata((uint8_t *)v1,counter); // calculating checksum
nikitateggi 22:ffa88619551d 149 send_data_str2(check_sum);
nikitateggi 19:1650bbc923cc 150 }
nikitateggi 19:1650bbc923cc 151
nikitateggi 45:067673dae242 152 total_file_size_sent=file_size1();
nikitateggi 27:907f8ce0025e 153 blue.printf("\n");
nikitateggi 27:907f8ce0025e 154 break;
nikitateggi 19:1650bbc923cc 155
nikitateggi 19:1650bbc923cc 156
nikitateggi 48:f90edb35a20e 157 case 4: // total_file_size_sent=file_size1();
nikitateggi 44:05dbea558c9a 158 if(total_file_size_sent==total_file_size) // if the total file size is same as total file size
nikitateggi 27:907f8ce0025e 159 { // then there is no more data to send in that particular file
nikitateggi 19:1650bbc923cc 160
nikitateggi 44:05dbea558c9a 161 state_rx=5;
nikitateggi 44:05dbea558c9a 162 send_last_string();
nikitateggi 24:d992ee8369f4 163 blue.printf("\n");
nikitateggi 44:05dbea558c9a 164
nikitateggi 19:1650bbc923cc 165 }
nikitateggi 19:1650bbc923cc 166 else
nikitateggi 19:1650bbc923cc 167 {
nikitateggi 44:05dbea558c9a 168
nikitateggi 44:05dbea558c9a 169 total_samples=0;
nikitateggi 44:05dbea558c9a 170 sd_read1(bt_file1); // read the sd card file
nikitateggi 46:162ed3f051b2 171 // mc.printf("sd file opened to read data in it\n");
nikitateggi 44:05dbea558c9a 172 myBleMsg->bt_msg=bt_file1; //copy the contents to the structure
nikitateggi 44:05dbea558c9a 173 send_structure(); // send the initial string
nikitateggi 44:05dbea558c9a 174 blue.printf("\n");
nikitateggi 46:162ed3f051b2 175 // mc.printf("sent initial string\n");
nikitateggi 44:05dbea558c9a 176 total_samples= myBleMsg->bt_msg.num_samples.num_sample_ppg_dummy+myBleMsg->bt_msg.num_samples.num_sample_ecg_OTtyp;
nikitateggi 44:05dbea558c9a 177 state_tx =0;
nikitateggi 44:05dbea558c9a 178 state_rx =2;
nikitateggi 44:05dbea558c9a 179 count_send=0;
nikitateggi 44:05dbea558c9a 180 total_file_size_sent=file_size1();
nikitateggi 44:05dbea558c9a 181
nikitateggi 19:1650bbc923cc 182 }
nikitateggi 19:1650bbc923cc 183
nikitateggi 19:1650bbc923cc 184
nikitateggi 52:7d9ff7781bdc 185
nikitateggi 52:7d9ff7781bdc 186
nikitateggi 19:1650bbc923cc 187 }
nikitateggi 52:7d9ff7781bdc 188
nikitateggi 19:1650bbc923cc 189 return state_rx;
nikitateggi 19:1650bbc923cc 190
nikitateggi 19:1650bbc923cc 191 }
nikitateggi 19:1650bbc923cc 192
nikitateggi 19:1650bbc923cc 193
nikitateggi 19:1650bbc923cc 194
nikitateggi 19:1650bbc923cc 195
nikitateggi 19:1650bbc923cc 196 uint8_t bt_receive (uint8_t state_rx)
nikitateggi 19:1650bbc923cc 197 {
nikitateggi 19:1650bbc923cc 198
nikitateggi 52:7d9ff7781bdc 199 unsigned char state_tx =1; //state for transmitting
nikitateggi 52:7d9ff7781bdc 200 uint8_t string_length_rx=0;
nikitateggi 52:7d9ff7781bdc 201 char ack_rx[2]; // varibale to receive ack from the bluetooth
nikitateggi 52:7d9ff7781bdc 202 char chksum_rx[3];
nikitateggi 52:7d9ff7781bdc 203 char btdata_received[17];
nikitateggi 52:7d9ff7781bdc 204
nikitateggi 44:05dbea558c9a 205
nikitateggi 52:7d9ff7781bdc 206 while (blue.readable()!= NULL) // reading string from bluetooth app
nikitateggi 52:7d9ff7781bdc 207 {
nikitateggi 52:7d9ff7781bdc 208 blue.scanf("%17s", btdata_received);
rashmivenkataramaiah 59:dadb88794375 209 //mc.printf("%s\r\n", btdata_received);
nikitateggi 52:7d9ff7781bdc 210
nikitateggi 52:7d9ff7781bdc 211 }
nikitateggi 52:7d9ff7781bdc 212
nikitateggi 52:7d9ff7781bdc 213 string_length_rx = strlen(btdata_received); // storing the length of the string received
nikitateggi 52:7d9ff7781bdc 214 memcpy(ack_rx, btdata_received+1, 2); // reading the ack received
nikitateggi 52:7d9ff7781bdc 215 memcpy(chksum_rx, btdata_received+(string_length_rx-2), 3); // reading the checksum received
rashmivenkataramaiah 59:dadb88794375 216 //mc.printf("%s\r\n",ack_rx);
rashmivenkataramaiah 59:dadb88794375 217 //mc.printf("%s\r\n",chksum_rx);
nikitateggi 44:05dbea558c9a 218
nikitateggi 19:1650bbc923cc 219 switch(state_rx)
nikitateggi 19:1650bbc923cc 220 {
nikitateggi 19:1650bbc923cc 221
nikitateggi 52:7d9ff7781bdc 222 case 1: // wait for the ack
nikitateggi 22:ffa88619551d 223 state_rx=0;
nikitateggi 19:1650bbc923cc 224 myBleMsg->proto=ACK;
nikitateggi 52:7d9ff7781bdc 225 if ((strcmp(ack_rx ,"00") == NULL ) && (strcmp(chksum_rx ,"80" ) == NULL)) // check for ack and checksum
nikitateggi 44:05dbea558c9a 226
nikitateggi 19:1650bbc923cc 227 {
nikitateggi 19:1650bbc923cc 228
nikitateggi 19:1650bbc923cc 229 state_tx=2;
nikitateggi 19:1650bbc923cc 230 }
nikitateggi 19:1650bbc923cc 231
nikitateggi 22:ffa88619551d 232 else
nikitateggi 19:1650bbc923cc 233
nikitateggi 19:1650bbc923cc 234 {
nikitateggi 19:1650bbc923cc 235
nikitateggi 19:1650bbc923cc 236 state_tx=1;
nikitateggi 48:f90edb35a20e 237 sd_close();
nikitateggi 19:1650bbc923cc 238 }
nikitateggi 19:1650bbc923cc 239 break;
nikitateggi 19:1650bbc923cc 240
nikitateggi 19:1650bbc923cc 241 case 2: state_rx =0; //wait for the ack
nikitateggi 44:05dbea558c9a 242
nikitateggi 52:7d9ff7781bdc 243 if ((strcmp(ack_rx ,"00") == NULL ) && (strcmp(chksum_rx ,"80" ) == NULL))
nikitateggi 19:1650bbc923cc 244 {
nikitateggi 19:1650bbc923cc 245
nikitateggi 19:1650bbc923cc 246 state_tx=3;
nikitateggi 44:05dbea558c9a 247 file_pointer_position=total_file_size_sent;
nikitateggi 19:1650bbc923cc 248 }
nikitateggi 19:1650bbc923cc 249
nikitateggi 19:1650bbc923cc 250 else
nikitateggi 19:1650bbc923cc 251
nikitateggi 19:1650bbc923cc 252 {
nikitateggi 19:1650bbc923cc 253
nikitateggi 19:1650bbc923cc 254 state_tx=2;
nikitateggi 22:ffa88619551d 255 setpos1(file_pointer_position);
nikitateggi 47:3716dd41dba6 256 //sd_close(); //file closed which was opened earlier because it opens again in bt_send case 1
nikitateggi 27:907f8ce0025e 257
nikitateggi 19:1650bbc923cc 258 }
nikitateggi 27:907f8ce0025e 259 //blue.scanf("%02x%02x%08x%02x",&sos_rx,&ack_rx,&eos_rx,&chksum_rx);
nikitateggi 19:1650bbc923cc 260 break;
nikitateggi 52:7d9ff7781bdc 261
nikitateggi 19:1650bbc923cc 262
nikitateggi 19:1650bbc923cc 263 case 3:
nikitateggi 19:1650bbc923cc 264 state_rx =0;
nikitateggi 52:7d9ff7781bdc 265 if ((strcmp(ack_rx ,"00") == NULL ) && (strcmp(chksum_rx ,"80" ) == NULL))
nikitateggi 19:1650bbc923cc 266 {
nikitateggi 19:1650bbc923cc 267
nikitateggi 45:067673dae242 268 state_tx=3;
nikitateggi 27:907f8ce0025e 269 count_send=count_send+1;
nikitateggi 45:067673dae242 270 file_pointer_position=total_file_size_sent;
nikitateggi 19:1650bbc923cc 271 }
nikitateggi 19:1650bbc923cc 272
nikitateggi 19:1650bbc923cc 273 else
nikitateggi 19:1650bbc923cc 274
nikitateggi 19:1650bbc923cc 275 {
nikitateggi 27:907f8ce0025e 276
nikitateggi 19:1650bbc923cc 277 state_tx=3;
nikitateggi 44:05dbea558c9a 278 file_start=file_start- NO_OF_SAMPLES;
nikitateggi 44:05dbea558c9a 279 setpos1(file_pointer_position);
nikitateggi 44:05dbea558c9a 280 }
nikitateggi 44:05dbea558c9a 281
nikitateggi 44:05dbea558c9a 282 break;
nikitateggi 44:05dbea558c9a 283
nikitateggi 44:05dbea558c9a 284 case 4:
nikitateggi 44:05dbea558c9a 285 state_rx =0;
nikitateggi 52:7d9ff7781bdc 286 if ((strcmp(ack_rx ,"00") == NULL ) && (strcmp(chksum_rx ,"80" ) == NULL))
nikitateggi 44:05dbea558c9a 287 {
nikitateggi 45:067673dae242 288 state_tx=4;
nikitateggi 44:05dbea558c9a 289 count_send=count_send+1;
nikitateggi 45:067673dae242 290 file_pointer_position=total_file_size_sent;
nikitateggi 44:05dbea558c9a 291 }
nikitateggi 44:05dbea558c9a 292
nikitateggi 44:05dbea558c9a 293 else
nikitateggi 44:05dbea558c9a 294
nikitateggi 44:05dbea558c9a 295 {
nikitateggi 44:05dbea558c9a 296
nikitateggi 44:05dbea558c9a 297 state_tx=3;
nikitateggi 44:05dbea558c9a 298 file_start=file_start- NO_OF_SAMPLES;
nikitateggi 19:1650bbc923cc 299 setpos1(file_pointer_position);
nikitateggi 19:1650bbc923cc 300 }
nikitateggi 19:1650bbc923cc 301 break;
nikitateggi 19:1650bbc923cc 302
nikitateggi 52:7d9ff7781bdc 303
nikitateggi 44:05dbea558c9a 304 case 5: state_rx = 0;
nikitateggi 52:7d9ff7781bdc 305 if ((strcmp(ack_rx ,"00") == NULL ) && (strcmp(chksum_rx ,"80" ) == NULL))
nikitateggi 44:05dbea558c9a 306 {
nikitateggi 44:05dbea558c9a 307 sd_close();
nikitateggi 45:067673dae242 308 increment_btpid(); // increment the bluetooth pid and write in the file
rashmivenkataramaiah 59:dadb88794375 309 //mc.printf("next file");
rashmivenkataramaiah 59:dadb88794375 310 //mc.printf("bt_pid = %d\n",get_btpid());
nikitateggi 44:05dbea558c9a 311 state_tx=1;
nikitateggi 44:05dbea558c9a 312
nikitateggi 44:05dbea558c9a 313 }
nikitateggi 27:907f8ce0025e 314
nikitateggi 44:05dbea558c9a 315 else
nikitateggi 44:05dbea558c9a 316 {
nikitateggi 44:05dbea558c9a 317 state_tx = 4;
nikitateggi 27:907f8ce0025e 318
nikitateggi 44:05dbea558c9a 319 }
nikitateggi 44:05dbea558c9a 320 break;
nikitateggi 52:7d9ff7781bdc 321
nikitateggi 19:1650bbc923cc 322 }
nikitateggi 52:7d9ff7781bdc 323
nikitateggi 19:1650bbc923cc 324 return state_tx;
nikitateggi 19:1650bbc923cc 325 }
nikitateggi 19:1650bbc923cc 326
nikitateggi 19:1650bbc923cc 327
nikitateggi 19:1650bbc923cc 328
nikitateggi 19:1650bbc923cc 329
nikitateggi 19:1650bbc923cc 330
nikitateggi 19:1650bbc923cc 331
nikitateggi 19:1650bbc923cc 332
nikitateggi 44:05dbea558c9a 333 void send_structure() // function to send the structure to bluetooth
nikitateggi 19:1650bbc923cc 334 {
nikitateggi 45:067673dae242 335 myBleMsg->start_of_string=SOS;
nikitateggi 45:067673dae242 336 myBleMsg->length_file = STRUCTURE_LENGTH;
nikitateggi 45:067673dae242 337 myBleMsg->proto=DATA_TRFR; // data transfer mode
nikitateggi 45:067673dae242 338 blue.printf("%02x",myBleMsg->start_of_string);
nikitateggi 45:067673dae242 339 blue.printf("%02x",myBleMsg->proto);
nikitateggi 45:067673dae242 340 blue.printf("%08x",myBleMsg->length_file); //changed the sequence
nikitateggi 45:067673dae242 341 blue.printf("%08x",myBleMsg->bt_msg.length);
nikitateggi 45:067673dae242 342 blue.printf("%02x",myBleMsg->bt_msg.device_id);
nikitateggi 45:067673dae242 343 blue.printf("%08x",myBleMsg->bt_msg.patient_id);
nikitateggi 45:067673dae242 344 blue.printf("%02x",myBleMsg->bt_msg.date_time.date);
nikitateggi 45:067673dae242 345 blue.printf("%02x",myBleMsg->bt_msg.date_time.month);
nikitateggi 45:067673dae242 346 blue.printf("%02x",myBleMsg->bt_msg.date_time.year);
nikitateggi 45:067673dae242 347 blue.printf("%02x",myBleMsg->bt_msg.date_time.hour);
nikitateggi 45:067673dae242 348 blue.printf("%02x",myBleMsg->bt_msg.date_time.mins);
nikitateggi 45:067673dae242 349 blue.printf("%02x",myBleMsg->bt_msg.date_time.sec);
nikitateggi 45:067673dae242 350 blue.printf("%02x",myBleMsg->bt_msg.test_type);
nikitateggi 45:067673dae242 351 blue.printf("%04x",myBleMsg->bt_msg.sampling_freq);
nikitateggi 45:067673dae242 352 blue.printf("%04x",myBleMsg->bt_msg.num_samples. num_sample_ppg_dummy);
nikitateggi 45:067673dae242 353 blue.printf("%04x",myBleMsg->bt_msg.num_samples.num_sample_ecg_OTtyp);
nikitateggi 45:067673dae242 354 blue.printf("%04x",myBleMsg->bt_msg.cal_data.cal_sbp_dummy);
nikitateggi 45:067673dae242 355 blue.printf("%04x",myBleMsg->bt_msg.cal_data.cal_dbp_OTtyp);
nikitateggi 45:067673dae242 356 myBleMsg->end_of_string=EOS;
nikitateggi 45:067673dae242 357 myBleMsg->chk_sum = checksum_struct((uint8_t *)myBleMsg, sizeof(Point));
nikitateggi 45:067673dae242 358 blue.printf("%02x",myBleMsg->end_of_string);
nikitateggi 45:067673dae242 359 blue.printf("%02x",myBleMsg->chk_sum);
nikitateggi 44:05dbea558c9a 360
nikitateggi 19:1650bbc923cc 361
nikitateggi 19:1650bbc923cc 362 }
nikitateggi 19:1650bbc923cc 363
nikitateggi 44:05dbea558c9a 364 void send_initial_string() // function to send the initial string at the start f communication to bluetooth
nikitateggi 22:ffa88619551d 365 {
nikitateggi 52:7d9ff7781bdc 366
nikitateggi 45:067673dae242 367 uint8_t sum_init=0 ;
nikitateggi 45:067673dae242 368 myBleMsg->start_of_string=SOS;
nikitateggi 45:067673dae242 369 myBleMsg->length_file=0;
nikitateggi 45:067673dae242 370 myBleMsg->proto=START_OF_FILE;
nikitateggi 45:067673dae242 371 sum_init=checksum_init();
nikitateggi 45:067673dae242 372 myBleMsg->chk_sum=sum_init;
nikitateggi 45:067673dae242 373 blue.printf("%02x",myBleMsg->start_of_string);
nikitateggi 45:067673dae242 374 blue.printf("%02x",myBleMsg->proto);
nikitateggi 45:067673dae242 375 blue.printf("%08x",myBleMsg->length_file); // chnged
nikitateggi 45:067673dae242 376 myBleMsg->end_of_string=EOS;
nikitateggi 45:067673dae242 377 blue.printf("%02x",myBleMsg->end_of_string);
nikitateggi 45:067673dae242 378 blue.printf("%02x",myBleMsg->chk_sum);
nikitateggi 19:1650bbc923cc 379
nikitateggi 19:1650bbc923cc 380 }
nikitateggi 22:ffa88619551d 381
nikitateggi 22:ffa88619551d 382
nikitateggi 27:907f8ce0025e 383 uint8_t checksum_init() // function to calculate the checksum for the initial string
nikitateggi 22:ffa88619551d 384 {
nikitateggi 22:ffa88619551d 385
nikitateggi 45:067673dae242 386 uint32_t sum = 0;
nikitateggi 45:067673dae242 387 uint8_t chksum_init = 0;
nikitateggi 44:05dbea558c9a 388 sum=SOS+EOS+START_OF_FILE;
nikitateggi 45:067673dae242 389 chksum_init = sum & 0x000000FF;
nikitateggi 22:ffa88619551d 390 return chksum_init;
nikitateggi 22:ffa88619551d 391 }
nikitateggi 52:7d9ff7781bdc 392
nikitateggi 27:907f8ce0025e 393 uint8_t checksum_last() // function to calculate the checksum for the last string
nikitateggi 22:ffa88619551d 394 {
nikitateggi 22:ffa88619551d 395
nikitateggi 45:067673dae242 396 uint32_t sum = 0;
nikitateggi 45:067673dae242 397 uint8_t chksum_last = 0;
nikitateggi 44:05dbea558c9a 398 sum=SOS+EOS+END_OF_FILE; // changed //16/06 #define all the values removing structure
nikitateggi 22:ffa88619551d 399 chksum_last=sum & 0x000000FF;
nikitateggi 22:ffa88619551d 400 return chksum_last;
nikitateggi 22:ffa88619551d 401 }
nikitateggi 22:ffa88619551d 402
nikitateggi 45:067673dae242 403 void send_last_string() // function to send the last string to the bluetooth // which determines the end of file
nikitateggi 22:ffa88619551d 404 {
nikitateggi 45:067673dae242 405 uint8_t sum_last=0;
nikitateggi 45:067673dae242 406 myBleMsg->start_of_string = SOS;
nikitateggi 45:067673dae242 407 myBleMsg->length_file = 0;
nikitateggi 45:067673dae242 408 myBleMsg->proto=END_OF_FILE;
nikitateggi 45:067673dae242 409 sum_last=checksum_last();
nikitateggi 45:067673dae242 410 myBleMsg->chk_sum=sum_last;
nikitateggi 45:067673dae242 411 blue.printf("%02x",myBleMsg->start_of_string);
nikitateggi 45:067673dae242 412 blue.printf("%02x",myBleMsg->proto);
nikitateggi 45:067673dae242 413 blue.printf("%08x",myBleMsg->length_file); // chnged
nikitateggi 45:067673dae242 414 myBleMsg->end_of_string=EOS;
nikitateggi 45:067673dae242 415 blue.printf("%02x",myBleMsg->end_of_string);
nikitateggi 45:067673dae242 416 blue.printf("%02x",myBleMsg->chk_sum);
nikitateggi 45:067673dae242 417
nikitateggi 45:067673dae242 418 }
nikitateggi 22:ffa88619551d 419
nikitateggi 45:067673dae242 420 void send_data_str1() // function to send a part of the structure // after this raw data is sent//
nikitateggi 45:067673dae242 421 {
nikitateggi 45:067673dae242 422 myBleMsg->start_of_string=SOS;
nikitateggi 45:067673dae242 423 myBleMsg->length_file=(counter*4);
nikitateggi 45:067673dae242 424 myBleMsg->proto=DATA_TRFR;
nikitateggi 45:067673dae242 425 blue.printf("%02x",myBleMsg->start_of_string);
nikitateggi 45:067673dae242 426 blue.printf("%02x",myBleMsg->proto); // chnaged
nikitateggi 45:067673dae242 427 blue.printf("%08x",myBleMsg->length_file);
nikitateggi 52:7d9ff7781bdc 428
nikitateggi 45:067673dae242 429 }
nikitateggi 19:1650bbc923cc 430
nikitateggi 19:1650bbc923cc 431
nikitateggi 19:1650bbc923cc 432
nikitateggi 45:067673dae242 433 void send_data_str2(uint8_t check_sum) // after raw data// this last part of structure is sent
nikitateggi 45:067673dae242 434 {
nikitateggi 45:067673dae242 435 myBleMsg->chk_sum=check_sum;
nikitateggi 45:067673dae242 436 myBleMsg->end_of_string=EOS;
nikitateggi 45:067673dae242 437 blue.printf("%02x",myBleMsg->end_of_string);
nikitateggi 45:067673dae242 438 blue.printf("%02x",myBleMsg->chk_sum);
nikitateggi 45:067673dae242 439
nikitateggi 45:067673dae242 440 }
nikitateggi 19:1650bbc923cc 441
nikitateggi 52:7d9ff7781bdc 442
nikitateggi 31:0f67acfc6236 443 uint8_t checksum_struct(const uint8_t data[], uint16_t numBytes) // calculating checksum for
nikitateggi 31:0f67acfc6236 444 {
nikitateggi 31:0f67acfc6236 445 uint32_t chksum_struct = 0;
nikitateggi 31:0f67acfc6236 446 uint16_t index = 0;
nikitateggi 31:0f67acfc6236 447
nikitateggi 31:0f67acfc6236 448 for (index=0U; index < (numBytes-1); index++)
nikitateggi 31:0f67acfc6236 449 {
nikitateggi 31:0f67acfc6236 450 chksum_struct += data[index];
nikitateggi 31:0f67acfc6236 451 //blue.printf("data=%02x\n",data[index]);
nikitateggi 31:0f67acfc6236 452
nikitateggi 31:0f67acfc6236 453 }
nikitateggi 31:0f67acfc6236 454 // blue.printf("%08x\n",chksum_struct);
nikitateggi 31:0f67acfc6236 455 return chksum_struct;
nikitateggi 22:ffa88619551d 456 }
nikitateggi 52:7d9ff7781bdc 457
nikitateggi 52:7d9ff7781bdc 458
nikitateggi 44:05dbea558c9a 459 uint8_t checksum_rawdata(const uint8_t data[], uint32_t numBytes) // this function to calculate the checksum for the raw data
nikitateggi 31:0f67acfc6236 460 {
nikitateggi 52:7d9ff7781bdc 461
nikitateggi 45:067673dae242 462 uint32_t sum=0;
nikitateggi 45:067673dae242 463 uint8_t chksum_datatrfr=0;
nikitateggi 45:067673dae242 464 uint32_t index = 0;
nikitateggi 45:067673dae242 465 uint32_t index1 = 0;
nikitateggi 44:05dbea558c9a 466 sum += SOS;
nikitateggi 44:05dbea558c9a 467 sum += DATA_TRFR;
nikitateggi 45:067673dae242 468 index1=(numBytes*4);
nikitateggi 45:067673dae242 469 sum +=(index1>>(8*0))&0xFF;
nikitateggi 31:0f67acfc6236 470 sum +=(index1>>(8*1))&0xFF;
nikitateggi 52:7d9ff7781bdc 471
nikitateggi 45:067673dae242 472 for (index=0U; index<(numBytes*4); index++)
nikitateggi 45:067673dae242 473 {
nikitateggi 31:0f67acfc6236 474 sum += data[index];
nikitateggi 45:067673dae242 475 }
nikitateggi 52:7d9ff7781bdc 476
nikitateggi 45:067673dae242 477 sum+=EOS;
nikitateggi 52:7d9ff7781bdc 478
nikitateggi 45:067673dae242 479 chksum_datatrfr = sum & 0x000000FF;
nikitateggi 44:05dbea558c9a 480 //mc.printf("chksum_datatrfr=%02x\n",chksum_datatrfr);
nikitateggi 45:067673dae242 481 return chksum_datatrfr;
nikitateggi 44:05dbea558c9a 482 }
nikitateggi 52:7d9ff7781bdc 483
rashmivenkataramaiah 57:e82d4bd6b2c0 484
rashmivenkataramaiah 59:dadb88794375 485 // this function checks bluetooth command and if any byte received it process
rashmivenkataramaiah 59:dadb88794375 486 // that command and assigned and return touch state
rashmivenkataramaiah 57:e82d4bd6b2c0 487 uint8_t poc2p0_bt_receive (uint8_t curr_touch_state)
rashmivenkataramaiah 57:e82d4bd6b2c0 488 {
rashmivenkataramaiah 59:dadb88794375 489
rashmivenkataramaiah 59:dadb88794375 490 uint8_t bt_rx_buffer[10] = {0};
rashmivenkataramaiah 57:e82d4bd6b2c0 491 uint8_t cal_chksum = 0xFFu;
rashmivenkataramaiah 57:e82d4bd6b2c0 492 uint8_t touch_state = 0x00u;
rashmivenkataramaiah 59:dadb88794375 493 //uint8_t i = 0;
rashmivenkataramaiah 59:dadb88794375 494
rashmivenkataramaiah 59:dadb88794375 495 if (mc.readable()!= NULL) // reading string from bluetooth
rashmivenkataramaiah 59:dadb88794375 496 //if (blue.readable()!= NULL) // reading string from bluetooth
rashmivenkataramaiah 57:e82d4bd6b2c0 497 {
rashmivenkataramaiah 59:dadb88794375 498 wait_ms(50);
rashmivenkataramaiah 59:dadb88794375 499 //blue.scanf("%11s",bt_rx_buffer);
rashmivenkataramaiah 59:dadb88794375 500 mc.scanf("%10s",bt_rx_buffer);
rashmivenkataramaiah 59:dadb88794375 501
rashmivenkataramaiah 59:dadb88794375 502 mc.printf("\n\r Command =");
rashmivenkataramaiah 59:dadb88794375 503 mc.printf("%s\r\n", bt_rx_buffer);
rashmivenkataramaiah 59:dadb88794375 504 /*
rashmivenkataramaiah 59:dadb88794375 505 for (i=0; i<2; i++)
rashmivenkataramaiah 59:dadb88794375 506 {
rashmivenkataramaiah 59:dadb88794375 507 mc.printf("\n\r EOS = %2x", bt_rx_buffer[i]);
rashmivenkataramaiah 59:dadb88794375 508 }
rashmivenkataramaiah 59:dadb88794375 509 */
rashmivenkataramaiah 59:dadb88794375 510 poc2p0_ascii_to_hex ((uint8_t *)bt_rx_buffer, sizeof(bt_rx_buffer));
rashmivenkataramaiah 59:dadb88794375 511
rashmivenkataramaiah 59:dadb88794375 512 mc.printf("\n\r SOS = %2x", poc2p0_bt_msg_req.sos);
rashmivenkataramaiah 59:dadb88794375 513 mc.printf("\n\r CMD = %2x", poc2p0_bt_msg_req.cmd);
rashmivenkataramaiah 59:dadb88794375 514 mc.printf("\n\r LEN = %2x", poc2p0_bt_msg_req.length);
rashmivenkataramaiah 59:dadb88794375 515 mc.printf("\n\r EOS = %2x", poc2p0_bt_msg_req.eos);
rashmivenkataramaiah 59:dadb88794375 516 mc.printf("\n\r CHK = %2x", poc2p0_bt_msg_req.chksum);
rashmivenkataramaiah 59:dadb88794375 517 }
rashmivenkataramaiah 59:dadb88794375 518
rashmivenkataramaiah 59:dadb88794375 519 cal_chksum = checksum_struct((uint8_t *)&poc2p0_bt_msg_req.cmd, (sizeof(poc2p0_bt_msg_req)-1));
rashmivenkataramaiah 58:b75255e6e4c3 520
rashmivenkataramaiah 59:dadb88794375 521 if (cal_chksum == poc2p0_bt_msg_req.chksum)
rashmivenkataramaiah 58:b75255e6e4c3 522 {
rashmivenkataramaiah 59:dadb88794375 523 //mc.printf("CMD: %2x\n",poc2p0_bt_msg_req.cmd);
rashmivenkataramaiah 57:e82d4bd6b2c0 524 switch (poc2p0_bt_msg_req.cmd)
rashmivenkataramaiah 57:e82d4bd6b2c0 525 {
rashmivenkataramaiah 57:e82d4bd6b2c0 526 case STRT_BP_TEST_REQ:
rashmivenkataramaiah 59:dadb88794375 527 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 528 touch_state = TOUCH_STATE_BP_TEST_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 529 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 530
rashmivenkataramaiah 57:e82d4bd6b2c0 531 case STRT_BG_FBS_TEST_REQ:
rashmivenkataramaiah 59:dadb88794375 532 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 533 touch_state = TOUCH_STATE_BG_TEST_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 534 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 535
rashmivenkataramaiah 57:e82d4bd6b2c0 536 case STRT_BG_PP_TEST_REQ:
rashmivenkataramaiah 59:dadb88794375 537 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 538 touch_state = TOUCH_STATE_BG_TEST_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 539 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 540
rashmivenkataramaiah 57:e82d4bd6b2c0 541 case STRT_BG_RAN_TEST_REQ:
rashmivenkataramaiah 59:dadb88794375 542 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 543 touch_state = TOUCH_STATE_BG_TEST_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 544 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 545
rashmivenkataramaiah 57:e82d4bd6b2c0 546 case STRT_ECG_TEST_REQ:
rashmivenkataramaiah 59:dadb88794375 547 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 548 touch_state = TOUCH_STATE_ECG_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 549 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 550
rashmivenkataramaiah 57:e82d4bd6b2c0 551 case DATA_SYNC_REQ:
rashmivenkataramaiah 59:dadb88794375 552 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 553 touch_state = TOUCH_STATE_DATA_SYNC_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 554 poc2p0_send_device_msg_res(DATA_SYNC_MSG_ACCEPTED_RES);
rashmivenkataramaiah 57:e82d4bd6b2c0 555 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 556
rashmivenkataramaiah 57:e82d4bd6b2c0 557 case HEARTBEAT_REQ:
rashmivenkataramaiah 59:dadb88794375 558 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 59:dadb88794375 559 if ((curr_touch_state == TOUCH_STATE_HOME_SCREEN)||(curr_touch_state == TOUCH_STATE_TEST_SCREEN))
rashmivenkataramaiah 59:dadb88794375 560 {
rashmivenkataramaiah 57:e82d4bd6b2c0 561 poc2p0_send_device_heartbeat_msg_res(curr_touch_state);
rashmivenkataramaiah 59:dadb88794375 562 }
rashmivenkataramaiah 57:e82d4bd6b2c0 563 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 564
rashmivenkataramaiah 57:e82d4bd6b2c0 565 case HOME_SCREEN_REQ:
rashmivenkataramaiah 59:dadb88794375 566 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 567 touch_state = TOUCH_STATE_HOME_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 568 poc2p0_send_device_msg_res(HOME_SCREEN_MSG_ACCEPTED_RES);
rashmivenkataramaiah 57:e82d4bd6b2c0 569 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 570
rashmivenkataramaiah 57:e82d4bd6b2c0 571 case TEST_SCREEN_REQ:
rashmivenkataramaiah 59:dadb88794375 572 mc.printf("\n\r cal_chksum = %2x\n", cal_chksum);
rashmivenkataramaiah 57:e82d4bd6b2c0 573 touch_state = TOUCH_STATE_TEST_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 574 poc2p0_send_device_msg_res(TEST_SCREEN_MSG_ACCEPTED_RES);
rashmivenkataramaiah 57:e82d4bd6b2c0 575 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 576
rashmivenkataramaiah 57:e82d4bd6b2c0 577 default:
rashmivenkataramaiah 57:e82d4bd6b2c0 578 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 579 }
rashmivenkataramaiah 59:dadb88794375 580 }
rashmivenkataramaiah 59:dadb88794375 581
rashmivenkataramaiah 59:dadb88794375 582 memset((void *)bt_rx_buffer,0x00,sizeof(bt_rx_buffer));
rashmivenkataramaiah 59:dadb88794375 583 memset((void *)&poc2p0_bt_msg_req,0x00,sizeof(bt_rx_buffer)); //to clear the structure else the command would be in the loop
rashmivenkataramaiah 59:dadb88794375 584 return touch_state;
rashmivenkataramaiah 59:dadb88794375 585 }
rashmivenkataramaiah 59:dadb88794375 586
rashmivenkataramaiah 59:dadb88794375 587 // this function use to convert data from ascii to hex
rashmivenkataramaiah 59:dadb88794375 588 static void poc2p0_ascii_to_hex(const uint8_t input_buf[], uint8_t len)
rashmivenkataramaiah 59:dadb88794375 589 {
rashmivenkataramaiah 59:dadb88794375 590 uint8_t i = 0;
rashmivenkataramaiah 59:dadb88794375 591 uint8_t j = 0;
rashmivenkataramaiah 59:dadb88794375 592 uint8_t temp_ms_nibble = 0;
rashmivenkataramaiah 59:dadb88794375 593 uint8_t temp_ls_nibble = 0;
rashmivenkataramaiah 59:dadb88794375 594 uint8_t temp_buf[len];
rashmivenkataramaiah 59:dadb88794375 595
rashmivenkataramaiah 59:dadb88794375 596 for (i = 0,j = 0; i < len; i+=2, ++j)
rashmivenkataramaiah 59:dadb88794375 597 {
rashmivenkataramaiah 59:dadb88794375 598 temp_ms_nibble = input_buf[i] > '9' ? (input_buf[i]|32) - 'a' + 10 : input_buf[i] - '0';
rashmivenkataramaiah 59:dadb88794375 599 temp_ls_nibble = input_buf[i+1] > '9' ? (input_buf[i+1]|32) - 'a' + 10 : input_buf[i+1] - '0';
rashmivenkataramaiah 59:dadb88794375 600 temp_buf[j] = (temp_ms_nibble << 4) | temp_ls_nibble;
rashmivenkataramaiah 59:dadb88794375 601 mc.printf("\n\r msg_SOS = %2x", temp_buf[j]);
rashmivenkataramaiah 59:dadb88794375 602 }
rashmivenkataramaiah 59:dadb88794375 603
rashmivenkataramaiah 59:dadb88794375 604 memcpy(&poc2p0_bt_msg_req, &temp_buf, sizeof(poc2p0_bt_msg_req));
rashmivenkataramaiah 59:dadb88794375 605
rashmivenkataramaiah 59:dadb88794375 606 return;
rashmivenkataramaiah 59:dadb88794375 607 }