Skip to content

Commit

Permalink
Update BLE Service data size for Infineon P6 Platform (#13554)
Browse files Browse the repository at this point in the history
* Update BLE Service data size for Infineon P6 Platform

* Add static asset check for ble service data size
  • Loading branch information
praveenCY authored Jan 17, 2022
1 parent 8952d1c commit 7b28de4
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/platform/P6/BLEManagerImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ extern "C" {
using namespace ::chip;
using namespace ::chip::Ble;

#define BLE_SERVICE_DATA_SIZE 10

namespace chip {
namespace DeviceLayer {
namespace Internal {
Expand Down Expand Up @@ -787,9 +789,11 @@ void BLEManagerImpl::SetAdvertisingData(void)
ChipBLEDeviceIdentificationInfo mDeviceIdInfo;
uint16_t deviceDiscriminator = 0;
uint8_t localDeviceNameLen;
uint8_t service_data[9];
uint8_t service_data[BLE_SERVICE_DATA_SIZE];
uint8_t * p = service_data;

static_assert(BLE_SERVICE_DATA_SIZE == sizeof(ChipBLEDeviceIdentificationInfo) + 2, "BLE Service Data Size is incorrect");

// Initialize the CHIP BLE Device Identification Information block that will be sent as payload
// within the BLE service advertisement data.
err = ConfigurationMgr().GetBLEDeviceIdentificationInfo(mDeviceIdInfo);
Expand Down Expand Up @@ -838,6 +842,7 @@ void BLEManagerImpl::SetAdvertisingData(void)
UINT8_TO_STREAM(p, mDeviceIdInfo.DeviceVendorId[1]);
UINT8_TO_STREAM(p, mDeviceIdInfo.DeviceProductId[0]);
UINT8_TO_STREAM(p, mDeviceIdInfo.DeviceProductId[1]);
UINT8_TO_STREAM(p, 0); // Additional Data Flag

adv_elem[num_elem].advert_type = BTM_BLE_ADVERT_TYPE_NAME_COMPLETE;
adv_elem[num_elem].len = localDeviceNameLen;
Expand Down

0 comments on commit 7b28de4

Please sign in to comment.