more careful with adv params, set adv data len

This commit is contained in:
matthias.ringwald@gmail.com 2014-01-25 09:46:05 +00:00
parent 1e0098e9ab
commit f328462aaa

View File

@ -219,11 +219,26 @@ static void gap_run(){
return;
}
// if (todos & SET_ADVERTISEMENT_PARAMS){
// todos &= ~SET_ADVERTISEMENT_PARAMS;
// hci_send_cmd(&hci_le_set_advertising_parameters, 0x0800, 0x0800, gap_adv_type(), gap_privacy, tester_address_type, &tester_address, 0x07, 0x00);
// return;
// }
if (todos & SET_ADVERTISEMENT_PARAMS){
todos &= ~SET_ADVERTISEMENT_PARAMS;
uint8_t adv_type = gap_adv_type();
bd_addr_t null_addr;
memset(null_addr, 0, 6);
uint16_t adv_int_min = 0x0030;
uint16_t adv_int_max = 0x0100;
switch (adv_type){
case 0:
hci_send_cmd(&hci_le_set_advertising_parameters, adv_int_min, adv_int_max, adv_type, gap_privacy, 0, &null_addr, 0x07, 0x00);
break;
case 1:
hci_send_cmd(&hci_le_set_advertising_parameters, adv_int_min, adv_int_max, adv_type, gap_privacy, tester_address_type, &tester_address, 0x07, 0x00);
break;
case 3:
hci_send_cmd(&hci_le_set_advertising_parameters, adv_int_min, adv_int_max, adv_type, gap_privacy, 0, &null_addr, 0x07, 0x00);
break;
}
return;
}
if (todos & SET_SCAN_RESPONSE_DATA){
printf("GAP_RUN: set scan response data\n");
@ -377,8 +392,9 @@ void show_usage(){
void update_advertisements(){
memset(adv_data, 0, 32);
memcpy(adv_data, advertisements[advertisement_index].data, advertisements[advertisement_index].len);
adv_data_len = advertisements[advertisement_index].len;
memcpy(adv_data, advertisements[advertisement_index].data, adv_data_len);
if (!gap_discoverable){
gap_connectable = 0;
}