@@ -163,6 +163,23 @@ void rsi_ble_add_matter_service(void)
163
163
RSI_BLE_ATT_PROPERTY_READ | RSI_BLE_ATT_PROPERTY_NOTIFY |
164
164
RSI_BLE_ATT_PROPERTY_INDICATE, // Set read, write, write without response
165
165
data, sizeof (data), ATT_REC_MAINTAIN_IN_HOST);
166
+ #ifdef CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING
167
+ static const uuid_t custom_characteristic_C3 = {
168
+ .size = RSI_BLE_CUSTOM_CHARACTERISTIC_C3_SIZE,
169
+ .reserved = { RSI_BLE_CUSTOM_CHARACTERISTIC_C3_RESERVED },
170
+ .val = { .val128 = { .data1 = RSI_BLE_CUSTOM_CHARACTERISTIC_C3_VALUE_128_DATA_1,
171
+ .data2 = RSI_BLE_CUSTOM_CHARACTERISTIC_C3_VALUE_128_DATA_2,
172
+ .data3 = RSI_BLE_CUSTOM_CHARACTERISTIC_C3_VALUE_128_DATA_3,
173
+ .data4 = { RSI_BLE_CUSTOM_CHARACTERISTIC_C3_VALUE_128_DATA_4 } } }
174
+ };
175
+
176
+ // Adding custom characteristic declaration to the custom service
177
+ SilabsBleWrapper::rsi_ble_add_char_serv_att (
178
+ new_serv_resp.serv_handler , new_serv_resp.start_handle + RSI_BLE_CHARACTERISTIC_C3_ATTRIBUTE_HANDLE_LOCATION,
179
+ RSI_BLE_ATT_PROPERTY_WRITE_NO_RESPONSE | RSI_BLE_ATT_PROPERTY_WRITE | RSI_BLE_ATT_PROPERTY_READ |
180
+ RSI_BLE_ATT_PROPERTY_NOTIFY | RSI_BLE_ATT_PROPERTY_INDICATE, // Set read, write, write without response
181
+ new_serv_resp.start_handle + RSI_BLE_CHARACTERISTIC_C3_MEASUREMENT_HANDLE_LOCATION, custom_characteristic_C3);
182
+ #endif // CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING
166
183
}
167
184
168
185
} // namespace
@@ -1028,9 +1045,9 @@ CHIP_ERROR BLEManagerImpl::EncodeAdditionalDataTlv()
1028
1045
additionalDataFields.Set (AdditionalDataFields::RotatingDeviceId);
1029
1046
#endif /* CHIP_ENABLE_ROTATING_DEVICE_ID && defined(CHIP_DEVICE_CONFIG_ROTATING_DEVICE_ID_UNIQUE_ID) */
1030
1047
1031
- err = AdditionalDataPayloadGenerator ().generateAdditionalDataPayload (additionalDataPayloadParams, c3AdditionalDataBufferHandle,
1032
- additionalDataFields);
1033
-
1048
+ err = AdditionalDataPayloadGenerator ().generateAdditionalDataPayload (
1049
+ additionalDataPayloadParams, sInstance . c3AdditionalDataBufferHandle , additionalDataFields);
1050
+ SuccessOrExit (err);
1034
1051
exit :
1035
1052
if (err != CHIP_NO_ERROR)
1036
1053
{
0 commit comments