Mistake on this page?
Report an issue in GitHub or email us
lctr_api_bis_master.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_H
26 #define LCTR_API_BIS_H
27 
28 #include "lctr_api.h"
29 #include "lctr_api_adv_acad.h"
30 #include "cfg_mac_ble.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 /*!
37  * \addtogroup LL_LCTR_API_BIS
38  * \{
39  */
40 
41 /**************************************************************************************************
42  Constants
43 **************************************************************************************************/
44 
45 /*! \brief BIG task messages for \a LCTR_DISP_BIG_SYNC dispatcher. */
46 typedef enum
47 {
48  /* Broadcast events */
49  LCTR_MST_BIG_MSG_RESET = LCTR_MSG_RESET,
50  /* Host/API events */
51  LCTR_MST_BIG_API_CREATE_SYNC, /*!< BIG Create Sync API event. */
52  LCTR_MST_BIG_API_TERMINATE_SYNC, /*!< BIG Terminate Sync API event. */
53  /* Receive remote events */
54  LCTR_MST_BIG_ACAD_BIG_INFO, /*!< BIG Info received. */
55  LCTR_MST_BIG_PDU_TERM, /*!< Remote terminate received. */
56  /* Internal events */
57  LCTR_MST_BIG_INT_SYNC_TIMEOUT, /*!< BIG Sync timeout expired. */
58  LCTR_MST_BIG_INT_MIC_FAILED, /*!< BIS PDU received with MIC failure. */
59  LCTR_MST_BIG_INT_TERMINATED_SYNC, /*!< BIG Sync termination complete. */
60 
61  LCTR_MST_BIG_MSG_TOTAL /*!< Total number of BIG events. */
63 
64 /*! \brief Minimum BIS Handle number. */
65 #define LL_MIN_BIS 0x01
66 
67 /**************************************************************************************************
68  Data Types
69 **************************************************************************************************/
70 
71 /*! \brief ACAD BIG Info message. */
72 typedef struct
73 {
74  lctrMsgHdr_t hdr; /*!< Message header. */
75  LctrAcadBigInfo_t data; /*!< BIG Info data. */
77 
78 /*! \brief BIG messages. */
79 typedef union
80 {
81  lctrMsgHdr_t hdr; /*!< Common message header. */
82  LctrBigInfoMsg_t bigInfo; /*!< BIG Info message. */
84 
85 /**************************************************************************************************
86  Function Declarations
87 **************************************************************************************************/
88 
89 /* Initialization */
90 void LctrMstBisInit(void);
91 
92 /* Control */
93 uint8_t LctrMstBigCreateSync(LlBigCreateSync_t *pParam);
94 void LctrMstBigTerminateSync(uint8_t bisHandle);
95 
96 #ifdef __cplusplus
97 };
98 #endif
99 
100 /*! \} */ /* LL_LCTR_API_BIS */
101 
102 #endif /* LCTR_API_BIS_H */
ACAD BIG Info message.
LctrMstBigMsg_t
BIG task messages for LCTR_DISP_BIG_SYNC dispatcher.
BIG Create Sync message.
Definition: ll_api.h:803
BLE MAC system configuration.
Link layer controller common interface file.
BIG messages.
LctrAcadBigInfo_t data
Common message structure passed to event handler.
Definition: lctr_api.h:109
Link layer controller ACAD definitions.
ACAD data field for channel map update.
LctrBigInfoMsg_t bigInfo
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.