factory
BLE Factory模块提供BLE射频产线测试相关接口,包括射频长发/长收测试、射频复位、NV校准、单音模式控制以及产线校准命令等功能,支持回调机制通知上层应用操作结果。
头文件清单
接口清单
| 接口名称 | 功能简述 |
|---|---|
| ble_factory_register_callbacks | 注册BLE factory管理回调函数 |
| ble_factory_rf_tx_start | 开启BLE射频长发 |
| ble_factory_rf_tx_v2_start | 开启BLE射频长发v2(支持CTE及功率等级配置) |
| ble_factory_rf_rx_start | 开启BLE射频长收 |
| ble_factory_rf_trx_end | 关闭BLE射频收发 |
| ble_factory_rf_reset | 重置BLE射频收发 |
| ble_factory_rf_cali_nv | 校准BLE射频NV |
| ble_factory_rf_single_tone | 设置BLE射频单音模式 |
| ble_factory_rf_single_tone_v2 | 设置BLE射频单音模式v2(支持信道带宽配置) |
| ble_factory_vendor_productline_cmd | 发送产线校准命令 |
Functions
ble_factory_register_callbacks
头文件清单
功能说明
- 注册BLE factory管理回调函数,包括射频长发、长收、收发结束、复位、NV校准、单音模式、产线校准等事件的回调通知
- 调用此接口后,BLE service在对应操作完成时通过注册的回调函数通知上层
- 回调函数运行于BLE service线程上下文,不可阻塞或长时间等待
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| func | ble_factory_callbacks_t * | 回调函数结构体指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 注册成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_reset
头文件清单
功能说明
- 重置BLE射频收发状态,将射频模块恢复到初始状态
- 复位结果通过ble_factory_rf_reset_callback回调通知
- 用于产线测试中射频模块状态复位
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 复位成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_cali_nv
头文件清单
功能说明
- 校准BLE射频NV(Non-Volatile)数据,触发射频校准流程并将校准结果写入NV存储
- 校准结果通过ble_factory_rf_cali_nv_callback回调通知
- 用于产线射频校准场景
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 校准启动成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_single_tone
头文件清单
功能说明
- 设置BLE射频单音模式,在指定频率上开启或关闭单音载波信号发射
- 操作结果通过ble_factory_rf_single_tone_callback回调通知
- 用于产线射频单音测试场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | ble_rf_single_tone_t * | 单音模式参数指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 单音设置成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_single_tone_v2
头文件清单
功能说明
- 设置BLE射频单音模式v2,在v1基础上增加信道序号和信道带宽配置
- 操作结果通过ble_factory_rf_single_tone_callback回调通知
- 用于产线射频单音测试场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | ble_rf_single_tone_v2_t * | 单音模式v2参数指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 单音v2设置成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_vendor_productline_cmd
头文件清单
功能说明
- 发送产线校准命令,支持频偏校准值设置/读取、EFUSE读写、芯片温度获取、功率校准等操作
- 命令执行结果通过ble_factory_vendor_pdl_cmd_callback回调通知
- 用于产线频偏校准、功率校准及EFUSE读写场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | ble_vendor_productline_cmd_t * | 产线校准命令参数指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 命令发送成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_tx_start
头文件清单
功能说明
- 开启BLE射频长发测试,按照指定频率、数据长度、载荷类型和物理层参数持续发射射频信号
- 发射结果通过ble_factory_rf_tx_start_callback回调通知
- 用于产线射频发射测试场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | ble_rf_tx_start_t * | 射频长发参数指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 长发启动成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_tx_v2_start
头文件清单
功能说明
- 开启BLE射频长发v2测试,在v1基础上增加CTE恒音扩展长度/类型、天线切换序列和功率等级配置
- 发射结果通过ble_factory_rf_tx_start_callback回调通知
- 用于支持AOA/AOD测向及功率调节的产线射频发射测试场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | ble_rf_tx_v2_start_t * | 射频长发v2参数指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 长发v2启动成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_rx_start
头文件清单
功能说明
- 开启BLE射频长收测试,按照指定频率、物理层和调制指数参数持续接收射频信号
- 接收结果通过ble_factory_rf_rx_start_callback回调通知
- 用于产线射频接收测试场景
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| param | ble_rf_rx_start_t * | 射频长收参数指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 长收启动成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
ble_factory_rf_trx_end
头文件清单
功能说明
- 关闭BLE射频收发,停止当前正在进行的射频长发或长收测试
- 收发结束结果通过ble_factory_rf_trx_end_callback回调通知,回调中包含已收发的数据包数
- 用于产线射频测试结束后停止收发
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 收发停止成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
Type definitions
errcode_t
使用说明
作为本模块所有对外接口的返回值类型
ble_factory_rf_tx_start_callback
使用说明
作为ble_factory_callbacks_t成员ble_rf_tx_start_cb的类型,用于射频长发完成回调通知
调用时机:当BLE射频长发测试完成时,由BLE service线程调用此回调通知上层应用长发操作的结果。
ble_factory_rf_rx_start_callback
使用说明
作为ble_factory_callbacks_t成员ble_rf_rx_start_cb的类型,用于射频长收完成回调通知
调用时机:当BLE射频长收测试完成时,由BLE service线程调用此回调通知上层应用长收操作的结果。
ble_factory_rf_trx_end_callback
使用说明
作为ble_factory_callbacks_t成员ble_rf_trx_end_cb的类型,用于射频收发结束回调通知
调用时机:当BLE射频收发结束(调用ble_factory_rf_trx_end后完成停止)时,由BLE service线程调用此回调通知上层应用收发结束状态及已收发的数据包数。
ble_factory_rf_reset_callback
使用说明
作为ble_factory_callbacks_t成员ble_rf_reset_cb的类型,用于射频复位回调通知
调用时机:当BLE射频复位操作完成时,由BLE service线程调用此回调通知上层应用复位操作的结果。
ble_factory_rf_cali_nv_callback
使用说明
作为ble_factory_callbacks_t成员ble_rf_cali_nv_cb的类型,用于射频NV校准回调通知
调用时机:当BLE射频NV校准操作完成时,由BLE service线程调用此回调通知上层应用校准操作的结果。
ble_factory_rf_single_tone_callback
使用说明
作为ble_factory_callbacks_t成员ble_rf_single_tone_cb的类型,用于射频单音模式回调通知
调用时机:当BLE射频单音模式设置操作完成时,由BLE service线程调用此回调通知上层应用单音模式设置的结果。
ble_factory_vendor_pdl_cmd_callback
使用说明
作为ble_factory_callbacks_t成员ble_vendor_pdl_cmd_cb的类型,用于产线校准命令回调通知
调用时机:当BLE产线校准命令执行完成时,由BLE service线程调用此回调通知上层应用命令执行结果,回调参数中包含完整的产线校准完成事件数据。
Associations
(anonymous union at bts_factory.h:209:5)
union {
pdl_xo_trim_t xo_trim;
pdl_efuse_temp_wr_t efuse_wr_temp;
pdl_pwr_cali_set_pwr_t pwr_info;
};
| 成员名称 | 类型 | 描述 | 接口使用逻辑 |
|---|---|---|---|
| xo_trim | pdl_xo_trim_t | 频偏校准值 | ble_factory_vendor_productline_cmd入参载体,sub_opcode为BTH_PRODUCTLINE_XO_TRIM时使用 |
| efuse_wr_temp | pdl_efuse_temp_wr_t | EFUSE写入温度值 | ble_factory_vendor_productline_cmd入参载体,sub_opcode为BTH_PRODUCTLINE_EFUSE_WRITE_TEMPERATURE时使用 |
| pwr_info | pdl_pwr_cali_set_pwr_t | 功率校准实测功率 | ble_factory_vendor_productline_cmd入参载体,sub_opcode为BTH_PRODUCTLINE_PWR_CALI_SET_MEASSURED_PWR时使用 |
(anonymous union at bts_factory.h:256:5)
union {
ble_pdl_rd_xo_trim_t xo_trim_reg_val;
ble_pdl_get_temp_t temp;
ble_pdl_efuse_rd_xo_trim_t xo_trim;
ble_pdl_efuse_rd_tmp_t temp_lvl;
ble_pdl_pwr_cali_get_result_t pwr_result;
ble_pdl_efuse_rd_pwr_result_t efuse_pwr_result;
};
| 成员名称 | 类型 | 描述 | 接口使用逻辑 |
|---|---|---|---|
| xo_trim_reg_val | ble_pdl_rd_xo_trim_t | XO频偏校准寄存器读取值 | ble_factory_vendor_pdl_cmd_callback出参载体,subcode为BTH_PRODUCTLINE_XO_TRIM_RD_VAL时使用 |
| temp | ble_pdl_get_temp_t | 芯片温度 | ble_factory_vendor_pdl_cmd_callback出参载体,subcode为BTH_PRODUCTLINE_GET_TSENSOR_TEMPERATURE时使用 |
| xo_trim | ble_pdl_efuse_rd_xo_trim_t | EFUSE读取的XO频偏校准值 | ble_factory_vendor_pdl_cmd_callback出参载体,subcode为BTH_PRODUCTLINE_EFUSE_READ_XO_TRIM时使用 |
| temp_lvl | ble_pdl_efuse_rd_tmp_t | EFUSE读取的温度等级 | ble_factory_vendor_pdl_cmd_callback出参载体,subcode为BTH_PRODUCTLINE_EFUSE_READ_TEMPERATURE时使用 |
| pwr_result | ble_pdl_pwr_cali_get_result_t | 功率校准结果 | ble_factory_vendor_pdl_cmd_callback出参载体,subcode为BTH_PRODUCTLINE_PWR_CALI_GET_COMP_RESULT时使用 |
| efuse_pwr_result | ble_pdl_efuse_rd_pwr_result_t | EFUSE读取的功率校准结果 | ble_factory_vendor_pdl_cmd_callback出参载体,subcode为BTH_PRODUCTLINE_EFUSE_READ_PWR_COMP时使用 |
Enumerations
ble_rf_phy_t
typedef enum {
BLE_RF_PHY_1M = 0x01, /*!< radio frequency physical: 1M */
BLE_RF_PHY_2M = 0x02, /*!< radio frequency physical: 2M */
BLE_RF_PHY_S8 = 0x03, /*!< radio frequency physical: coded PHY with S=8 data coding */
BLE_RF_PHY_S2 = 0x04, /*!< radio frequency physical: coded PHY with S=2 data coding */
} ble_rf_phy_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BLE_RF_PHY_1M | 0x01 | 射频物理层1M |
| BLE_RF_PHY_2M | 0x02 | 射频物理层2M |
| BLE_RF_PHY_S8 | 0x03 | 射频物理层S=8数据编码的编码PHY |
| BLE_RF_PHY_S2 | 0x04 | 射频物理层S=2数据编码的编码PHY |
ble_rf_payload_type_t
typedef enum {
BLE_RF_PATLOAD_TYPE_0 = 0x00, /*!< radio frequency payload type:PRBS9 */
BLE_RF_PATLOAD_TYPE_1 = 0x01, /*!< radio frequency payload type:11110000 */
BLE_RF_PATLOAD_TYPE_2 = 0x02, /*!< radio frequency payload type:10101010 */
BLE_RF_PATLOAD_TYPE_3 = 0x03, /*!< radio frequency payload type:PRBS15 */
BLE_RF_PATLOAD_TYPE_4 = 0x04, /*!< radio frequency payload type:11111111 */
BLE_RF_PATLOAD_TYPE_5 = 0x05, /*!< radio frequency payload type:00000000 */
BLE_RF_PATLOAD_TYPE_6 = 0x06, /*!< radio frequency payload type:00001111 */
BLE_RF_PATLOAD_TYPE_7 = 0x07, /*!< radio frequency payload type:01010101 */
} ble_rf_payload_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BLE_RF_PATLOAD_TYPE_0 | 0x00 | 射频信息体类型: PRBS9 |
| BLE_RF_PATLOAD_TYPE_1 | 0x01 | 射频信息体类型: 11110000 |
| BLE_RF_PATLOAD_TYPE_2 | 0x02 | 射频信息体类型: 10101010 |
| BLE_RF_PATLOAD_TYPE_3 | 0x03 | 射频信息体类型: PRBS15 |
| BLE_RF_PATLOAD_TYPE_4 | 0x04 | 射频信息体类型: 11111111 |
| BLE_RF_PATLOAD_TYPE_5 | 0x05 | 射频信息体类型: 00000000 |
| BLE_RF_PATLOAD_TYPE_6 | 0x06 | 射频信息体类型: 00001111 |
| BLE_RF_PATLOAD_TYPE_7 | 0x07 | 射频信息体类型: 01010101 |
ble_pdl_sub_opcode_t
typedef enum {
BTH_PRODUCTLINE_XO_TRIM = 0x01, // 设置频偏校准值,寄存器控
BTH_PRODUCTLINE_XO_TRIM_RD_VAL = 0x02, // 读取频偏校准寄存器值
BTH_PRODUCTLINE_GET_TSENSOR_TEMPERATURE = 0x03, // 获取芯片温度
BTH_PRODUCTLINE_EFUSE_WRITE_XO_TRIM = 0x04, // 将频偏校准值写入EFUSE
BTH_PRODUCTLINE_EFUSE_READ_XO_TRIM = 0x05, // 从EFUSE读取频偏校准值
BTH_PRODUCTLINE_EFUSE_WRITE_TEMPERATURE = 0x06, // 将产测时的芯片温度写入EFUSE
BTH_PRODUCTLINE_EFUSE_READ_TEMPERATURE = 0x07, // 从EFUSE读取产测温度
BTH_PRODUCTLINE_PWR_CALI_SET_MEASSURED_PWR = 0x08, // 将实测发送功率发送给驱动
BTH_PRODUCTLINE_PWR_CALI_GET_COMP_RESULT = 0x09, // 获取功率校准结果
BTH_BTH_PRODUCTLINE_PWR_CALI_APPLY_COMP = 0x0A, // 应用功率校准结果
BTH_PRODUCTLINE_EFUSE_WRITE_PWR_COMP = 0x0B, // 将功率校准结果写入EFUSE
BTH_PRODUCTLINE_EFUSE_READ_PWR_COMP = 0x0C, // 从EFUSE读取功率校准结果
} ble_pdl_sub_opcode_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BTH_PRODUCTLINE_XO_TRIM | 0x01 | 设置频偏校准值,寄存器控制 |
| BTH_PRODUCTLINE_XO_TRIM_RD_VAL | 0x02 | 读取频偏校准寄存器值 |
| BTH_PRODUCTLINE_GET_TSENSOR_TEMPERATURE | 0x03 | 获取芯片温度 |
| BTH_PRODUCTLINE_EFUSE_WRITE_XO_TRIM | 0x04 | 将频偏校准值写入EFUSE |
| BTH_PRODUCTLINE_EFUSE_READ_XO_TRIM | 0x05 | 从EFUSE读取频偏校准值 |
| BTH_PRODUCTLINE_EFUSE_WRITE_TEMPERATURE | 0x06 | 将产测时的芯片温度写入EFUSE |
| BTH_PRODUCTLINE_EFUSE_READ_TEMPERATURE | 0x07 | 从EFUSE读取产测温度 |
| BTH_PRODUCTLINE_PWR_CALI_SET_MEASSURED_PWR | 0x08 | 将实测发送功率发送给驱动 |
| BTH_PRODUCTLINE_PWR_CALI_GET_COMP_RESULT | 0x09 | 获取功率校准结果 |
| BTH_BTH_PRODUCTLINE_PWR_CALI_APPLY_COMP | 0x0A | 应用功率校准结果 |
| BTH_PRODUCTLINE_EFUSE_WRITE_PWR_COMP | 0x0B | 将功率校准结果写入EFUSE |
| BTH_PRODUCTLINE_EFUSE_READ_PWR_COMP | 0x0C | 从EFUSE读取功率校准结果 |
errcode_bt_t
typedef enum {
ERRCODE_BT_SUCCESS = 0x00, /*!< error code of success */
ERRCODE_BT_FAIL = ERRCODE_BT_COMMON_BASE, /*!< error code of failure */
ERRCODE_BT_NOT_READY, /*!< error code of not ready */
ERRCODE_BT_MALLOC_FAIL, /*!< error code of memmery not enough */
ERRCODE_BT_MEMCPY_FAIL, /*!< error code of memcpy fail */
ERRCODE_BT_BUSY, /*!< error code of system is busy */
ERRCODE_BT_DONE, /*!< error code of complete */
ERRCODE_BT_UNSUPPORTED, /*!< error code of not support */
ERRCODE_BT_PARAM_ERR, /*!< error code of invalid param */
ERRCODE_BT_STATE_ERR, /*!< error code of state error */
ERRCODE_BT_UNHANDLED, /*!< error code of unhandle */
ERRCODE_BT_AUTH_FAIL, /*!< error code of auth failure */
ERRCODE_BT_RMT_DEV_DOWN, /*!< error code of remote device down */
ERRCODE_BT_AUTH_REJECTED, /*!< error code of auth rejected */
ERRCODE_BT_KEY_MISSING, /*!< error code of key missing */
ERRCODE_BT_OUT_OF_RANGE, /*!< error code of param out of range */
ERRCODE_BT_MAX = ERRCODE_BT_COMMON_END /*!< the max of bt error code */
} errcode_bt_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| ERRCODE_BT_SUCCESS | 0x00 | 执行成功 |
| ERRCODE_BT_FAIL | 0x80006000 | 执行失败 |
| ERRCODE_BT_NOT_READY | 0x80006001 | 状态未就绪 |
| ERRCODE_BT_MALLOC_FAIL | 0x80006002 | 内存不足 |
| ERRCODE_BT_MEMCPY_FAIL | 0x80006003 | 内存拷贝失败 |
| ERRCODE_BT_BUSY | 0x80006004 | 系统繁忙 |
| ERRCODE_BT_DONE | 0x80006005 | 执行完成 |
| ERRCODE_BT_UNSUPPORTED | 0x80006006 | 不支持 |
| ERRCODE_BT_PARAM_ERR | 0x80006007 | 无效参数 |
| ERRCODE_BT_STATE_ERR | 0x80006008 | 状态错误 |
| ERRCODE_BT_UNHANDLED | 0x80006009 | 未处理 |
| ERRCODE_BT_AUTH_FAIL | 0x8000600A | 鉴权失败 |
| ERRCODE_BT_RMT_DEV_DOWN | 0x8000600B | 远端设备关闭 |
| ERRCODE_BT_AUTH_REJECTED | 0x8000600C | 鉴权被拒 |
| ERRCODE_BT_KEY_MISSING | 0x8000600D | 密钥丢失 |
| ERRCODE_BT_OUT_OF_RANGE | 0x8000600E | 参数超出范围 |
| ERRCODE_BT_MAX | 0x800067FF | 蓝牙错误码最大值 |
Structures
ble_rf_tx_start_t
typedef struct {
uint8_t tx_freq; /*!< tx frequency,Scope:0x00~0x27,2402+x*2 */
uint16_t test_data_len; /*!< tx test data len,Scope:0x00~0xFB */
uint8_t payload_type; /*!< palyload type { @ref ble_rf_payload_type_t } */
uint8_t tx_phy; /*!< radio frequency physical { @ref ble_rf_phy_t } */
} ble_rf_tx_start_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| tx_freq | uint8_t | 发送频率,范围0x00~0x27,实际频率为2402+x*2 MHz |
| test_data_len | uint16_t | 发射测试数据长度,取值范围0x25~0xFB |
| payload_type | uint8_t | 发射测试数据包类型,参考ble_rf_payload_type_t |
| tx_phy | uint8_t | 射频物理层,参考ble_rf_phy_t |
ble_rf_tx_v2_start_t
typedef struct {
uint8_t freq_idx; /*!< tx frequency,Scope:0x00~0x27,2402+x*2 */
uint8_t test_data_len; /*!< tx test data len,Scope:0x00~0xFF */
uint8_t payload_type; /*!< palyload type { @ref ble_rf_payload_type_t } */
uint8_t phy; /*!< radio frequency physical { @ref ble_rf_phy_t } */
uint8_t cte_len; /*!< AOA/AOD CTE LEN */
uint8_t cte_type; /*!< CTE TYPE, 0: AOA, 1: 1us AOD, 2: 2us AOD */
uint8_t switch_pattern_len; /*!< switch pattern len */
uint8_t ant_ids[MAX_SWITCH_PATTERN_LENGTH];
/*!< Antenna switching sequence */
int8_t power_level; /*!< power level,Scope:-127~20, 0x7E, 0x7F */
} ble_rf_tx_v2_start_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| freq_idx | uint8_t | 发送频率索引,范围0x00~0x27,实际频率为2402+x*2 MHz |
| test_data_len | uint8_t | 发射测试数据长度,取值范围0x00~0xFF |
| payload_type | uint8_t | 发射测试数据包类型,参考ble_rf_payload_type_t |
| phy | uint8_t | 射频物理层,参考ble_rf_phy_t |
| cte_len | uint8_t | AOA/AOD恒音扩展长度 |
| cte_type | uint8_t | CTE类型,0:AOA恒音扩展,1:天线切换时隙1us的AOD恒音扩展,2:天线切换时隙2us的AOD恒音扩展 |
| switch_pattern_len | uint8_t | 天线切换序列长度 |
| ant_ids | uint8_t[10] | 天线切换序列 |
| power_level | int8_t | 功率水平,取值范围-127~20,0x7E,0x7F |
ble_rf_rx_start_t
typedef struct {
uint8_t rx_freq; /*!< rx frequency,Scope:0x00~0x27,2402+x*2 */
uint8_t rx_phy; /*!< radio frequency physical { @ref ble_rf_phy_t } */
uint8_t modulation_index; /*!< modulation index,0:standard,1:stable */
} ble_rf_rx_start_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| rx_freq | uint8_t | 接收频率,范围0x00~0x27,实际频率为2402+x*2 MHz |
| rx_phy | uint8_t | 射频物理层,参考ble_rf_phy_t |
| modulation_index | uint8_t | 调制指数,0:标准,1:稳定 |
ble_rf_single_tone_t
typedef struct {
uint8_t rf_freq; /*!< frequency,Scope:0x00~0x4E,2402+x*2 */
uint8_t rf_mode; /*!< single tone mode,00:start,FF:stop */
} ble_rf_single_tone_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| rf_freq | uint8_t | 频率,范围0x00~0x4E,实际频率为2402+x*2 MHz |
| rf_mode | uint8_t | 单音模式,0x00:开启,0xFF:关闭 |
ble_rf_single_tone_v2_t
typedef struct {
uint32_t rf_freq; /*!< frequency,Scope:0x00~0x4E,2402+x*2 */
uint8_t rf_channel; /*!< channel id */
uint8_t rf_mode; /*!< single tone mode,0:disable,1:enable */
uint8_t rf_band; /*!< channel band width */
uint32_t reserve; /*!< reserve */
} ble_rf_single_tone_v2_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| rf_freq | uint32_t | 频率,范围0x00~0x4E,实际频率为2402+x*2 MHz |
| rf_channel | uint8_t | 信道序号 |
| rf_mode | uint8_t | 单音模式,0:关闭,1:开启 |
| rf_band | uint8_t | 信道带宽 |
| reserve | uint32_t | 预留字段 |
pdl_xo_trim_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| coarse_val | uint8_t | 频偏校准粗调值 |
| fine_val | uint8_t | 频偏校准细调值 |
pdl_efuse_temp_wr_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| temp | int16_t | 写入EFUSE的温度值 |
pdl_pwr_cali_set_pwr_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| target_pwr | int16_t | 目标功率 |
| pwr | int16_t | 实测功率 |
ble_vendor_productline_cmd_t
typedef struct {
uint8_t sub_opcode; // subcode
union {
pdl_xo_trim_t xo_trim;
pdl_efuse_temp_wr_t efuse_wr_temp;
pdl_pwr_cali_set_pwr_t pwr_info;
};
} ble_vendor_productline_cmd_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| sub_opcode | uint8_t | 产线校准子命令码,参考ble_pdl_sub_opcode_t |
| xo_trim | pdl_xo_trim_t | 频偏校准值,sub_opcode为BTH_PRODUCTLINE_XO_TRIM时使用 |
| efuse_wr_temp | pdl_efuse_temp_wr_t | EFUSE写入温度,sub_opcode为BTH_PRODUCTLINE_EFUSE_WRITE_TEMPERATURE时使用 |
| pwr_info | pdl_pwr_cali_set_pwr_t | 功率校准信息,sub_opcode为BTH_PRODUCTLINE_PWR_CALI_SET_MEASSURED_PWR时使用 |
ble_pdl_rd_xo_trim_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| sel | uint8_t | 选择寄存器 |
| coarse_val | uint8_t | 频偏校准粗调值 |
| fine_val | uint8_t | 频偏校准细调值 |
ble_pdl_get_temp_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| temp | int16_t | 芯片温度值 |
ble_pdl_efuse_rd_xo_trim_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| coarse_val | uint8_t | EFUSE读取的频偏校准粗调值 |
| fine_val | uint8_t | EFUSE读取的频偏校准细调值 |
ble_pdl_efuse_rd_tmp_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| temp_lvl | uint8_t | EFUSE读取的温度等级 |
ble_pdl_pwr_cali_get_result_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| curve_c_offset | int16_t | 功率校准曲线C偏移量 |
ble_pdl_efuse_rd_pwr_result_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| curve_c_offset | int16_t | EFUSE读取的功率校准曲线C偏移量 |
ble_hci_vendor_productline_complete_t
#pragma pack(1)
typedef struct {
uint8_t nb;
uint16_t opcode;
uint8_t status;
uint8_t subcode;
union {
ble_pdl_rd_xo_trim_t xo_trim_reg_val;
ble_pdl_get_temp_t temp;
ble_pdl_efuse_rd_xo_trim_t xo_trim;
ble_pdl_efuse_rd_tmp_t temp_lvl;
ble_pdl_pwr_cali_get_result_t pwr_result;
ble_pdl_efuse_rd_pwr_result_t efuse_pwr_result;
};
} ble_hci_vendor_productline_complete_t;
#pragma pack()
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| nb | uint8_t | 参数数量 |
| opcode | uint16_t | 命令操作码 |
| status | uint8_t | 执行状态 |
| subcode | uint8_t | 子命令码,参考ble_pdl_sub_opcode_t |
| xo_trim_reg_val | ble_pdl_rd_xo_trim_t | XO频偏校准寄存器读取值,subcode为BTH_PRODUCTLINE_XO_TRIM_RD_VAL时使用 |
| temp | ble_pdl_get_temp_t | 芯片温度,subcode为BTH_PRODUCTLINE_GET_TSENSOR_TEMPERATURE时使用 |
| xo_trim | ble_pdl_efuse_rd_xo_trim_t | EFUSE读取的XO频偏校准值,subcode为BTH_PRODUCTLINE_EFUSE_READ_XO_TRIM时使用 |
| temp_lvl | ble_pdl_efuse_rd_tmp_t | EFUSE读取的温度等级,subcode为BTH_PRODUCTLINE_EFUSE_READ_TEMPERATURE时使用 |
| pwr_result | ble_pdl_pwr_cali_get_result_t | 功率校准结果,subcode为BTH_PRODUCTLINE_PWR_CALI_GET_COMP_RESULT时使用 |
| efuse_pwr_result | ble_pdl_efuse_rd_pwr_result_t | EFUSE读取的功率校准结果,subcode为BTH_PRODUCTLINE_EFUSE_READ_PWR_COMP时使用 |
ble_factory_callbacks_t
typedef struct {
ble_factory_rf_tx_start_callback ble_rf_tx_start_cb; /*!< radio frequency tx start callback. */
ble_factory_rf_rx_start_callback ble_rf_rx_start_cb; /*!< radio frequency rx start callback. */
ble_factory_rf_trx_end_callback ble_rf_trx_end_cb; /*!< radio frequency tx and rx end callback. */
ble_factory_rf_reset_callback ble_rf_reset_cb; /*!< radio frequency tx and rx reset callback. */
ble_factory_rf_cali_nv_callback ble_rf_cali_nv_cb; /*!< radio frequency cali nv callback. */
ble_factory_rf_single_tone_callback ble_rf_single_tone_cb; /*!< radio frequency single tone mode callback. */
ble_factory_vendor_pdl_cmd_callback ble_vendor_pdl_cmd_cb; /*!< productline calibration vendor cmd callback. */
} ble_factory_callbacks_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| ble_rf_tx_start_cb | ble_factory_rf_tx_start_callback | 射频长发回调函数 |
| ble_rf_rx_start_cb | ble_factory_rf_rx_start_callback | 射频长收回调函数 |
| ble_rf_trx_end_cb | ble_factory_rf_trx_end_callback | 射频收发结束回调函数 |
| ble_rf_reset_cb | ble_factory_rf_reset_callback | 射频收发复位回调 |
| ble_rf_cali_nv_cb | ble_factory_rf_cali_nv_callback | 校准射频NV回调 |
| ble_rf_single_tone_cb | ble_factory_rf_single_tone_callback | 设置射频单音模式回调 |
| ble_vendor_pdl_cmd_cb | ble_factory_vendor_pdl_cmd_callback | 产线校准命令回调 |