Mistake on this page?
Report an issue in GitHub or email us
lctr_api_bis_slave.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Link layer controller BIS slave interface file.
6  *
7  * Copyright (c) 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 
25 #ifndef LCTR_API_BIS_SLAVE_H
26 #define LCTR_API_BIS_SLAVE_H
27 
28 #include "lctr_api.h"
29 #include "cfg_mac_ble.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 /**************************************************************************************************
36  Constants
37 **************************************************************************************************/
38 
39 /*! \brief Slave BIS broadcasting task messages for \a LCTR_DISP_BIG_BCST dispatcher. */
40 enum
41 {
42  /* Broadcast events */
43  LCTR_SLV_BIG_MSG_RESET = LCTR_MSG_RESET, /*!< Reset API message. */
44  /* Host/API events */
45  LCTR_SLV_BIG_MSG_CREATE_BIG, /*!< BIG slave creates BIG API event. */
46  LCTR_SLV_BIG_MSG_CH_MAP_UPD, /*!< BIG channel map update. */
47  LCTR_SLV_BIG_MSG_TERMINATE_BIG, /*!< BIG slave terminates BIG API event. */
48  /* Internal events */
49  LCTR_SLV_BIG_MSG_TERMINATED, /*!< BIG slave terminated internal event. */
50 
51  LCTR_SLV_BIG_MSG_TOTAL /*!< Total number of BIG slave broadcasting events. */
52 };
53 
54 /**************************************************************************************************
55  Data Types
56 **************************************************************************************************/
57 
58 /*! \brief BIG slave message data. */
59 typedef union
60 {
61  lctrMsgHdr_t hdr; /*!< Message header. */
62  lctrMsgHdr_t term; /*!< Terminate BIG message data. */
64 
65 /**************************************************************************************************
66  Function Declarations
67 **************************************************************************************************/
68 
69 /* Initialization */
70 uint16_t LctrInitBisMem(uint8_t *pFreeMem, uint32_t freeMemSize);
71 void LctrSlvBisInit(void);
72 
73 /* Control */
74 uint8_t LctrSlvBisCreateBig(LlCreateBig_t *pCreateBit);
75 uint8_t LctrSlvBisCreateBigTest(LlCreateBigTest_t *pCreateBigTest);
76 uint8_t LctrSlvBisTerminateBig(uint8_t bigHandle, uint8_t reason);
77 
78 #ifdef __cplusplus
79 };
80 #endif
81 
82 #endif /* LCTR_API_BIS_SLAVE_H */
BIG Create BIG message.
Definition: ll_api.h:765
BIG slave message data.
BLE MAC system configuration.
Link layer controller common interface file.
BIG Create BIG Test message.
Definition: ll_api.h:782
Common message structure passed to event handler.
Definition: lctr_api.h:109
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.