2.fix some files to fix compile warning 3.remove blueteeth header files, which are not used in nuttx core. 4.fix configs and add lost files 5.update defconfig, remove useless items 6.fix compile warning for nuttx phyplus 7.delete useless: ble, h4, zblue defconfig files form phyplus configure folder 8.fix file format check error on phyplus source code 9.fix phyplus kconfig param error 10.update configure file for nuttx
628 lines
23 KiB
C
628 lines
23 KiB
C
/****************************************************************************
|
|
* arch/arm/src/phy62xx/jump_function.h
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership. The
|
|
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
****************************************************************************/
|
|
|
|
/****************************************************************************
|
|
*
|
|
* @file jump_fucntion.h
|
|
*
|
|
* @brief This file contains the definitions of the macros and functions
|
|
* that are architecture dependent. The implementation of those is
|
|
* implemented in the appropriate architecture directory.
|
|
*
|
|
* $Rev: $
|
|
*
|
|
****************************************************************************/
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
#ifndef _JUMP_FUNC_H_
|
|
#define _JUMP_FUNC_H_
|
|
#include <stdint.h>
|
|
#include "types.h"
|
|
|
|
#if(EXTERN_BLE_FUNC == 0)
|
|
#include "ble_controller.h"
|
|
#else
|
|
#include "ll_def.h"
|
|
#include "ll_sleep.h"
|
|
#include "hci.h"
|
|
#include "l2cap.h"
|
|
#endif
|
|
|
|
/* ===================== MACROS ======================= */
|
|
|
|
#define JUMP_BASE_ADDR 0x1fff0000
|
|
#define JUMP_FUNCTION(x) (*(uint32 *)(JUMP_BASE_ADDR + ((x) << (2))))
|
|
|
|
/* ROM function entries */
|
|
|
|
/* 0 - 10 for common */
|
|
#define OSAL_INIT_TASKS 1
|
|
#define TASKS_ARRAY 2
|
|
#define TASK_COUNT 3
|
|
#define TASK_EVENTS 4
|
|
#define OSAL_MEM_INIT 5
|
|
|
|
#define LL_INIT 11
|
|
#define LL_PROCESS_EVENT 12
|
|
#define LL_RESET 13
|
|
#define LL_TXDATA 14
|
|
#define LL_DISCONNECT 15
|
|
#define LL_SET_ADV_PARAM 16
|
|
#define LL_SET_ADV_DATA 17
|
|
#define LL_SET_ADV_CONTROL 18
|
|
#define LL_SET_DEFAULT_CONN_PARAM 19
|
|
#define LL_EXT_SET_TX_POWER 20
|
|
#define LL_CLEAR_WHITE_LIST 21
|
|
#define LL_ADD_WHITE_LIST_DEV 22
|
|
#define LL_REMOVE_WHITE_LIST_DEV 23
|
|
#define LL_READ_WHITE_LIST_SIZE 24
|
|
#define LL_NUM_EMPTY_WL_ENTRIES 25
|
|
#define LL_SLAVE_EVT_ENDOK 26
|
|
#define LL_SETUP_NEXT_SLAVE_EVT 27
|
|
#define LL_CHK_LSTO_DURING_SL 28
|
|
#define LL_PROCESS_SLAVE_CTRL_PROC 29
|
|
#define LL_PROCESS_SLAVE_CTRL_PKT 30
|
|
#define LL_SLAVE_EVT_ABORT 31
|
|
#define LL_PROCESS_RX_DATA 32
|
|
#define LL_PROCESS_TX_DATA 33
|
|
#define LL_CONN_TERMINATE 34
|
|
#define LL_WRITE_TX_DATA 35
|
|
#define LL_EVT_SCHEDULE 36
|
|
#define LL_MOVE_TO_SLAVE_FUNCTION 37
|
|
#define LL_SLAVE_CONN_EVENT 38
|
|
#define LL_SETUP_ADV 39
|
|
#define LL_SETUP_UNDIRECT_ADV 40
|
|
#define LL_SETUP_NOCONN_ADV 41
|
|
#define LL_SETUP_SCAN_ADV 42
|
|
#define LL_SETUP_DIRECT_ADV 43
|
|
#define LL_CALC_TIMER_DRIFT 44
|
|
#define LL_GENERATE_TX_BUFFER 45
|
|
#define LL_READ_RX_FIFO 46
|
|
#define LL_READ_TX_FIFO_RTLP 47
|
|
#define LL_READ_TX_FIFO_PKT 48
|
|
#define LL_HW_PROCESS_RTO 49
|
|
#define LL_HW_SET_TIMING 50
|
|
#define LL_RELEASE_CONN_ID 51
|
|
#define LL_READ_TX_PWR_LVL 52 /* A1 ROM metal change add */
|
|
#define LL_READ_ADV_TX_PWR_LVL 53 /* A1 ROM metal change add */
|
|
#define LL_READ_RSSI 54 /* A1 ROM metal change add */
|
|
#define LL_READ_REMOTE_USE_FEATURES 55 /* A1 ROM metal change add */
|
|
#define LL_ENCRYPT 56 /* A1 ROM metal change add */
|
|
#define LL_DIRECT_TEST_END 57 /* A1 ROM metal change add */
|
|
#define LL_DIRECT_TEST_TX_TEST 58 /* A1 ROM metal change add */
|
|
#define LL_DIRECT_TEST_RX_TEST 59 /* A1 ROM metal change add */
|
|
#define OSAL_POWER_CONSERVE 60
|
|
#define ENTER_SLEEP_PROCESS 61
|
|
#define WAKEUP_PROCESS 62
|
|
#define CONFIG_RTC 63
|
|
#define ENTER_SLEEP_OFF_MODE 64 /* A1 ROM metal change add */
|
|
|
|
#define HAL_PROCESS_POLL 65 /* A1 ROM metal change add */
|
|
#define LL_HW_GO 66 /* A1 ROM metal change add */
|
|
#define LL_HW_TRIGGER 67 /* A1 ROM metal change add */
|
|
#define LL_SET_TX_PWR_LVL 68 /* A1 ROM metal change add */
|
|
|
|
/* LL AES */
|
|
|
|
#define LL_AES128_ENCRYPT 70 /* A1 ROM metal change add */
|
|
#define LL_GEN_TRUE_RANDOM 71 /* A1 ROM metal change add */
|
|
#define LL_GEN_DEVICE_SKD 72 /* A1 ROM metal change add */
|
|
#define LL_GEN_DEVICE_IV 73 /* A1 ROM metal change add */
|
|
#define LL_GENERATE_NOUNCE 74 /* A1 ROM metal change add */
|
|
#define LL_ENC_ENCRYPT 75 /* A1 ROM metal change add */
|
|
#define LL_ENC_DECRYPT 76 /* A1 ROM metal change add */
|
|
|
|
/* host entries */
|
|
|
|
#define SMP_INIT 80
|
|
#define SMP_PROCESS_EVENT 81
|
|
|
|
/* l2cap entries */
|
|
|
|
#define L2CAP_PARSE_PACKET 82
|
|
#define L2CAP_ENCAP_PACKET 83
|
|
#define L2CAP_PKT_TO_SEGBUFF 84
|
|
#define L2CAP_SEGBUFF_TO_LINKLAYER 85
|
|
#define L2CAP_PROCESS_FREGMENT_TX_DATA 86
|
|
|
|
/* gap linkmgr entries */
|
|
|
|
#define GAP_LINK_MGR_PROCESS_CONNECT_EVT 87
|
|
#define GAP_LINK_MGR_PROCESS_DISCONNECT_EVT 88
|
|
|
|
/* hci tl */
|
|
|
|
#define HCI_INIT 90 /* A1 ROM metal change add */
|
|
#define HCI_PROCESS_EVENT 91 /* A1 ROM metal change add */
|
|
|
|
/* app entries */
|
|
|
|
#define APP_SLEEP_PROCESS 100
|
|
#define APP_WAKEUP_PROCESS 101
|
|
#define RF_INIT 102
|
|
#define WAKEUP_INIT 103
|
|
#define BOOT_INIT 104
|
|
#define DEBUG_PRINT 105
|
|
#define RF_CALIBRATTE 106 /* A1 ROM metal change add */
|
|
#define RF_PHY_CHANGE 107 /* A1 ROM metal change add */
|
|
|
|
/* LL master, A2 ROM metal change add */
|
|
|
|
#define LL_MASTER_EVT_ENDOK 110
|
|
#define LL_SETUP_NEXT_MASTER_EVT 111
|
|
#define LL_PROCESS_MASTER_CTRL_PROC 112
|
|
#define LL_PROCESS_MASTER_CTRL_PKT 113
|
|
#define LL_MOVE_TO_MASTER_FUNCTION 114
|
|
#define LL_MASTER_CONN_EVENT 115
|
|
#define LL_SET_SCAN_CTRL 116
|
|
#define LL_SET_SCAN_PARAM 117
|
|
#define LL_CREATE_CONN 118
|
|
#define LL_CREATE_CONN_CANCEL 119
|
|
#define LL_START_ENCRYPT 120
|
|
#define LL_SETUP_SCAN 121
|
|
#define LL_SETUP_SEC_NOCONN_ADV 122
|
|
#define LL_SETUP_SEC_SCAN 123
|
|
#define LL_SEC_ADV_ALLOW 124
|
|
#define LL_CALC_MAX_SCAN_TIME 125
|
|
|
|
/* A2 multi-connection */
|
|
|
|
#define LL_SETUP_SEC_ADV_ENTRY 126
|
|
#define LL_SETUP_SEC_CONN_ADV 127
|
|
#define LL_SETUP_SEC_SCANNABLE_ADV 128
|
|
|
|
/* DLE */
|
|
|
|
#define LL_SET_DATA_LENGTH 130
|
|
#define LL_PDU_LENGTH_UPDATE 131
|
|
#define LL_TRX_NUM_ADJUST 132
|
|
|
|
/* PHY UPDATE */
|
|
|
|
#define LL_SET_PHY_MODE 133
|
|
#define LL_PHY_MODE_UPDATE 134
|
|
#define LL_SET_NEXT_PHY_MODE 135
|
|
#define LL_ADP_ADJ_NEXT_TIME 136
|
|
#define LL_ADP_SMART_WINDOW 137
|
|
#define LL_SET_NEXT_DATA_CHN 138
|
|
#define LL_PLUS_DISABLE_LATENCY 139
|
|
#define LL_PLUS_ENABLE_LATENCY 140
|
|
#define LL_SETUP_EXT_ADV_EVENT 141
|
|
#define LL_SETUP_PRD_ADV_EVENT 142
|
|
#define LL_SETUP_ADV_EXT_IND_PDU 143
|
|
#define LL_SETUP_AUX_ADV_IND_PDU 144
|
|
#define LL_SETUP_AUX_SYNC_IND_PDU 145
|
|
#define LL_SETUP_AUX_CHAIN_IND_PDU 146
|
|
#define LL_SETUP_AUX_CONN_REQ_PDU 147
|
|
#define LL_SETUP_AUX_CONN_RSP_PDU 148
|
|
#define LL_SCHEDULER 149
|
|
#define LL_ADD_TASK 150
|
|
#define LL_DEL_TASK 151
|
|
#define LL_ADV_SCHEDULER 152
|
|
#define LL_ADV_ADD_TASK 153
|
|
#define LL_ADV_DEL_TASK 154
|
|
#define LL_ADV_SCHEDULER_PRD 155
|
|
#define LL_ADV_ADD_TASK_PRD 156
|
|
#define LL_ADV_DEL_TASK_PRD 157
|
|
#define LL_GET_NEXT_AUX_CHN 158
|
|
#define LL_SETUP_AUX_SCAN_RSP_PDU 159
|
|
#define LL_PROCESSBASICIRQ_SRX 160
|
|
#define LL_PROCESSBASICIRQ_SECADVTRX 161
|
|
#define LL_PROCESSBASICIRQ_SCANTRX 162
|
|
|
|
/* 2020-02-13 Add for CTE */
|
|
|
|
#define LL_CONNLESS_CTE_TX_PARAM 203
|
|
#define LL_CONNLESS_CTE_TX_ENABLE 204
|
|
#define LL_CONNLESS_IQ_SAMPLE_ENABLE 205
|
|
#define LL_CONN_CTE_RECV_PARAM 206
|
|
#define LL_CONN_CTE_REQ_EN 207
|
|
#define LL_CONN_CTE_TX_PARAM 208
|
|
#define LL_CONN_CTE_RSP_EN 209
|
|
|
|
/* OSAL */
|
|
|
|
#define OSAL_SET_EVENT 210
|
|
#define OSAL_MSG_SEND 211
|
|
#define HAL_DRV_IRQ_INIT 212
|
|
#define HAL_DRV_IRQ_ENABLE 213
|
|
#define HAL_DRV_IRQ_DISABLE 214
|
|
|
|
/* interrupt request handler */
|
|
|
|
#define NMI_HANDLER 219
|
|
#define HARDFAULT_HANDLER 220
|
|
#define SVC_HANDLER 221
|
|
#define PENDSV_HANDLER 222
|
|
#define SYSTICK_HANDLER 223
|
|
|
|
#define V0_IRQ_HANDLER 224
|
|
#define V1_IRQ_HANDLER 225
|
|
#define V2_IRQ_HANDLER 226
|
|
#define V3_IRQ_HANDLER 227
|
|
#define V4_IRQ_HANDLER 228
|
|
#define V5_IRQ_HANDLER 229
|
|
#define V6_IRQ_HANDLER 230
|
|
#define V7_IRQ_HANDLER 231
|
|
#define V8_IRQ_HANDLER 232
|
|
#define V9_IRQ_HANDLER 233
|
|
#define V10_IRQ_HANDLER 234
|
|
#define V11_IRQ_HANDLER 235
|
|
#define V12_IRQ_HANDLER 236
|
|
#define V13_IRQ_HANDLER 237
|
|
#define V14_IRQ_HANDLER 238
|
|
#define V15_IRQ_HANDLER 239
|
|
#define V16_IRQ_HANDLER 240
|
|
#define V17_IRQ_HANDLER 241
|
|
#define V18_IRQ_HANDLER 242
|
|
#define V19_IRQ_HANDLER 243
|
|
#define V20_IRQ_HANDLER 244
|
|
#define V21_IRQ_HANDLER 245
|
|
#define V22_IRQ_HANDLER 246
|
|
#define V23_IRQ_HANDLER 247
|
|
#define V24_IRQ_HANDLER 248
|
|
#define V25_IRQ_HANDLER 249
|
|
#define V26_IRQ_HANDLER 250
|
|
#define V27_IRQ_HANDLER 251
|
|
#define V28_IRQ_HANDLER 252
|
|
#define V29_IRQ_HANDLER 253
|
|
#define V30_IRQ_HANDLER 254
|
|
#define V31_IRQ_HANDLER 255
|
|
|
|
/* ================== FUNCTIONS ================================== */
|
|
|
|
void move_to_slave_function0(void);
|
|
void LL_slave_conn_event0(void);
|
|
llStatus_t llSetupAdv0(void);
|
|
void llSetupUndirectedAdvEvt0(void);
|
|
void llSetupNonConnectableAdvEvt0(void);
|
|
void llSetupScannableAdvEvt0(void);
|
|
void llSetupDirectedAdvEvt0(void);
|
|
void LL_evt_schedule0(void);
|
|
|
|
void llCalcTimerDrift0(uint32 connInterval,
|
|
uint16 slaveLatency,
|
|
uint8 sleepClkAccuracy,
|
|
uint32 *timerDrift);
|
|
|
|
uint16 ll_generateTxBuffer0(int txFifo_vacancy,
|
|
uint16 *pSave_ptr);
|
|
|
|
void ll_hw_read_tfifo_rtlp0(void);
|
|
|
|
void ll_read_rxfifo0(void);
|
|
|
|
int ll_hw_read_tfifo_packet0(uint8 *pkt);
|
|
|
|
void ll_hw_process_RTO0(uint32 ack_num);
|
|
|
|
void LL_set_default_conn_params0(llConnState_t *connPtr);
|
|
|
|
void enterSleepProcess0(uint32 time);
|
|
|
|
void wakeupProcess0(void);
|
|
|
|
void config_RTC0(uint32 time);
|
|
|
|
void enter_sleep_off_mode0(Sleep_Mode mode);
|
|
|
|
void llSlaveEvt_TaskEndOk0(void);
|
|
|
|
uint8 llSetupNextSlaveEvent0(void);
|
|
|
|
uint8 llCheckForLstoDuringSL0(llConnState_t *connPtr);
|
|
|
|
uint8 llProcessSlaveControlProcedures0(llConnState_t *connPtr);
|
|
|
|
void llProcessSlaveControlPacket0(llConnState_t *connPtr,
|
|
uint8 *pBuf);
|
|
|
|
void llSlaveEvt_TaskAbort0(void);
|
|
|
|
void llMasterEvt_TaskEndOk0(void);
|
|
void llProcessMasterControlPacket0(llConnState_t *connPtr,
|
|
uint8 *pBuf);
|
|
uint8 llProcessMasterControlProcedures0(llConnState_t *connPtr);
|
|
uint8 llSetupNextMasterEvent0(void);
|
|
|
|
void move_to_master_function0(void);
|
|
void LL_master_conn_event0(void);
|
|
|
|
llStatus_t LL_SetScanControl0(uint8 scanMode,
|
|
uint8 filterReports);
|
|
llStatus_t LL_SetScanParam0(uint8 scanType,
|
|
uint16 scanInterval,
|
|
uint16 scanWindow,
|
|
uint8 ownAddrType,
|
|
uint8 scanWlPolicy);
|
|
|
|
llStatus_t LL_CreateConn0(uint16 scanInterval,
|
|
uint16 scanWindow,
|
|
uint8 initWlPolicy,
|
|
uint8 peerAddrType,
|
|
uint8 *peerAddr,
|
|
uint8 ownAddrType,
|
|
uint16 connIntervalMin,
|
|
uint16 connIntervalMax,
|
|
uint16 connLatency,
|
|
uint16 connTimeout,
|
|
uint16 minLength,
|
|
uint16 maxLength);
|
|
llStatus_t LL_CreateConnCancel0(void);
|
|
|
|
llStatus_t LL_StartEncrypt0(uint16 connId,
|
|
uint8 *rand,
|
|
uint8 *eDiv,
|
|
uint8 *ltk);
|
|
|
|
void llSetupScan0(uint8 chan);
|
|
|
|
/* ================== ll.c */
|
|
|
|
void LL_Init0(uint8 taskId);
|
|
uint16 LL_ProcessEvent0(uint8 task_id, uint16 events);
|
|
llStatus_t LL_Reset0(void);
|
|
llStatus_t LL_TxData0(uint16 connId, uint8 *pBuf,
|
|
uint8 pktLen, uint8 fragFlag);
|
|
llStatus_t LL_Disconnect0(uint16 connId, uint8 reason);
|
|
llStatus_t LL_SetAdvParam0(uint16 advIntervalMin,
|
|
uint16 advIntervalMax,
|
|
uint8 advEvtType,
|
|
uint8 ownAddrType,
|
|
uint8 directAddrType,
|
|
uint8 *directAddr,
|
|
uint8 advChanMap,
|
|
uint8 advWlPolicy);
|
|
llStatus_t LL_SetAdvData0(uint8 advDataLen, uint8 *advData);
|
|
llStatus_t LL_SetAdvControl0(uint8 advMode);
|
|
|
|
llStatus_t LL_EXT_SetTxPower0(uint8 txPower, uint8 *cmdComplete);
|
|
|
|
llStatus_t LL_ClearWhiteList0(void);
|
|
llStatus_t LL_AddWhiteListDevice0(uint8 *devAddr, uint8 addrType);
|
|
llStatus_t LL_RemoveWhiteListDevice0(uint8 *devAddr, uint8 addrType);
|
|
llStatus_t LL_ReadWlSize0(uint8 *numEntries);
|
|
llStatus_t LL_ReadTxPowerLevel0(uint8 connId, uint8 type, int8 *txPower);
|
|
llStatus_t LL_SetTxPowerLevel0(int8 txPower);
|
|
llStatus_t LL_ReadAdvChanTxPower0(int8 *txPower);
|
|
llStatus_t LL_ReadRssi0(uint16 connId, int8 *lastRssi);
|
|
llStatus_t LL_ReadRemoteUsedFeatures0(uint16 connId);
|
|
llStatus_t LL_Encrypt0(uint8 *key, uint8 *plaintextData,
|
|
uint8 *encryptedData);
|
|
|
|
llStatus_t LL_DirectTestEnd0(void);
|
|
llStatus_t LL_DirectTestTxTest0(uint8 txFreq,
|
|
uint8 payloadLen, uint8 payloadType);
|
|
llStatus_t LL_DirectTestRxTest0(uint8 rxFreq);
|
|
|
|
/* ================ ll_common.c */
|
|
|
|
void llProcessTxData0(llConnState_t *connPtr, uint8 context);
|
|
uint8 llProcessRxData0(void);
|
|
uint8 llWriteTxData0(llConnState_t *connPtr,
|
|
uint8 pktHdr,
|
|
uint8 pktLen,
|
|
uint8 *pBuf);
|
|
void llConnTerminate0(llConnState_t *connPtr, uint8 reason);
|
|
void llReleaseConnId0(llConnState_t *connPtr);
|
|
|
|
/* ================ ll_enc.c */
|
|
|
|
void LL_ENC_AES128_Encrypt0(uint8 *key,
|
|
uint8 *plaintext,
|
|
uint8 *ciphertext);
|
|
uint8 LL_ENC_GenerateTrueRandNum0(uint8 *buf,
|
|
uint8 len);
|
|
void LL_ENC_GenDeviceSKD0(uint8 *SKD);
|
|
void LL_ENC_GenDeviceIV0(uint8 *IV);
|
|
void LL_ENC_GenerateNonce0(uint32 pktCnt,
|
|
uint8 direction,
|
|
uint8 *nonce);
|
|
void LL_ENC_Encrypt0(llConnState_t *connPtr,
|
|
uint8 pktHdr,
|
|
uint8 pktLen,
|
|
uint8 *pBuf);
|
|
uint8 LL_ENC_Decrypt0(llConnState_t *connPtr,
|
|
uint8 pktHdr,
|
|
uint8 pktLen,
|
|
uint8 *pBuf);
|
|
|
|
/* =================== osal */
|
|
|
|
void osal_pwrmgr_powerconserve0(void);
|
|
|
|
/* =================== ll_hw_drv.c */
|
|
|
|
void ll_hw_set_timing0(uint8 pktFmt);
|
|
void ll_hw_go0(void);
|
|
void ll_hw_trigger0(void);
|
|
|
|
/* ================== SMP functions */
|
|
|
|
void SM_Init0(uint8 task_id);
|
|
uint16 SM_ProcessEvent0(uint8 task_id, uint16 events);
|
|
|
|
/* ================== HCI_TL functions */
|
|
|
|
void HCI_Init0(uint8 task_id);
|
|
uint16 HCI_ProcessEvent0(uint8 task_id, uint16 events);
|
|
|
|
/* ======= OSAL memory */
|
|
|
|
void osal_mem_init0(void);
|
|
|
|
/* =========== ROM -> APP function */
|
|
|
|
void app_sleep_process(void);
|
|
void app_wakeup_process(void);
|
|
void rf_init(void);
|
|
void boot_init0(void);
|
|
void wakeup_init0(void);
|
|
void debug_print(uint32 state);
|
|
void rf_calibrate0(void);
|
|
void rf_phy_change_cfg(uint8 pktFmt);
|
|
|
|
/* ========== A2, for conn-adv, conn-scan */
|
|
|
|
uint8 llSetupSecNonConnectableAdvEvt0(void);
|
|
uint8 llSecAdvAllow0(void);
|
|
uint32 llCalcMaxScanTime0(void);
|
|
void llSetupSecScan0(uint8 chan);
|
|
|
|
uint8 llSetupSecAdvEvt0(void);
|
|
uint8 llSetupSecConnectableAdvEvt0(void);
|
|
uint8 llSetupSecScannableAdvEvt0(void);
|
|
|
|
/* =============== gap_linkmgr.c */
|
|
|
|
void gapProcessDisconnectCompleteEvt0(
|
|
hciEvt_DisconnComplete_t *pPkt);
|
|
void gapProcessConnectionCompleteEvt0(
|
|
hciEvt_BLEConnComplete_t *pPkt);
|
|
|
|
/* =============== l2cap_util.c */
|
|
|
|
uint8 l2capParsePacket0(l2capPacket_t *pPkt,
|
|
hciDataEvent_t *pHciMsg);
|
|
uint8 l2capEncapSendData0(uint16 connHandle,
|
|
l2capPacket_t *pPkt);
|
|
uint8 l2capPktToSegmentBuff0(uint16 connHandle,
|
|
l2capSegmentBuff_t *pSegBuf, uint8 blen, uint8 *pBuf);
|
|
void l2capPocessFragmentTxData0(uint16 connHandle);
|
|
uint8 l2capSegmentBuffToLinkLayer0(uint16 connHandle,
|
|
l2capSegmentBuff_t *pSegBuf);
|
|
void l2capPocessFragmentTxData0(uint16 connHandle);
|
|
|
|
/* =============== DLE */
|
|
|
|
llStatus_t LL_SetDataLengh0(uint16 connId,
|
|
uint16 TxOctets, uint16 TxTime);
|
|
void llPduLengthUpdate0(uint16 connHandle);
|
|
void llTrxNumAdaptiveConfig0(void);
|
|
|
|
/* ===============LL ADJ WINDOW */
|
|
|
|
void ll_adptive_adj_next_time0(uint32 nextTime);
|
|
void ll_adptive_smart_window0(uint32 irq_status,
|
|
uint32 anchor_point);
|
|
void llSetNextDataChan0(llConnState_t *connPtr);
|
|
|
|
/* =============== PHY UPDATE */
|
|
|
|
llStatus_t LL_SetPhyMode0(uint16 connId, uint8 allPhy,
|
|
uint8 txPhy, uint8 rxPhy, uint16 phyOptions);
|
|
llStatus_t LL_PhyUpdate0(uint16 connId);
|
|
void llSetNextPhyMode0(llConnState_t *connPtr);
|
|
|
|
llStatus_t LL_PLUS_DisableSlaveLatency0(uint8 connId);
|
|
llStatus_t LL_PLUS_EnableSlaveLatency0(uint8 connId);
|
|
|
|
/* ================= BBB */
|
|
|
|
void ll_scheduler0(uint32 time);
|
|
void ll_addTask0(uint8 connId, uint32 time);
|
|
void ll_deleteTask0(uint8 connId);
|
|
|
|
void ll_adv_scheduler0(void);
|
|
void ll_add_adv_task0(extAdvInfo_t *pExtAdv);
|
|
void ll_delete_adv_task0(uint8 index);
|
|
|
|
void ll_adv_scheduler_periodic0(void);
|
|
void ll_add_adv_task_periodic0(periodicAdvInfo_t *pPrdAdv,
|
|
extAdvInfo_t *pExtAdv);
|
|
void ll_delete_adv_task_periodic0(uint8 index);
|
|
uint8 llSetupExtAdvEvent0(extAdvInfo_t *pAdvInfo);
|
|
uint8 llSetupPrdAdvEvent0(periodicAdvInfo_t *pPrdAdv,
|
|
extAdvInfo_t *pExtAdv);
|
|
|
|
void llSetupAdvExtIndPDU0(extAdvInfo_t *pAdvInfo,
|
|
periodicAdvInfo_t *pPrdAdv);
|
|
void llSetupAuxAdvIndPDU0(extAdvInfo_t *pAdvInfo,
|
|
periodicAdvInfo_t *pPrdAdv);
|
|
void llSetupAuxChainIndPDU0(extAdvInfo_t *pAdvInfo,
|
|
periodicAdvInfo_t *pPrdAdv);
|
|
void llSetupAuxSyncIndPDU0(extAdvInfo_t *pAdvInfo,
|
|
periodicAdvInfo_t *pPrdAdv);
|
|
void llSetupAuxConnectReqPDU0(void);
|
|
void llSetupAuxScanRspPDU0(extAdvInfo_t *pAdvInfo);
|
|
void llSetupAuxConnectRspPDU0(extAdvInfo_t *pAdvInfo);
|
|
|
|
uint8 llGetNextAuxAdvChn0(uint8 current);
|
|
|
|
/* =============== OSAL */
|
|
|
|
uint8 osal_set_event0(uint8 task_id, uint16 event_flag);
|
|
uint8 osal_msg_send0(uint8 destination_task, uint8 *msg_ptr);
|
|
|
|
/* =============== _HAL_IRQ_ */
|
|
|
|
void drv_irq_init0(void);
|
|
int drv_enable_irq0(void);
|
|
int drv_disable_irq0(void);
|
|
|
|
/* 2020-02-13 cte jumpfunction */
|
|
|
|
llStatus_t LL_ConnectionlessCTE_TransmitParam0(
|
|
uint8 advertising_handle,
|
|
uint8 len,
|
|
uint8 type,
|
|
uint8 count,
|
|
uint8 Pattern_LEN,
|
|
uint8 *AnaIDs);
|
|
|
|
llStatus_t LL_ConnectionlessCTE_TransmitEnable0(
|
|
uint8 advertising_handle, uint8 enable);
|
|
|
|
llStatus_t LL_ConnectionlessIQ_SampleEnable0(
|
|
uint16 sync_handle,
|
|
uint8 enable,
|
|
uint8 slot_Duration,
|
|
uint8 MaxSampledCTEs,
|
|
uint8 pattern_len,
|
|
uint8 *AnaIDs);
|
|
|
|
llStatus_t LL_Set_ConnectionCTE_ReceiveParam0(
|
|
uint16 connHandle,
|
|
uint8 enable,
|
|
uint8 slot_Duration,
|
|
uint8 pattern_len,
|
|
uint8 *AnaIDs);
|
|
|
|
llStatus_t LL_Connection_CTE_Request_Enable0(
|
|
uint16 connHandle,
|
|
uint8 enable,
|
|
uint16 Interval,
|
|
uint8 len,
|
|
uint8 type);
|
|
|
|
llStatus_t LL_Set_ConnectionCTE_TransmitParam0(
|
|
uint16 connHandle,
|
|
uint8 type,
|
|
uint8 pattern_len,
|
|
uint8 *AnaIDs);
|
|
|
|
llStatus_t LL_Connection_CTE_Response_Enable0(
|
|
uint16 connHandle, uint8 enable);
|
|
|
|
#endif /* _JUMP_FUNC_H_ */
|