11 ADVERTISING AND SCAN RESPONSE DATA FORMAT
[[Core_v5.4.pdf#page=1353&selection=12,0,13,6|Core_v5.4, page 1,353]]

广播数据分为:
AD Structure 结构:
2.3 Common Data Types
[[Assigned_Numbers.pdf#page=12&selection=6,0,8,17|Assigned_Numbers, page 12]]
struct uint8_t raw_adv_data[] = {
/* flags */
0x02, 0x01, 0x06,
/* tx power */
0x02, 0x0A, 0xEB,
/* service uuid */
0x03, 0x03, 0xFF, 0x00,
/* device name */
0x0F, 0x09, 'E', 'S', 'P', '_', 'G', 'A', 'T', 'T', 'S', '_', 'D', 'E', 'M', 'O'
};
flags:
0x01
[[Assigned_Numbers.pdf#page=12&selection=32,0,33,1|Assigned_Numbers, page 12]]
1.3 FLAGS
[[CSS_v11.pdf#page=15&selection=12,0,14,5|CSS_v11, page 15]]
tx power:
0x0A
[[Assigned_Numbers.pdf#page=12&selection=95,0,96,0|Assigned_Numbers, page 12]]
service uuid:
0x03
[[Assigned_Numbers.pdf#page=12&selection=46,0,47,0|Assigned_Numbers, page 12]]
device name:
0x09
[[Assigned_Numbers.pdf#page=12&selection=88,0,88,4|Assigned_Numbers, page 12]]
esp_ble_gap_set_device_name()设置的名字不同。
广播数据包能携带多少个数据,与蓝牙的种类和广播类型来决定。
These PDUs are sent by the Link Layer in the Advertising state and received by a Link Layer in the Scanning state or Initiating state. The ADV_IND, ADV_DIRECT_IND, ADV_NONCONN_IND, and ADV_SCAN_IND PDUs are called “legacy advertising PDUs”. The ADV_EXT_IND, AUX_ADV_IND, AUX_SYNC_IND, AUX_CHAIN_IND, AUX_SYNC_SUBEVENT_IND, and AUX_SYNC_SUBEVENT_RSP PDUs are called “extended advertising PDUs”. Advertising events using legacy advertising PDUs are called “legacy advertising events”.
[[Core_v5.4.pdf#page=2691&selection=56,0,63,20|Core_v5.4, page 2,691]]
其中,"legacy advertising PDUs"用于蓝牙 4.1、4.2 的广播,而"extended advertising PDUs"用于蓝牙 5.0 以上。
蓝牙 5.0 以下,广播包中只能携带 31 字节的有效数据。

2.3.1.1 ADV_IND
[[Core_v5.4.pdf#page=2691&selection=65,0,65,15|Core_v5.4, page 2,691]]

2.3.4 Common Extended Advertising Payload Format
[[Core_v5.4.pdf#page=2704&selection=12,0,12,48|Core_v5.4, page 2,704]]
2.3.4.9 Host Advertising Data
[[Core_v5.4.pdf#page=2711&selection=37,0,37,29|Core_v5.4, page 2,711]]
static esp_ble_adv_params_t adv_params = {
.adv_int_min = 0x20,
.adv_int_max = 0x40,
.adv_type = ADV_TYPE_IND,
.own_addr_type = BLE_ADDR_TYPE_PUBLIC,
.channel_map = ADV_CHNL_ALL,
.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY,
};
.adv_type = ADV_TYPE_IND为蓝牙 4.0 。
广播类型定义
2.3.1 Advertising PDUs
[[Core_v5.4.pdf#page=2691&selection=22,0,22,22|Core_v5.4, page 2,691]]