diff --git a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/mem_board_central.h b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/mem_board_central.h index 53be65e0a..81a119af1 100644 --- a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/mem_board_central.h +++ b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/mem_board_central.h @@ -184,8 +184,6 @@ static void mem_recv_ins(){ } case INS_SCAN:{ - //char test_scan_ack[10] = {4,0,6,'A','B','C','D','E'};//"406ABCDE"; - //UART_write(uart_handle, test_scan_ack, 9); SimpleBLECentral_discoverDevices(); break; } diff --git a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/simple_central.c b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/simple_central.c index 4b63c42c7..342e4ac02 100644 --- a/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/simple_central.c +++ b/simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/simple_central.c @@ -395,6 +395,7 @@ static bool SimpleBLECentral_findLocalName(uint8_t *pEvtData, uint8_t dataLen); static void SimpleBLECentral_addDeviceName(uint8_t i, uint8_t *pEvtData, uint8_t dataLen); static void SimepleBLECentral_getDeviceinfo(uint8_t i, uint8_t *pEvtData, uint8_t dataLen); +static void SimepleBLECentral_respDeviceinfo(uint8_t i, uint8_t *pEvtData, uint8_t dataLen); static void SimpleBLECentral_processPairState(uint8_t pairState, uint8_t status); static void SimpleBLECentral_processPasscode(uint16_t connectionHandle, @@ -849,6 +850,10 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent) // get company code, version, battery SimepleBLECentral_getDeviceinfo(i, pEvent->deviceInfo.pEvtData, pEvent->deviceInfo.dataLen); + + // response company code, version, battery + SimepleBLECentral_respDeviceinfo(i, pEvent->deviceInfo.pEvtData, + pEvent->deviceInfo.dataLen); } } } @@ -864,58 +869,7 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent) // Display_clearLines(dispHandle, ROW_ONE, ROW_SEVEN); // Display_print1(dispHandle, ROW_ONE, 0, "Devices found %d", scanRes); // mem_UART_clear_screen(); -// char device_number[2] = {scanRes + '0', '\0'}; - -// char test_scan_ack[20] = {4,0,13,devList[0].addr[0],devList[0].addr[1], -// devList[0].addr[2],devList[0].addr[3],devList[0].addr[4],devList[0].addr[5], -// 'A','B','C','D','E',scanRes}; -// UART_write(uart_handle, test_scan_ack, 16); - - uint8_t device_number; - uint8_t ret_info_buf[RET_INFO_BUF_SIZE]; - uint8_t attr_length[5] = {sizeof(devList[device_number].addr), - sizeof(devList[device_number].localName), - LEN_COMPANY_CODE, - LEN_VERSION_INFO, - LEN_BATTERY_INFO}; - - - uint8_t index = 0; - ret_info_buf[index ++] = 4; - ret_info_buf[index ++] = 0; - ret_info_buf[index ++] = 30; - // B_ADDR_LEN = 6 - for(int i=0 ; i < B_ADDR_LEN ; i++){ - ret_info_buf[index ++] = devList[0].addr[i]; - } - - ret_info_buf[index ++] = scanRes; - - for(int i=0 ; i < attr_length[2] ; i++){ - ret_info_buf[index ++] = devList[0].company_code[i]; - } - - for(int i=0 ; i < attr_length[1] ; i++){ - ret_info_buf[index ++] = devList[0].localName[i]; - } - - for(int i=0 ; i < attr_length[3] ; i++){ - ret_info_buf[index ++] = devList[0].version_info[i]; - } - - for(int i=0 ; i < attr_length[4] ; i++){ - ret_info_buf[index ++] = devList[0].battery_info[i]; - } - - for( ; index < RET_INFO_BUF_SIZE ; index++){ - ret_info_buf[index] = 0; - } - -// UART_write(uart_handle, ret_info_buf, 50); - - -// char test_scan_ack[10] = {4,0,6,'A','B','C','D','E'};//"406ABCDE"; -// UART_write(uart_handle, test_scan_ack, 9); + char device_number[2] = {scanRes + '0', '\0'}; // report scan result #ifndef BOOSTXL_CC2650MA @@ -2444,7 +2398,23 @@ static void SimepleBLECentral_getDeviceinfo(uint8_t i, uint8_t *pEvtData, uint8_ } } +static void SimepleBLECentral_respDeviceinfo(uint8_t i, uint8_t *pEvtData, uint8_t dataLen){ + uint8_t scan_result[50] = { + 4, scanRes,33, + devList[i].addr[0], devList[i].addr[1], devList[i].addr[2], + devList[i].addr[3], devList[i].addr[4], devList[i].addr[5], + devList[i].company_code[0], devList[i].company_code[1], devList[i].company_code[2], + devList[i].company_code[3], + devList[i].version_info[0], devList[i].version_info[1], devList[i].version_info[2], + devList[i].version_info[3], devList[i].version_info[4], devList[i].version_info[5], + devList[i].battery_info[0], devList[i].battery_info[1], devList[i].battery_info[2], + devList[i].battery_info[3], devList[i].battery_info[4], + devList[i].localName[0], devList[i].localName[1], devList[i].localName[2], + devList[i].localName[3], devList[i].localName[4], devList[i].localName[5], + 0,0,0,9,9,81}; + UART_write(uart_handle, scan_result, 45); +} /********************************************************************* * @fn SimpleBLECentral_eventCB