2024-05-21 06:13 AM
I am trying to set the maximum number of times I send out an advertisement, I managed to do it with the extended advertisement quite easily. I did this using the "adv_set_param[i].adv_set.Max_Extended_Advertising_Events = 8;"
However now I want to do the same using the non-extended feature. Does anyone know how I can do this?
/* Functions Definition ------------------------------------------------------*/
uint8_t ADV_EXT_Config(void)
{
uint16_t data_cpt;
uint8_t i;
/* Extended NO SCANNABLE-NO CONNECTABLE */
data_cpt = 0;
memcpy(&a_extended_buff[data_cpt], &serial_number[0], sizeof(serial_number));
data_cpt += sizeof(serial_number);
memcpy(&a_extended_buff[data_cpt], &payload_data[0], sizeof(payload_data));
data_cpt += sizeof(payload_data);
i = 0;
adv_set_param[i].enable = 1;
adv_set_param[i].data = &a_extended_buff[0];
adv_set_param[i].data_len = data_cpt;
strcpy(adv_set_param[i].username, "MHE");
adv_set_param[i].sid = i;
adv_set_param[i].interval_min = 1000;
adv_set_param[i].interval_max = 1300;
adv_set_param[i].tx_power = CFG_BLE_MAX_TX_POWER;
adv_set_param[i].adv_channels = ADV_CH_37 | ADV_CH_38 | ADV_CH_39;
adv_set_param[i].property = 0x00;
adv_set_param[i].address_type = GAP_PUBLIC_ADDR;
adv_set_param[i].peer_address_type = GAP_PUBLIC_ADDR;
adv_set_param[i].p_peer_address = NULL;
adv_set_param[i].adv_set.Advertising_Handle = i;
adv_set_param[i].adv_set.Duration = 0;
adv_set_param[i].adv_set.Max_Extended_Advertising_Events = 8;
return 0;
}
2024-05-22 12:28 AM
By the looks of it, you can only create a timer to then set a task that will call the Adv_cancel in order to stop the advertising. Should you wish to start the advertising again you just call the Adv_request function again.
2024-07-16 07:04 AM
Hello @BettleBerry
Can you specify more about your request?
Best Regards.
STTwo-32
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.