From c8cb0426d2bb3ad7a31944b79cf9de610690b997 Mon Sep 17 00:00:00 2001 From: Emil Gydesen Date: Thu, 10 Apr 2025 23:09:48 +0200 Subject: [PATCH] tests: Bluetooth: Tester: Update supported_services The supported bits were out of date and the response size was incorrect. Signed-off-by: Emil Gydesen --- tests/bluetooth/tester/src/btp_core.c | 80 ++++++++++++++++++++------- 1 file changed, 61 insertions(+), 19 deletions(-) diff --git a/tests/bluetooth/tester/src/btp_core.c b/tests/bluetooth/tester/src/btp_core.c index 3ef89414ce0..cae854ca960 100644 --- a/tests/bluetooth/tester/src/btp_core.c +++ b/tests/bluetooth/tester/src/btp_core.c @@ -27,6 +27,17 @@ #define LOG_MODULE_NAME bttester_core LOG_MODULE_REGISTER(LOG_MODULE_NAME, CONFIG_BTTESTER_LOG_LEVEL); +#if defined(CONFIG_BT_BAP_UNICAST_CLIENT) || defined(CONFIG_BT_BAP_UNICAST_SERVER) || \ + defined(CONFIG_BT_BAP_BROADCAST_SOURCE) || defined(CONFIG_BT_BAP_BROADCAST_SINK) || \ + defined(CONFIG_BT_BAP_BROADCAST_ASSISTANT) || defined(CONFIG_BT_BAP_SCAN_DELEGATOR) +#define BAP_SUPPORTED 1 +#endif + +#if defined(CONFIG_BT_CAP_ACCEPTOR) || defined(CONFIG_BT_CAP_INITIATOR) || \ + defined(CONFIG_BT_CAP_COMMANDER) +#define CAP_SUPPORTED 1 +#endif + static ATOMIC_DEFINE(registered_services, BTP_SERVICE_ID_MAX); static uint8_t supported_commands(const void *cmd, uint16_t cmd_len, @@ -69,14 +80,28 @@ static uint8_t supported_services(const void *cmd, uint16_t cmd_len, #if defined(CONFIG_BT_VOCS) || defined(CONFIG_BT_VOCS_CLIENT) tester_set_bit(rp->data, BTP_SERVICE_ID_VOCS); #endif /* CONFIG_BT_VOCS */ +#if defined(CONFIG_BT_PACS) + tester_set_bit(rp->data, BTP_SERVICE_ID_PACS); +#endif /* CONFIG_BT_PACS */ +#if defined(CONFIG_BT_AICS) + tester_set_bit(rp->data, BTP_SERVICE_ID_AICS); +#endif /* CONFIG_BT_AICS */ +#if BAP_SUPPORTED + tester_set_bit(rp->data, BTP_SERVICE_ID_BAP); +#endif /* BAP_SUPPORTED */ #if defined(CONFIG_BT_HAS) || defined(CONFIG_BT_HAS_CLIENT) tester_set_bit(rp->data, BTP_SERVICE_ID_HAS); #endif /* CONFIG_BT_HAS */ + + /* octet 2 */ +#if defined(CONFIG_BT_MICP_MIC_DEV) || defined(CONFIG_BT_MICP_MIC_CTLR) + tester_set_bit(rp->data, BTP_SERVICE_ID_MICP); +#endif /* CONFIG_BT_MICP_MIC_DEV || CONFIG_BT_MICP_MIC_CTLR */ #if defined(CONFIG_BT_CSIP_SET_MEMBER) tester_set_bit(rp->data, BTP_SERVICE_ID_CSIS); #endif /* CONFIG_BT_CSIP_SET_MEMBER */ -#if defined(CONFIG_BT_MICP_MIC_DEV) || defined(CONFIG_BT_MICP_MIC_CTLR) - tester_set_bit(rp->data, BTP_SERVICE_ID_MICP); +#if defined(CONFIG_BT_MICP_MIC_DEV) + tester_set_bit(rp->data, BTP_SERVICE_ID_MICS); #endif /* CONFIG_BT_MICP_MIC_DEV */ #if defined(CONFIG_BT_TBS_CLIENT) tester_set_bit(rp->data, BTP_SERVICE_ID_CCP); @@ -93,20 +118,31 @@ static uint8_t supported_services(const void *cmd, uint16_t cmd_len, #if defined(CONFIG_BT_MCS) tester_set_bit(rp->data, BTP_SERVICE_ID_GMCS); #endif /* CONFIG_BT_MCS */ + + /* octet 3 */ #if defined(CONFIG_BT_HAS) tester_set_bit(rp->data, BTP_SERVICE_ID_HAP); #endif /* CONFIG_BT_HAS */ +#if defined(CONFIG_BT_CSIP_SET_COORDINATOR) || defined(CONFIG_BT_CSIP_SET_MEMBER) + tester_set_bit(rp->data, BTP_SERVICE_ID_CSIP); +#endif /* CONFIG_BT_CSIP_SET_COORDINATOR || CONFIG_BT_CSIP_SET_MEMBER */ +#if CAP_SUPPORTED + tester_set_bit(rp->data, BTP_SERVICE_ID_CAP); +#endif /* CAP_SUPPORTED */ #if defined(CONFIG_BT_TBS) tester_set_bit(rp->data, BTP_SERVICE_ID_TBS); #endif /*CONFIG_BT_TBS */ #if defined(CONFIG_BT_TMAP) tester_set_bit(rp->data, BTP_SERVICE_ID_TMAP); #endif /* CONFIG_BT_TMAP */ +#if defined(CONFIG_BT_OTS) + tester_set_bit(rp->data, BTP_SERVICE_ID_OTS); +#endif /* CONFIG_BT_OTS */ #if defined(CONFIG_BT_PBP) tester_set_bit(rp->data, BTP_SERVICE_ID_PBP); #endif /* CONFIG_BT_PBP */ - *rsp_len = sizeof(*rp) + 2; + *rsp_len = sizeof(*rp) + 4U; return BTP_STATUS_SUCCESS; } @@ -166,28 +202,31 @@ static uint8_t register_service(const void *cmd, uint16_t cmd_len, status = tester_init_ias(); break; #endif /* CONFIG_BT_IAS */ -#if defined(CONFIG_BT_BAP_UNICAST_CLIENT) || defined(CONFIG_BT_BAP_UNICAST_SERVER) || \ - defined(CONFIG_BT_BAP_BROADCAST_SOURCE) || defined(CONFIG_BT_BAP_BROADCAST_SINK) +#if defined(CONFIG_BT_PACS) case BTP_SERVICE_ID_PACS: status = tester_init_pacs(); break; +#endif /* CONFIG_BT_PACS */ +#if defined(CONFIG_BT_ASCS) case BTP_SERVICE_ID_ASCS: status = tester_init_ascs(); break; +#endif /* CONFIG_BT_ASCS */ +#if BAP_SUPPORTED case BTP_SERVICE_ID_BAP: status = tester_init_bap(); break; -#endif /* CONFIG_BT_BAP_UNICAST_CLIENT || CONFIG_BT_BAP_UNICAST_SERVER || \ - * CONFIG_BT_BAP_BROADCAST_SOURCE || CONFIG_BT_BAP_BROADCAST_SINK - */ +#endif /* BAP_SUPPORTED */ #if defined(CONFIG_BT_MICP_MIC_DEV) || defined(CONFIG_BT_MICP_MIC_CTLR) case BTP_SERVICE_ID_MICP: status = tester_init_micp(); break; +#endif /* CONFIG_BT_MICP_MIC_DEV or CONFIG_BT_MICP_MIC_CTLR */ +#if defined(CONFIG_BT_MICP_MIC_DEV) case BTP_SERVICE_ID_MICS: status = tester_init_mics(); break; -#endif /* CONFIG_BT_MICP_MIC_DEV or CONFIG_BT_MICP_MIC_CTLR */ +#endif /* CONFIG_BT_MICP_MIC_DEV */ #if defined(CONFIG_BT_HAS) case BTP_SERVICE_ID_HAS: status = tester_init_has(); @@ -213,11 +252,11 @@ static uint8_t register_service(const void *cmd, uint16_t cmd_len, status = tester_init_cas(); break; #endif /* CONFIG_BT_CAP_ACCEPTOR */ -#if defined(CONFIG_BT_CAP_INITIATOR) +#if CAP_SUPPORTED case BTP_SERVICE_ID_CAP: status = tester_init_cap(); break; -#endif /* CONFIG_BT_CAP_INITIATOR */ +#endif /* CAP_SUPPORTED */ #if defined(CONFIG_BT_MCC) case BTP_SERVICE_ID_MCP: status = tester_init_mcp(); @@ -318,28 +357,31 @@ static uint8_t unregister_service(const void *cmd, uint16_t cmd_len, status = tester_unregister_ias(); break; #endif /* CONFIG_BT_IAS */ -#if defined(CONFIG_BT_BAP_UNICAST_CLIENT) || defined(CONFIG_BT_BAP_UNICAST_SERVER) || \ - defined(CONFIG_BT_BAP_BROADCAST_SOURCE) || defined(CONFIG_BT_BAP_BROADCAST_SINK) +#if defined(CONFIG_BT_PACS) case BTP_SERVICE_ID_PACS: status = tester_unregister_pacs(); break; +#endif /* CONFIG_BT_PACS */ +#if defined(CONFIG_BT_ASCS) case BTP_SERVICE_ID_ASCS: status = tester_unregister_ascs(); break; +#endif /* CONFIG_BT_ASCS */ +#if BAP_SUPPORTED case BTP_SERVICE_ID_BAP: status = tester_unregister_bap(); break; -#endif /* CONFIG_BT_BAP_UNICAST_CLIENT || CONFIG_BT_BAP_UNICAST_SERVER || \ - * CONFIG_BT_BAP_BROADCAST_SOURCE || CONFIG_BT_BAP_BROADCAST_SINK - */ +#endif /* BAP_SUPPORTED */ #if defined(CONFIG_BT_MICP_MIC_DEV) || defined(CONFIG_BT_MICP_MIC_CTLR) case BTP_SERVICE_ID_MICP: status = tester_unregister_micp(); break; +#endif /* CONFIG_BT_MICP_MIC_DEV or CONFIG_BT_MICP_MIC_CTLR */ +#if defined(CONFIG_BT_MICP_MIC_DEV) case BTP_SERVICE_ID_MICS: status = tester_unregister_mics(); break; -#endif /* CONFIG_BT_MICP_MIC_DEV or CONFIG_BT_MICP_MIC_CTLR */ +#endif /* CONFIG_BT_MICP_MIC_DEV */ #if defined(CONFIG_BT_HAS) case BTP_SERVICE_ID_HAS: status = tester_unregister_has(); @@ -365,11 +407,11 @@ static uint8_t unregister_service(const void *cmd, uint16_t cmd_len, status = tester_unregister_cas(); break; #endif /* CONFIG_BT_CAP_ACCEPTOR */ -#if defined(CONFIG_BT_CAP_INITIATOR) +#if CAP_SUPPORTED case BTP_SERVICE_ID_CAP: status = tester_unregister_cap(); break; -#endif /* CONFIG_BT_CAP_INITIATOR */ +#endif /* CAP_SUPPORTED */ #if defined(CONFIG_BT_MCC) case BTP_SERVICE_ID_MCP: status = tester_unregister_mcp();