scan response
This commit is contained in:
-2
@@ -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;
|
||||
}
|
||||
|
||||
+22
-52
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user