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