Mistake on this page?
Report an issue in GitHub or email us
ll_init_api.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief LL initialization implementation file.
6  *
7  * Copyright (c) 2013-2019 Arm Ltd. All Rights Reserved.
8  *
9  * Copyright (c) 2019-2020 Packetcraft, Inc.
10  *
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  * http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  *
23  *
24  * Initialization conditional compilation are used to control LL initialization options.
25  * Define one or more of the following to enable roles and features.
26  *
27  * - INIT_BROADCASTER (default)
28  * - INIT_OBSERVER
29  * - INIT_PERIPHERAL
30  * - INIT_CENTRAL
31  * - INIT_ENCRYPTED
32  * - BT_VER
33  *
34  * \note Each feature may require additional \ref LlRtCfg_t requirements.
35  */
36 /*************************************************************************************************/
37 
38 #ifndef LL_INIT_API_H
39 #define LL_INIT_API_H
40 
41 #include "wsf_types.h"
42 #include "bb_api.h"
43 #include "ll_api.h"
44 
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48 
49 /*!
50  * \addtogroup LL_INIT_API
51  * \{
52  */
53 
54 /**************************************************************************************************
55  Macros
56 **************************************************************************************************/
57 
58 #ifndef INIT_BROADCASTER
59 /*! \brief Initialize broadcaster feature. */
60 #define INIT_BROADCASTER
61 #endif
62 
63 #ifndef BT_VER
64 /*! \brief Initialize default BT version. */
65 #define BT_VER LL_VER_BT_CORE_SPEC_5_1
66 #endif
67 
68 /**************************************************************************************************
69  Data Types
70 **************************************************************************************************/
71 
72 /*! \brief Runtime configuration parameters. */
73 typedef struct
74 {
75  const BbRtCfg_t *pBbRtCfg; /*!< BB runtime configuration. */
76  const uint8_t wlSizeCfg; /*!< Whitelist size configuration. */
77  const uint8_t rlSizeCfg; /*!< Resolving list size configuration. */
78  const uint8_t plSizeCfg; /*!< Periodic list size configuration. */
79  const LlRtCfg_t *pLlRtCfg; /*!< LL runtime configuration. */
80  uint8_t *pFreeMem; /*!< Pointer to free memory, returns adjusted location of free memory. */
81  uint32_t freeMemAvail; /*!< Amount of free memory available, returns adjusted amount of free memory. */
83 
84 /**************************************************************************************************
85  Functions Declarations
86 **************************************************************************************************/
87 
88 /* System initializers. */
89 uint32_t LlInit(LlInitRtCfg_t *pCfg);
90 uint32_t LlInitControllerInit(LlInitRtCfg_t *pCfg);
91 
92 /* Intermediate initializers. */
93 uint32_t LlInitSetBbRtCfg(const BbRtCfg_t *pBbRtCfg, const uint8_t wlSizeCfg, const uint8_t rlSizeCfg,
94  const uint8_t plSizeCfg, uint8_t *pFreeMem, uint32_t freeMemAvail);
95 uint32_t LlInitSetLlRtCfg(const LlRtCfg_t *pLlRtCfg, uint8_t *pFreeMem, uint32_t freeMemAvail);
96 void LlInitBbInit(void);
97 void LlInitSchInit(void);
98 void LlInitLlInit(void);
99 void LlInitChciTrInit(uint16_t maxAclLen, uint16_t maxIsoLen);
100 void LlInitLhciInit(void);
101 void LlMathSetSeed(const uint32_t *pSeed);
102 void LlInitLhciHandler(void);
103 
104 /*! \} */ /* LL_INIT_API */
105 
106 #ifdef __cplusplus
107 };
108 #endif
109 
110 #endif /* LL_INIT_API_H */
BB runtime configuration parameters.
Definition: bb_api.h:95
Link layer interface file.
const uint8_t rlSizeCfg
Definition: ll_init_api.h:77
const uint8_t wlSizeCfg
Definition: ll_init_api.h:76
uint32_t freeMemAvail
Definition: ll_init_api.h:81
LL runtime configuration parameters.
Definition: ll_api.h:124
uint8_t * pFreeMem
Definition: ll_init_api.h:80
const LlRtCfg_t * pLlRtCfg
Definition: ll_init_api.h:79
const BbRtCfg_t * pBbRtCfg
Definition: ll_init_api.h:75
Platform-independent data types.
Runtime configuration parameters.
Definition: ll_init_api.h:73
Baseband interface file.
const uint8_t plSizeCfg
Definition: ll_init_api.h:78
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.