[tcat] implement tcat advertisement (#9858)

Commit introduces implementation of TCAT advertisement over BLE
compliant with Thread 1.3.1 specification.
This commit is contained in:
Przemysław Bida
2024-06-06 11:26:59 -07:00
committed by GitHub
parent cdeb02b035
commit 398df8c408
16 changed files with 587 additions and 50 deletions
+33
View File
@@ -35,6 +35,7 @@
#include <openthread/platform/ble.h>
#include "openthread/error.h"
#include "openthread/tcat.h"
#include "utils/code_utils.h"
#define PLAT_BLE_MSG_DATA_MAX 2048
@@ -87,6 +88,16 @@ static void deinitFds(void)
}
}
otError otPlatBleGetAdvertisementBuffer(otInstance *aInstance, uint8_t **aAdvertisementBuffer)
{
OT_UNUSED_VARIABLE(aInstance);
static uint8_t sAdvertisementBuffer[OT_TCAT_ADVERTISEMENT_MAX_LEN];
*aAdvertisementBuffer = sAdvertisementBuffer;
return OT_ERROR_NONE;
}
otError otPlatBleEnable(otInstance *aInstance)
{
OT_UNUSED_VARIABLE(aInstance);
@@ -214,3 +225,25 @@ OT_TOOL_WEAK void otPlatBleGattServerOnWriteRequest(otInstance *aIns
* which is available in FTD/MTD library.
*/
}
void otPlatBleGetLinkCapabilities(otInstance *aInstance, otBleLinkCapabilities *aBleLinkCapabilities)
{
OT_UNUSED_VARIABLE(aInstance);
aBleLinkCapabilities->mGattNotifications = 1;
aBleLinkCapabilities->mL2CapDirect = 0;
aBleLinkCapabilities->mRsv = 0;
}
otError otPlatBleGapAdvSetData(otInstance *aInstance, uint8_t *aAdvertisementData, uint16_t aAdvertisementLen)
{
OT_UNUSED_VARIABLE(aInstance);
OT_UNUSED_VARIABLE(aAdvertisementData);
OT_UNUSED_VARIABLE(aAdvertisementLen);
return OT_ERROR_NONE;
}
bool otPlatBleSupportsMultiRadio(otInstance *aInstance)
{
OT_UNUSED_VARIABLE(aInstance);
return false;
}