2025-02-13 06:54 AM - edited 2025-02-13 06:57 AM
Hello,
I have custom PCB with STM32WB5MM module configured as beacon. I am successfully advertising configured data.
I have configured a task in sequencer (the task gets executed, checked with debugging). When I leave task empty, the BLE advertises, but when I add function to update adv data, the advertising stops.
Configured data manufacturer specific data: 100000000000000090
"New" configured data manufacturer specific data: 100000000011111190
My function:
void MyTask(void){
uint8_t alt_AdvData[28] =
{
2, AD_TYPE_TX_POWER_LEVEL, 0 /* -0.15dBm */, /* Transmission Power */
7, AD_TYPE_COMPLETE_LOCAL_NAME, 'F', 'P', '0', '0', '0', '1', /* Complete name */
3, AD_TYPE_16_BIT_SERV_UUID_CMPLT_LIST, 0x0D, 0x18,
12, AD_TYPE_MANUFACTURER_SPECIFIC_DATA, 0x30, 0x00, 0x10 /* */, 0x00 /* */, 0x00 /* */, 0x00 /* */, 0x00 /* */, 0x11 /* */, 0x11 /* */, 0x11 /* */, 0x90 /* */,
};
aci_gap_update_adv_data(sizeof(alt_AdvData), (uint8_t*) alt_AdvData);
}
In "alt_AdvData" I currently store "new data" to advertise, at later point they will be dynamically changed.