226 lines
6.4 KiB
C
226 lines
6.4 KiB
C
/*********************************************************************************************
|
||
* Filename : btcontroller_modules.h
|
||
|
||
* Description : Lto 优化Macro 定义
|
||
|
||
* Author : Bingquan
|
||
|
||
* Email : bingquan_cai@zh-jieli.com
|
||
|
||
* Last modifiled : 2018-12-19 16:38
|
||
|
||
* Copyright:(c)JIELI 2011-2017 @ , All Rights Reserved.
|
||
*********************************************************************************************/
|
||
#ifndef _BTCONTROLLER_H_
|
||
#define _BTCONTROLLER_H_
|
||
|
||
#include "hci_transport.h"
|
||
#include "btcontroller_mode.h"
|
||
|
||
#include "ble/hci_ll.h"
|
||
|
||
#include "classic/hci_lmp.h"
|
||
|
||
|
||
/* app 层修改蓝牙版本,可在BT_STATUS_INIT_OK case
|
||
调用 set_bt_version 函数更改蓝牙版本号
|
||
*/
|
||
#define BLUETOOTH_CORE_SPEC_42 0x08
|
||
#define BLUETOOTH_CORE_SPEC_50 0x09
|
||
#define BLUETOOTH_CORE_SPEC_51 0x0a
|
||
#define BLUETOOTH_CORE_SPEC_52 0x0b
|
||
extern void set_bt_version(u8 version);
|
||
|
||
|
||
/*
|
||
*-------------------Module SUPPORT
|
||
* brief : 运行时优化(LTO)下,代码空间优化;
|
||
*/
|
||
#define BT_MODULE_CLASSIC BIT(0)
|
||
#define BT_MODULE_LE BIT(1)
|
||
|
||
extern const int config_btctler_modules;
|
||
#define BT_MODULES_IS_SUPPORT(x) (config_btctler_modules & (x))
|
||
/*-----------------------------------------------------------*/
|
||
extern const int config_stack_modules;
|
||
#define STACK_MODULES_IS_SUPPORT(x) (config_stack_modules & (x))
|
||
|
||
/*
|
||
*-------------------Mode SELECT
|
||
* brief : 运行时优化(LTO)下,代码空间优化;
|
||
*/
|
||
extern const int config_btctler_mode;
|
||
#define BT_MODE_IS(x) (config_btctler_mode & (x))
|
||
|
||
/*-----------------------------------------------------------*/
|
||
|
||
extern const int config_btctler_hci_standard;
|
||
#define BT_HCI_STANDARD_IS_SUPPORT(x) (config_btctler_hci_standard)
|
||
|
||
|
||
extern const int config_bt_function ;
|
||
#define BT_ENCTRY_TASK BIT(0)
|
||
#define BT_MASTER_AFH BIT(1)
|
||
#define BT_MASTER_QOS BIT(2)
|
||
|
||
|
||
#define BT_FUNCTION_IS(x) (config_bt_function & (x))
|
||
|
||
|
||
extern const int CONFIG_TEST_DUT_CODE;
|
||
extern const int CONFIG_TEST_FCC_CODE;
|
||
extern const int CONFIG_TEST_DUT_ONLY_BOX_CODE;
|
||
extern const int CONFIG_BREDR_INQUIRY;
|
||
|
||
extern const int CONFIG_INQUIRY_PAGE_OFFSET_ADJUST ;
|
||
|
||
extern const int CONFIG_LMP_NAME_REQ_ENABLE ;
|
||
extern const int CONFIG_LMP_PASSKEY_ENABLE ;
|
||
extern const int CONFIG_LMP_MASTER_ESCO_ENABLE ;
|
||
extern const int config_btctler_bredr_master ;
|
||
extern const int config_bredr_afh_user ;
|
||
extern const int config_bredr_master_afh ;
|
||
extern const int CONFIG_ESCO_MUX_RX_BULK_ENABLE ;
|
||
extern const int config_bt_temperature_pll_trim ;
|
||
extern const int CONFIG_WIFI_DETECT_ENABLE;
|
||
/********************************************************************************/
|
||
/*
|
||
* API
|
||
*
|
||
*/
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief rf_set_24g_hackable_coded
|
||
*
|
||
* @param coded 2.4G 配对码
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void rf_set_24g_hackable_coded(int coded);
|
||
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bt_pll_para
|
||
*
|
||
* @param osc
|
||
* @param sys
|
||
* @param low_power
|
||
* @param xosc
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void bt_pll_para(u32 osc, u32 sys, u8 low_power, u8 xosc);
|
||
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bt_production_test
|
||
*
|
||
* @param en
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void bt_production_test(u8 en);
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bt_set_rxtx_status_enable
|
||
*
|
||
* @param en
|
||
*
|
||
*
|
||
|
||
TX RX
|
||
AI800x PA13 PA12
|
||
AC692x PA13 PA12
|
||
AC693x PA8 PA9
|
||
AC695x PA9 PA10
|
||
AC696x PA9 PA10
|
||
AC694x PB1 PB2
|
||
AC697x PC2 PC3
|
||
AC631x PA7 PA8
|
||
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void bt_set_rxtx_status_enable(u8 en);
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bt_osc_offset_ext_save
|
||
*
|
||
* @param offset
|
||
*
|
||
* 更新并且保存频偏
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void bt_osc_offset_ext_save(s32 offset);
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bt_osc_offset_ext_updata
|
||
*
|
||
* @param offset
|
||
*
|
||
* 更新频偏
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void bt_osc_offset_ext_updata(s32 offset);
|
||
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bt_set_ldos
|
||
*
|
||
* @param mode
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void bt_set_ldos(u8 mode);
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief ble_set_fix_pwr
|
||
*
|
||
* @param fix (0~max)
|
||
* 动态调整BLE的发射功率
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void ble_set_fix_pwr(u8 fix);
|
||
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bredr_set_fix_pwr
|
||
*
|
||
* @param fix (0~max)
|
||
* 动态调整EDR的发射功率
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
void bredr_set_fix_pwr(u8 fix);
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief ble_rf_vendor_fixed_channel
|
||
*
|
||
* @param channel_index: range 0~39 fixed freq, or 0xff --close fixed
|
||
* @param pktcnt: range 1~3
|
||
* 配置ble 的 adv、scan、init 状态定频
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
bool ble_rf_vendor_fixed_channel(u8 channel_index, u8 pktcnt);
|
||
|
||
/* --------------------------------------------------------------------------*/
|
||
/**
|
||
* @brief bredr_get_rssi_for_address
|
||
* 获取已连接设备的rssi
|
||
*
|
||
* @param address 对方mac地址
|
||
* @return rssi 值,range(-127 ~ +127)
|
||
*/
|
||
/* ----------------------------------------------------------------------------*/
|
||
s8 bredr_get_rssi_for_address(u8 *address);
|
||
|
||
|
||
void set_bt_afh_classs_enc(u8 afh_class);
|
||
void set_bt_enhanced_power_control(u8 en);
|
||
|
||
#endif
|