|
1 /* |
|
2 * TIWhaAdaptCb.h |
|
3 * |
|
4 * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved. |
|
5 * All rights reserved. |
|
6 * |
|
7 * This program and the accompanying materials are made available under the |
|
8 * terms of the Eclipse Public License v1.0 or BSD License which accompanies |
|
9 * this distribution. The Eclipse Public License is available at |
|
10 * http://www.eclipse.org/legal/epl-v10.html and the BSD License is as below. |
|
11 * |
|
12 * Redistribution and use in source and binary forms, with or without |
|
13 * modification, are permitted provided that the following conditions |
|
14 * are met: |
|
15 * |
|
16 * * Redistributions of source code must retain the above copyright |
|
17 * notice, this list of conditions and the following disclaimer. |
|
18 * * Redistributions in binary form must reproduce the above copyright |
|
19 * notice, this list of conditions and the following disclaimer in |
|
20 * the documentation and/or other materials provided with the |
|
21 * distribution. |
|
22 * * Neither the name Texas Instruments nor the names of its |
|
23 * contributors may be used to endorse or promote products derived |
|
24 * from this software without specific prior written permission. |
|
25 * |
|
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
27 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
28 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
29 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
30 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
31 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
32 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
33 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
34 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
35 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
36 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
37 */ |
|
38 |
|
39 |
|
40 |
|
41 /** \file TIWhaAdaptCB.h |
|
42 * \brief Adapt CB between C code and C++ code (i.e TWD to TIWha functions) |
|
43 * |
|
44 * \see |
|
45 */ |
|
46 |
|
47 #ifndef TI_WHA_ADAPT_CB_H |
|
48 #define TI_WHA_ADAPT_CB_H |
|
49 |
|
50 #include "TIWha.h" |
|
51 |
|
52 class TIWhaAdaptCB |
|
53 { |
|
54 public: |
|
55 |
|
56 /* Connect CB called after that TxnQ_Connect is done */ |
|
57 static void ConnectBus (TI_HANDLE hTIWha); |
|
58 static void ConnectBusDFC (TI_HANDLE hTIWha); |
|
59 |
|
60 /* Init HW Callback called after all software init is done and NVS configuration was saved as defaults, will download the FW*/ |
|
61 static void InitHw (TI_HANDLE hTIWha, TI_STATUS status); |
|
62 /* Init FW Callback called after Fw was downloaded will configure the FW*/ |
|
63 static void InitFw (TI_HANDLE hTIWha, TI_STATUS status); |
|
64 /* Config FW Callback will set the defaults*/ |
|
65 static void ConfigFw (TI_HANDLE hTIWha, TI_STATUS status); |
|
66 |
|
67 static void InitFail (TI_HANDLE hTIWha, TI_STATUS status); |
|
68 |
|
69 /* Scan Complete Callback */ |
|
70 static void ScanComplete (TI_HANDLE hTIWha, EScanResultTag eTag,TI_UINT32 uResultCount, |
|
71 TI_UINT16 SPSStatus, TI_BOOL TSFError, TI_STATUS ScanStatus, |
|
72 TI_STATUS PSMode); |
|
73 |
|
74 /* Power Save Complete Callback */ |
|
75 static void SetPsModeComplete (TI_HANDLE hTIWha, TI_UINT8 PSMode, TI_UINT8 transStatus); |
|
76 |
|
77 /* Power Save Complete Dummy Callback */ |
|
78 static void SetPsModeCompleteDummy (TI_HANDLE hTIWha, TI_UINT8 PSMode, TI_UINT8 transStatus); |
|
79 |
|
80 /* Failure Indication Callback */ |
|
81 static void FailureIndication (TI_HANDLE hTIWha, EFailureEvent failureEvent); |
|
82 |
|
83 /* Failure Indication DFC Callback */ |
|
84 static void FailureIndicationDFC (TI_HANDLE hTIWha); |
|
85 |
|
86 /* Connection time out CB, used to indicate that the connection proccess is over */ |
|
87 static void ConnectionTimeOut (TI_HANDLE hTIWha); |
|
88 |
|
89 /* Start Initialize */ |
|
90 static void InitializeAfterTimer (TI_HANDLE hTIWha); |
|
91 |
|
92 /* RCPI Indication Callback */ |
|
93 static void RcpiIndication (TI_HANDLE hTIWha, TI_UINT8* buffer, TI_UINT32 len); |
|
94 |
|
95 /* Lost Beacon Indication Callback */ |
|
96 static void LostBssIndication (TI_HANDLE hTIWha); |
|
97 |
|
98 /* Regain Bss Indication Callback */ |
|
99 static void RegainBssIndication (TI_HANDLE hTIWha); |
|
100 |
|
101 /* BtCoexistence Indication CallBacks */ |
|
102 static void btCoexSenseIndication (TI_HANDLE hTIWha, TI_UINT8* buffer, TI_UINT32 len); |
|
103 static void btCoexProtectiveIndication (TI_HANDLE hTIWha, TI_UINT8* buffer, TI_UINT32 len); |
|
104 static void btCoexAvalancheIndication (TI_HANDLE hTIWha, TI_UINT8* buffer, TI_UINT32 len); |
|
105 |
|
106 /* Init Response Callback */ |
|
107 static void GenericCommandResponse (TI_HANDLE hTIWha, TI_UINT16 CmdType, TI_UINT16 CmdID, TI_UINT32 aStatus); |
|
108 /* Dummy Response Callback - needed in cases that Mib was done but no indication in neede in the UMAC */ |
|
109 static void DummyResponse (TI_HANDLE Dummy, TI_STATUS aStatus); |
|
110 /* Scan Response Callback */ |
|
111 static void ScanResponse(TI_HANDLE hTIWha,TI_STATUS aStatus); |
|
112 /* JoinComplete Callback */ |
|
113 static void JoinComplete (TI_HANDLE hTIWha); |
|
114 /* Stop Scan Response Callback */ |
|
115 static void StopScanResponse (TI_HANDLE hTIWha, TI_STATUS aStatus); |
|
116 /* Power Save Response Callback */ |
|
117 static void SetPsModeResponse (TI_HANDLE hTIWha, TI_UINT8 aStatus); |
|
118 /* Power Save Response Dummy Callback */ |
|
119 static void SetPsModeResponseDummy (TI_HANDLE hTIWha, TI_UINT8 aStatus); |
|
120 /* Read MIB Response Callback */ |
|
121 static void ReadMIBResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus, void *InterrogateParamsBuf); |
|
122 /* Measure Response Callback */ |
|
123 static void MeasureResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus); |
|
124 /* Stop Measure Response Callback */ |
|
125 static void StopMeasureResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus); |
|
126 /* Add key response callback */ |
|
127 static void AddKeyResponse ( TI_HANDLE hTIWha, TI_STATUS aStatus); |
|
128 |
|
129 /* PLT */ |
|
130 /* PLT Response Callback */ |
|
131 static void PltResponse (TI_HANDLE hTIWha, TI_STATUS aStatus, void *InterrogateParamsBuf); |
|
132 /* Tx BIP Response Callbake */ |
|
133 static void TxBipResponse (TI_HANDLE hTIWha, TI_STATUS aStatus, void *InterrogateParamsBuf); |
|
134 /* Rx BIP Response Callbake */ |
|
135 static void RxBipResponse (TI_HANDLE hTIWha, TI_STATUS aStatus, void *InterrogateParamsBuf); |
|
136 /* RX Statistic Parameters */ |
|
137 static void RxStatResponse (TI_HANDLE hTIWha, TI_STATUS aStatus, void *InterrogateParamsBuf); |
|
138 |
|
139 /* Free Run RSSI Response */ |
|
140 static void RunRssiResponse (TI_HANDLE hTIWha, TI_STATUS aStatus, void *InterrogateParamsBuf); |
|
141 |
|
142 /* PLT RX PER callbacks */ |
|
143 static void PltPerGetResultResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus, void *InterrogateParamsBuf); |
|
144 static void PltPerStartResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus, void *InterrogateParamsBuf); |
|
145 static void PltPerStopResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus, void *InterrogateParamsBuf); |
|
146 static void PltPerClearResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus, void *InterrogateParamsBuf); |
|
147 /* Read Memory/Registers Response Callback */ |
|
148 static void ReadMemResponse (TI_HANDLE hTIWha, TFwDebugParams* params); |
|
149 /* Write Registers Response Callback */ |
|
150 static void WriteMemResponse (TI_HANDLE hTIWha, TFwDebugParams* params); |
|
151 /* PLT TX calibration */ |
|
152 static void PltGainGetResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus, void *InterrogateParamsBuf); |
|
153 static void PltGetNVSUpdateBufferResponse (TI_HANDLE hTIWha, TI_UINT16 aStatus, void *InterrogateParamsBuf); |
|
154 |
|
155 /* RX CallBacks */ |
|
156 static ERxBufferStatus RequestForBuffer (TI_HANDLE hTIWha, void **pWbuf, TI_UINT16 aLength, TI_UINT32 uEncryptionflag); |
|
157 static void ReceivePacket (TI_HANDLE hTIWha, const void *aFrame); |
|
158 static void ReceivePacketWhileScan (TI_HANDLE hTIWha, const void *aFrame); |
|
159 |
|
160 /* Frame was written to FW */ |
|
161 static void TxXfer ( TI_HANDLE hTIWha, TTxCtrlBlk *pPktCtrlBlk); |
|
162 |
|
163 /* Frame was transmitted over the air (or failed to be transmitted) */ |
|
164 static void TxComplete ( TI_HANDLE hTIWha, TxResultDescriptor_t *pTxResultInfo, TI_UINT32 backpressure); |
|
165 |
|
166 static void ReadDot11StationIdCb (TI_HANDLE hTIWha); |
|
167 |
|
168 static void RxMemFailTimerCb (TI_HANDLE hTIWha); |
|
169 |
|
170 static void AvrRssiReadResponse (TI_HANDLE hTIWha, TI_UINT16 MboxStatus, ACXRoamingStatisticsTable_t* roamingStatistics); |
|
171 |
|
172 static void StatisticsReadResponse (TI_HANDLE hTIWha, TI_UINT16 MboxStatus, ACXStatistics_t* pElem); |
|
173 }; |
|
174 |
|
175 |
|
176 |
|
177 #endif /* TI_WHA_ADAPT_CB_H */ |