Repository: incubator-mynewt-core Updated Branches: refs/heads/develop 5728339c9 -> 2551b3c0b
nimble/adv: Remove invalid data types "Class of Device", "LE Bluetooth Device Address" and "LE Role" data types are only applicable for OOB data blocks, as defined by Core Specification Supplement 7. Other symbols removed were not used in AD, but there is also no point in having them defined as BLE_HS_ADV_TYPE_* if they cannot be used. Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/c5b5588b Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/c5b5588b Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/c5b5588b Branch: refs/heads/develop Commit: c5b5588bd32b92785d45c622f643c7c7f74a50d0 Parents: 3e4341f Author: Andrzej Kaczmarek <[email protected]> Authored: Tue Jan 17 14:59:12 2017 +0100 Committer: Andrzej Kaczmarek <[email protected]> Committed: Fri Jan 27 16:51:04 2017 +0100 ---------------------------------------------------------------------- apps/blecent/src/misc.c | 14 -- apps/bletiny/src/cmd.c | 36 ------ apps/bletiny/src/main.c | 17 --- net/nimble/host/include/host/ble_hs_adv.h | 34 ----- net/nimble/host/src/ble_hs_adv.c | 54 -------- net/nimble/host/test/src/ble_hs_adv_test.c | 164 ------------------------ 6 files changed, 319 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c5b5588b/apps/blecent/src/misc.c ---------------------------------------------------------------------- diff --git a/apps/blecent/src/misc.c b/apps/blecent/src/misc.c index 81abcae..a51377d 100644 --- a/apps/blecent/src/misc.c +++ b/apps/blecent/src/misc.c @@ -155,12 +155,6 @@ print_adv_fields(const struct ble_hs_adv_fields *fields) BLECENT_LOG(DEBUG, " tx_pwr_lvl=%d\n", fields->tx_pwr_lvl); } - if (fields->device_class != NULL) { - BLECENT_LOG(DEBUG, " device_class="); - print_bytes(fields->device_class, BLE_HS_ADV_DEVICE_CLASS_LEN); - BLECENT_LOG(DEBUG, "\n"); - } - if (fields->slave_itvl_range != NULL) { BLECENT_LOG(DEBUG, " slave_itvl_range="); print_bytes(fields->slave_itvl_range, BLE_HS_ADV_SLAVE_ITVL_RANGE_LEN); @@ -191,14 +185,6 @@ print_adv_fields(const struct ble_hs_adv_fields *fields) BLECENT_LOG(DEBUG, " adv_itvl=0x%04x\n", fields->adv_itvl); } - if (fields->le_addr != NULL) { - BLECENT_LOG(DEBUG, " le_addr=%s\n", addr_str(fields->le_addr)); - } - - if (fields->le_role_is_present) { - BLECENT_LOG(DEBUG, " le_role=0x%02x\n", fields->le_role); - } - if (fields->svc_data_uuid32 != NULL) { BLECENT_LOG(DEBUG, " svc_data_uuid32="); print_bytes(fields->svc_data_uuid32, fields->svc_data_uuid32_len); http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c5b5588b/apps/bletiny/src/cmd.c ---------------------------------------------------------------------- diff --git a/apps/bletiny/src/cmd.c b/apps/bletiny/src/cmd.c index 13eae4d..e03872a 100644 --- a/apps/bletiny/src/cmd.c +++ b/apps/bletiny/src/cmd.c @@ -1866,8 +1866,6 @@ bletiny_set_adv_data_help(void) help_cmd_byte_stream_exact_length("uuid128", 16); help_cmd_long("uuids128_is_complete"); help_cmd_long_bounds("tx_pwr_lvl", INT8_MIN, INT8_MAX); - help_cmd_byte_stream_exact_length("device_class", - BLE_HS_ADV_DEVICE_CLASS_LEN); help_cmd_byte_stream_exact_length("slave_itvl_range", BLE_HS_ADV_SLAVE_ITVL_RANGE_LEN); help_cmd_byte_stream("svc_data_uuid16"); @@ -1876,8 +1874,6 @@ bletiny_set_adv_data_help(void) help_cmd_uint16("appearance"); help_cmd_extract("name"); help_cmd_uint16("adv_itvl"); - help_cmd_byte_stream_exact_length("le_addr", BLE_HS_ADV_LE_ADDR_LEN); - help_cmd_long_bounds("le_role", 0, 0xff); help_cmd_byte_stream("svc_data_uuid32"); help_cmd_byte_stream("svc_data_uuid128"); help_cmd_byte_stream("uri"); @@ -1893,7 +1889,6 @@ cmd_set_adv_data(void) static bssnz_t uint8_t public_tgt_addrs[CMD_ADV_DATA_MAX_PUBLIC_TGT_ADDRS] [BLE_HS_ADV_PUBLIC_TGT_ADDR_ENTRY_LEN]; - static bssnz_t uint8_t device_class[BLE_HS_ADV_DEVICE_CLASS_LEN]; static bssnz_t uint8_t slave_itvl_range[BLE_HS_ADV_SLAVE_ITVL_RANGE_LEN]; static bssnz_t uint8_t svc_data_uuid16[CMD_ADV_DATA_SVC_DATA_UUID16_MAX_LEN]; @@ -1901,7 +1896,6 @@ cmd_set_adv_data(void) svc_data_uuid32[CMD_ADV_DATA_SVC_DATA_UUID32_MAX_LEN]; static bssnz_t uint8_t svc_data_uuid128[CMD_ADV_DATA_SVC_DATA_UUID128_MAX_LEN]; - static bssnz_t uint8_t le_addr[BLE_HS_ADV_LE_ADDR_LEN]; static bssnz_t uint8_t uri[CMD_ADV_DATA_URI_MAX_LEN]; static bssnz_t uint8_t mfg_data[CMD_ADV_DATA_MFG_DATA_MAX_LEN]; struct ble_hs_adv_fields adv_fields; @@ -2041,17 +2035,6 @@ cmd_set_adv_data(void) return rc; } - rc = parse_arg_byte_stream_exact_length("device_class", device_class, - BLE_HS_ADV_DEVICE_CLASS_LEN); - if (rc == 0) { - adv_fields.device_class = device_class; - } else if (rc != ENOENT) { - console_printf("invalid 'device_class' parameter\n"); - help_cmd_byte_stream_exact_length("device_class", - BLE_HS_ADV_DEVICE_CLASS_LEN); - return rc; - } - rc = parse_arg_byte_stream_exact_length("slave_itvl_range", slave_itvl_range, BLE_HS_ADV_SLAVE_ITVL_RANGE_LEN); @@ -2123,25 +2106,6 @@ cmd_set_adv_data(void) return rc; } - rc = parse_arg_byte_stream_exact_length("le_addr", le_addr, - BLE_HS_ADV_LE_ADDR_LEN); - if (rc == 0) { - adv_fields.le_addr = le_addr; - } else if (rc != ENOENT) { - console_printf("invalid 'le_addr' parameter\n"); - help_cmd_byte_stream_exact_length("le_addr", BLE_HS_ADV_LE_ADDR_LEN); - return rc; - } - - adv_fields.le_role = parse_arg_long_bounds("le_role", 0, 0xff, &rc); - if (rc == 0) { - adv_fields.le_role_is_present = 1; - } else if (rc != ENOENT) { - console_printf("invalid 'le_role' parameter\n"); - help_cmd_long_bounds("le_role", 0, 0xff); - return rc; - } - rc = parse_arg_byte_stream("svc_data_uuid32", CMD_ADV_DATA_SVC_DATA_UUID32_MAX_LEN, svc_data_uuid32, &svc_data_uuid32_len); http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c5b5588b/apps/bletiny/src/main.c ---------------------------------------------------------------------- diff --git a/apps/bletiny/src/main.c b/apps/bletiny/src/main.c index dd83a27..5aa2f44 100755 --- a/apps/bletiny/src/main.c +++ b/apps/bletiny/src/main.c @@ -190,13 +190,6 @@ bletiny_print_adv_fields(const struct ble_hs_adv_fields *fields) console_printf(" tx_pwr_lvl=%d\n", fields->tx_pwr_lvl); } - if (fields->device_class != NULL) { - console_printf(" device_class="); - print_bytes(fields->device_class, - BLE_HS_ADV_DEVICE_CLASS_LEN); - console_printf("\n"); - } - if (fields->slave_itvl_range != NULL) { console_printf(" slave_itvl_range="); print_bytes(fields->slave_itvl_range, @@ -229,16 +222,6 @@ bletiny_print_adv_fields(const struct ble_hs_adv_fields *fields) console_printf(" adv_itvl=0x%04x\n", fields->adv_itvl); } - if (fields->le_addr != NULL) { - console_printf(" le_addr="); - print_addr(fields->le_addr); - console_printf("\n"); - } - - if (fields->le_role_is_present) { - console_printf(" le_role=0x%02x\n", fields->le_role); - } - if (fields->svc_data_uuid32 != NULL) { console_printf(" svc_data_uuid32="); print_bytes(fields->svc_data_uuid32, http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c5b5588b/net/nimble/host/include/host/ble_hs_adv.h ---------------------------------------------------------------------- diff --git a/net/nimble/host/include/host/ble_hs_adv.h b/net/nimble/host/include/host/ble_hs_adv.h index 3ea9a19..d15c8ee 100644 --- a/net/nimble/host/include/host/ble_hs_adv.h +++ b/net/nimble/host/include/host/ble_hs_adv.h @@ -59,9 +59,6 @@ struct ble_hs_adv_fields { int8_t tx_pwr_lvl; unsigned tx_pwr_lvl_is_present:1; - /*** 0x0d - Class of device. */ - uint8_t *device_class; - /*** 0x0d - Slave connection interval range. */ uint8_t *slave_itvl_range; @@ -81,13 +78,6 @@ struct ble_hs_adv_fields { uint16_t adv_itvl; unsigned adv_itvl_is_present:1; - /*** 0x1b - LE bluetooth device address. */ - uint8_t *le_addr; - - /*** 0x1c - LE role. */ - uint8_t le_role; - unsigned le_role_is_present:1; - /*** 0x20 - Service data - 32-bit UUID. */ uint8_t *svc_data_uuid32; uint8_t svc_data_uuid32_len; @@ -115,11 +105,6 @@ struct ble_hs_adv_fields { #define BLE_HS_ADV_TYPE_INCOMP_NAME 0x08 #define BLE_HS_ADV_TYPE_COMP_NAME 0x09 #define BLE_HS_ADV_TYPE_TX_PWR_LVL 0x0a -#define BLE_HS_ADV_TYPE_DEVICE_CLASS 0x0d -#define BLE_HS_ADV_TYPE_SIMPLE_PAIR_HASH192 0x0e -#define BLE_HS_ADV_TYPE_SIMPLE_PAIR_RAND192 0x0f -#define BLE_HS_ADV_TYPE_SM_TK_VALUE 0x10 -#define BLE_HS_ADV_TYPE_SM_OOB_FLAGS 0x11 #define BLE_HS_ADV_TYPE_SLAVE_ITVL_RANGE 0x12 #define BLE_HS_ADV_TYPE_SOL_UUIDS16 0x14 #define BLE_HS_ADV_TYPE_SOL_UUIDS128 0x15 @@ -128,18 +113,9 @@ struct ble_hs_adv_fields { #define BLE_HS_ADV_TYPE_RANDOM_TGT_ADDR 0x18 #define BLE_HS_ADV_TYPE_APPEARANCE 0x19 #define BLE_HS_ADV_TYPE_ADV_ITVL 0x1a -#define BLE_HS_ADV_TYPE_LE_ADDR 0x1b -#define BLE_HS_ADV_TYPE_LE_ROLE 0x1c -#define BLE_HS_ADV_TYPE_SIMPLE_PAIR_HASH256 0x1d -#define BLE_HS_ADV_TYPE_SIMPLE_PAIR_RAND256 0x1e #define BLE_HS_ADV_TYPE_SVC_DATA_UUID32 0x20 #define BLE_HS_ADV_TYPE_SVC_DATA_UUID128 0x21 -#define BLE_HS_ADV_TYPE_LE_SECURE_CONFIRM 0x22 -#define BLE_HS_ADV_TYPE_LE_SECURE_RANDOM 0x23 #define BLE_HS_ADV_TYPE_URI 0x24 -#define BLE_HS_ADV_TYPE_INDOOR_POS 0x25 -#define BLE_HS_ADV_TYPE_TRANS_DISC_DATA 0x26 -#define BLE_HS_ADV_TYPE_3D_INFO_DATA 0x3d #define BLE_HS_ADV_TYPE_MFG_DATA 0xff #define BLE_HS_ADV_FLAGS_LEN 1 @@ -155,8 +131,6 @@ struct ble_hs_adv_fields { */ #define BLE_HS_ADV_TX_PWR_LVL_AUTO (-128) -#define BLE_HS_ADV_DEVICE_CLASS_LEN 3 - #define BLE_HS_ADV_SLAVE_ITVL_RANGE_LEN 4 #define BLE_HS_ADV_SVC_DATA_UUID16_MIN_LEN 2 @@ -167,14 +141,6 @@ struct ble_hs_adv_fields { #define BLE_HS_ADV_ADV_ITVL_LEN 2 -#define BLE_HS_ADV_LE_ADDR_LEN 7 - -#define BLE_HS_ADV_LE_ROLE_LEN 1 -#define BLE_HS_ADV_LE_ROLE_PERIPH 0x00 -#define BLE_HS_ADV_LE_ROLE_CENTRAL 0x01 -#define BLE_HS_ADV_LE_ROLE_BOTH_PERIPH_PREF 0x02 -#define BLE_HS_ADV_LE_ROLE_BOTH_CENTRAL_PREF 0x03 - #define BLE_HS_ADV_SVC_DATA_UUID32_MIN_LEN 4 #define BLE_HS_ADV_SVC_DATA_UUID128_MIN_LEN 16 http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c5b5588b/net/nimble/host/src/ble_hs_adv.c ---------------------------------------------------------------------- diff --git a/net/nimble/host/src/ble_hs_adv.c b/net/nimble/host/src/ble_hs_adv.c index 09d4c53..1d65817 100644 --- a/net/nimble/host/src/ble_hs_adv.c +++ b/net/nimble/host/src/ble_hs_adv.c @@ -222,17 +222,6 @@ ble_hs_adv_set_fields(const struct ble_hs_adv_fields *adv_fields, } } - /*** 0x0d - Class of device. */ - if (adv_fields->device_class != NULL) { - rc = ble_hs_adv_set_flat(BLE_HS_ADV_TYPE_DEVICE_CLASS, - BLE_HS_ADV_DEVICE_CLASS_LEN, - adv_fields->device_class, dst, dst_len, - max_len); - if (rc != 0) { - return rc; - } - } - /*** 0x12 - Slave connection interval range. */ if (adv_fields->slave_itvl_range != NULL) { rc = ble_hs_adv_set_flat(BLE_HS_ADV_TYPE_SLAVE_ITVL_RANGE, @@ -290,27 +279,6 @@ ble_hs_adv_set_fields(const struct ble_hs_adv_fields *adv_fields, } } - /*** 0x1b - LE bluetooth device address. */ - if (adv_fields->le_addr != NULL) { - rc = ble_hs_adv_set_flat(BLE_HS_ADV_TYPE_LE_ADDR, - BLE_HS_ADV_LE_ADDR_LEN, - adv_fields->le_addr, dst, dst_len, - max_len); - if (rc != 0) { - return rc; - } - } - - /*** 0x1c - LE role. */ - if (adv_fields->le_role_is_present) { - rc = ble_hs_adv_set_flat(BLE_HS_ADV_TYPE_LE_ROLE, - BLE_HS_ADV_LE_ROLE_LEN, - &adv_fields->le_role, dst, dst_len, max_len); - if (rc != 0) { - return rc; - } - } - /*** 0x20 - Service data - 32-bit UUID. */ if (adv_fields->svc_data_uuid32 != NULL) { rc = ble_hs_adv_set_flat(BLE_HS_ADV_TYPE_SVC_DATA_UUID32, @@ -499,13 +467,6 @@ ble_hs_adv_parse_one_field(struct ble_hs_adv_fields *adv_fields, adv_fields->tx_pwr_lvl_is_present = 1; break; - case BLE_HS_ADV_TYPE_DEVICE_CLASS: - if (data_len != BLE_HS_ADV_DEVICE_CLASS_LEN) { - return BLE_HS_EBADDATA; - } - adv_fields->device_class = data; - break; - case BLE_HS_ADV_TYPE_SLAVE_ITVL_RANGE: if (data_len != BLE_HS_ADV_SLAVE_ITVL_RANGE_LEN) { return BLE_HS_EBADDATA; @@ -546,21 +507,6 @@ ble_hs_adv_parse_one_field(struct ble_hs_adv_fields *adv_fields, adv_fields->adv_itvl_is_present = 1; break; - case BLE_HS_ADV_TYPE_LE_ADDR: - if (data_len != BLE_HS_ADV_LE_ADDR_LEN) { - return BLE_HS_EBADDATA; - } - adv_fields->le_addr = data; - break; - - case BLE_HS_ADV_TYPE_LE_ROLE: - if (data_len != BLE_HS_ADV_LE_ROLE_LEN) { - return BLE_HS_EBADDATA; - } - adv_fields->le_role = *data; - adv_fields->le_role_is_present = 1; - break; - case BLE_HS_ADV_TYPE_SVC_DATA_UUID32: if (data_len < BLE_HS_ADV_SVC_DATA_UUID32_MIN_LEN) { return BLE_HS_EBADDATA; http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/c5b5588b/net/nimble/host/test/src/ble_hs_adv_test.c ---------------------------------------------------------------------- diff --git a/net/nimble/host/test/src/ble_hs_adv_test.c b/net/nimble/host/test/src/ble_hs_adv_test.c index b21f4b3..c1a7e55 100644 --- a/net/nimble/host/test/src/ble_hs_adv_test.c +++ b/net/nimble/host/test/src/ble_hs_adv_test.c @@ -421,32 +421,6 @@ TEST_CASE(ble_hs_adv_test_case_user) { 0 }, }, &rsp_fields, NULL); - /*** Class of device. */ - memset(&adv_fields, 0, sizeof adv_fields); - adv_fields.flags = BLE_HS_ADV_F_BREDR_UNSUP; - adv_fields.tx_pwr_lvl_is_present = 1; - adv_fields.device_class = (uint8_t[]){ 1,2,3 }; - - ble_hs_adv_test_misc_tx_and_verify_data(BLE_GAP_DISC_MODE_NON, &adv_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_FLAGS, - .val = (uint8_t[]){ BLE_HS_ADV_F_BREDR_UNSUP }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_TX_PWR_LVL, - .val = (uint8_t[]){ 0 }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_DEVICE_CLASS, - .val = (uint8_t[]) { 1,2,3 }, - .val_len = BLE_HS_ADV_DEVICE_CLASS_LEN, - }, - { 0 }, - }, &rsp_fields, NULL); - /*** Slave interval range. */ memset(&adv_fields, 0, sizeof adv_fields); adv_fields.flags = BLE_HS_ADV_F_BREDR_UNSUP; @@ -581,59 +555,6 @@ TEST_CASE(ble_hs_adv_test_case_user) { 0 }, }, &rsp_fields, NULL); - /*** 0x1b - LE bluetooth device address. */ - memset(&adv_fields, 0, sizeof adv_fields); - adv_fields.flags = BLE_HS_ADV_F_BREDR_UNSUP; - adv_fields.tx_pwr_lvl_is_present = 1; - adv_fields.le_addr = (uint8_t[]){ 1,2,3,4,5,6,7 }; - - ble_hs_adv_test_misc_tx_and_verify_data(BLE_GAP_DISC_MODE_NON, &adv_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_FLAGS, - .val = (uint8_t[]){ BLE_HS_ADV_F_BREDR_UNSUP }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_TX_PWR_LVL, - .val = (uint8_t[]){ 0 }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_LE_ADDR, - .val = (uint8_t[]) { 1,2,3,4,5,6,7 }, - .val_len = BLE_HS_ADV_LE_ADDR_LEN, - }, - { 0 }, - }, &rsp_fields, NULL); - - /*** 0x1c - LE role. */ - memset(&adv_fields, 0, sizeof adv_fields); - adv_fields.flags = BLE_HS_ADV_F_BREDR_UNSUP; - adv_fields.tx_pwr_lvl_is_present = 1; - adv_fields.le_role = BLE_HS_ADV_LE_ROLE_BOTH_PERIPH_PREF; - adv_fields.le_role_is_present = 1; - - ble_hs_adv_test_misc_tx_and_verify_data(BLE_GAP_DISC_MODE_NON, &adv_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_FLAGS, - .val = (uint8_t[]){ BLE_HS_ADV_F_BREDR_UNSUP }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_TX_PWR_LVL, - .val = (uint8_t[]){ 0 }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_LE_ROLE, - .val = (uint8_t[]) { BLE_HS_ADV_LE_ROLE_BOTH_PERIPH_PREF }, - .val_len = 1, - }, - { 0 }, - }, &rsp_fields, NULL); - /*** 0x20 - Service data - 32-bit UUID. */ memset(&adv_fields, 0, sizeof adv_fields); adv_fields.flags = BLE_HS_ADV_F_BREDR_UNSUP; @@ -1006,34 +927,6 @@ TEST_CASE(ble_hs_adv_test_case_user_rsp) { 0 }, }); - /*** Class of device. */ - memset(&rsp_fields, 0, sizeof rsp_fields); - rsp_fields.device_class = (uint8_t[]){ 1,2,3 }; - - ble_hs_adv_test_misc_tx_and_verify_data(BLE_GAP_DISC_MODE_NON, &adv_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_FLAGS, - .val = (uint8_t[]){ BLE_HS_ADV_F_BREDR_UNSUP }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_TX_PWR_LVL, - .val = (uint8_t[]){ 0 }, - .val_len = 1, - }, - { 0 }, - }, - &rsp_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_DEVICE_CLASS, - .val = (uint8_t[]) { 1,2,3 }, - .val_len = BLE_HS_ADV_DEVICE_CLASS_LEN, - }, - { 0 }, - }); - /*** Slave interval range. */ memset(&rsp_fields, 0, sizeof rsp_fields); rsp_fields.slave_itvl_range = (uint8_t[]){ 1,2,3,4 }; @@ -1178,63 +1071,6 @@ TEST_CASE(ble_hs_adv_test_case_user_rsp) { 0 }, }); - /*** 0x1b - LE bluetooth device address. */ - memset(&rsp_fields, 0, sizeof rsp_fields); - rsp_fields.le_addr = (uint8_t[]){ 1,2,3,4,5,6,7 }; - - ble_hs_adv_test_misc_tx_and_verify_data(BLE_GAP_DISC_MODE_NON, &adv_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_FLAGS, - .val = (uint8_t[]){ BLE_HS_ADV_F_BREDR_UNSUP }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_TX_PWR_LVL, - .val = (uint8_t[]){ 0 }, - .val_len = 1, - }, - { 0 }, - }, - &rsp_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_LE_ADDR, - .val = (uint8_t[]) { 1,2,3,4,5,6,7 }, - .val_len = BLE_HS_ADV_LE_ADDR_LEN, - }, - { 0 }, - }); - - /*** 0x1c - LE role. */ - memset(&rsp_fields, 0, sizeof rsp_fields); - rsp_fields.le_role = BLE_HS_ADV_LE_ROLE_BOTH_PERIPH_PREF; - rsp_fields.le_role_is_present = 1; - - ble_hs_adv_test_misc_tx_and_verify_data(BLE_GAP_DISC_MODE_NON, &adv_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_FLAGS, - .val = (uint8_t[]){ BLE_HS_ADV_F_BREDR_UNSUP }, - .val_len = 1, - }, - { - .type = BLE_HS_ADV_TYPE_TX_PWR_LVL, - .val = (uint8_t[]){ 0 }, - .val_len = 1, - }, - { 0 }, - }, - &rsp_fields, - (struct ble_hs_adv_test_field[]) { - { - .type = BLE_HS_ADV_TYPE_LE_ROLE, - .val = (uint8_t[]) { BLE_HS_ADV_LE_ROLE_BOTH_PERIPH_PREF }, - .val_len = 1, - }, - { 0 }, - }); - /*** 0x20 - Service data - 32-bit UUID. */ memset(&rsp_fields, 0, sizeof rsp_fields); rsp_fields.svc_data_uuid32 = (uint8_t[]){ 1,2,3,4,5 };
