Skip to content

Commit

Permalink
Branch with Test_event_1 tag + cherry pick of PR project-chip#5503 to…
Browse files Browse the repository at this point in the history
… add ble advertissement timeouts

- fix conflicts from Cherry picking due to api modified in master vs test_event_1 tag
  • Loading branch information
jmartinez-silabs committed Mar 22, 2021
1 parent dd31df3 commit f0f84e7
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions src/platform/EFR32/BLEManagerImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ CHIP_ERROR BLEManagerImpl::_Init()
BleAdvTimeoutHandler // timer callback handler
);

mFlags.ClearAll().Set(Flags::kAdvertisingEnabled, CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART);
mFlags.Set(Flags::kFastAdvertisingEnabled, true);
mFlags = CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART ? kFlag_AdvertisingEnabled : 0;
SetFlag(mFlags, kFlag_FastAdvertisingEnabled, true);
PlatformMgr().ScheduleWork(DriveBLEState, 0);

exit:
Expand Down Expand Up @@ -703,7 +703,7 @@ CHIP_ERROR BLEManagerImpl::StartAdvertising(void)
sl_bt_advertiser_set_random_address(advertising_set_handle, kResolvableRandomAddrType, unusedBdAddr, &unusedBdAddr);
(void) unusedBdAddr;

mFlags.Clear(Flags::kRestartAdvertising);
ClearFlag(mFlags, kFlag_Advertising);

interval_min = interval_max =
((numConnectionss == 0 && !ConfigurationMgr().IsPairedToAccount()) || GetFlag(mFlags, kFlag_FastAdvertisingEnabled))
Expand All @@ -718,10 +718,10 @@ CHIP_ERROR BLEManagerImpl::StartAdvertising(void)

if (SL_STATUS_OK == ret)
{
uint32_t BleAdvTimeoutMs = (mFlags.Has(Flags::kFastAdvertisingEnabled) ? CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_TIMEOUT
uint32_t BleAdvTimeoutMs = (GetFlag(mFlags, kFlag_FastAdvertisingEnabled) ? CHIP_DEVICE_CONFIG_BLE_FAST_ADVERTISING_TIMEOUT
: CHIP_DEVICE_CONFIG_BLE_ADVERTISING_TIMEOUT);
StartBleAdvTimeoutTimer(BleAdvTimeoutMs);
mFlags.Set(Flags::kAdvertising);
SetFlag(mFlags, kFlag_Advertising, true);
}

err = MapBLEError(ret);
Expand Down Expand Up @@ -831,8 +831,8 @@ void BLEManagerImpl::HandleConnectionCloseEvent(volatile sl_bt_msg_t * evt)

// Arrange to re-enable connectable advertising in case it was disabled due to the
// maximum connection limit being reached.
mFlags.Set(Flags::kRestartAdvertising);
mFlags.Set(Flags::kFastAdvertisingEnabled);
SetFlag(mFlags, kFlag_RestartAdvertising, true);
SetFlag(mFlags, kFlag_FastAdvertisingEnabled, true);
PlatformMgr().ScheduleWork(DriveBLEState, 0);
}
}
Expand Down Expand Up @@ -1056,11 +1056,11 @@ void BLEManagerImpl::BleAdvTimeoutHandler(TimerHandle_t xTimer)
CHIP_ERROR err;
sl_status_t ret;

if (sInstance.mFlags.Has(Flags::kFastAdvertisingEnabled))
if (GetFlag(sInstance.mFlags, kFlag_FastAdvertisingEnabled))
{
ChipLogDetail(DeviceLayer, "bleAdv Timeout : Start slow advertissment");

sInstance.mFlags.Clear(Flags::kFastAdvertisingEnabled);
ClearFlag(sInstance.mFlags, kFlag_FastAdvertisingEnabled);

// stop advertiser, change interval and restart it;
sl_bt_advertiser_stop(sInstance.advertising_set_handle);
Expand Down

0 comments on commit f0f84e7

Please sign in to comment.