Mistake on this page?
Report an issue in GitHub or email us
lctr_int_pc.h
Go to the documentation of this file.
1 /*************************************************************************************************/
2 /*!
3  * \file
4  *
5  * \brief Internal link layer controller power control interface file.
6  *
7  * Copyright (c) 2019 Packetcraft, Inc.
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 /*************************************************************************************************/
22 
23 #ifndef LCTR_INT_PC_H
24 #define LCTR_INT_PC_H
25 
26 #include "lctr_api.h"
27 #include "lctr_int_conn.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 /**************************************************************************************************
34  External Constants
35 **************************************************************************************************/
36 
37 /*! \brief Master LLCP state machine table. */
39 
40 /*! \brief Slave LLCP state machine table. */
42 
43 /*************************************************************************************************
44  * Function Declarations
45 *************************************************************************************************/
46 uint8_t lctrCalcPathLossZone(lctrConnCtx_t *pCtx);
47 void lctrNotifyHostPathLossRpt(lctrConnCtx_t *pCtx);
48 void lctrPathLossMonitorAct(lctrConnCtx_t *pCtx);
49 
50 /* Power indication actions. */
51 void lctrStorePeerPowerInd(lctrConnCtx_t *pCtx);
52 void lctrSendPeerPowerRsp(lctrConnCtx_t *pCtx);
53 
54 /* Power control actions. */
55 void lctrStorePowerControlAction(lctrConnCtx_t *pCtx);
56 void lctrSendPeerPowerControlReq(lctrConnCtx_t *pCtx);
57 void lctrStorePeerPowerControlReq(lctrConnCtx_t *pCtx);
58 void lctrSendPeerPowerControlRsp(lctrConnCtx_t *pCtx);
59 void lctrStorePeerPowerControlRsp(lctrConnCtx_t *pCtx);
60 
61 /* Power monitoring actions. */
62 void lctrAutoPowerMonitorAct(lctrConnCtx_t *pCtx);
63 
64 /* Power reporting actions. */
65 void lctrNotifyPowerReportInd(lctrConnCtx_t *pCtx, uint8_t reason, uint8_t phy, int8_t txPower, uint8_t limits, int8_t delta);
66 int8_t lctrAttemptTxPowerChange(lctrConnCtx_t *pCtx, uint8_t phy, int8_t delta);
67 void lctrSendPowerChangeInd(lctrConnCtx_t *pCtx, uint8_t phy, int8_t delta, int8_t txPower, bool_t phyChange);
68 
69 /* State machine */
70 bool_t lctrLlcpExecutePclSm(lctrConnCtx_t *pCtx, uint8_t event);
71 
72 #ifdef __cplusplus
73 };
74 #endif
75 
76 #endif /* LCTR_INT_PC_H */
Connection context.
Link layer controller common interface file.
LctrLlcpHdlr_t lctrMstLlcpSmTbl[LCTR_LLCP_SM_TOTAL]
Master LLCP state machine table.
LctrLlcpHdlr_t lctrSlvLlcpSmTbl[LCTR_LLCP_SM_TOTAL]
Slave LLCP state machine table.
Internal link layer controller connection interface file.
bool_t(* LctrLlcpHdlr_t)(lctrConnCtx_t *pCtx, uint8_t event)
Call signature of a LLCP state machine handler.
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.