source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/ads/7552/bads_struct.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 24.2 KB
Line 
1/***************************************************************************
2 *     (c)2005-2011 Broadcom Corporation
3 * 
4 *  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5 *  and may only be used, duplicated, modified or distributed pursuant to the terms and
6 *  conditions of a separate, written license agreement executed between you and Broadcom
7 *  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8 *  no license (express or implied), right to use, or waiver of any kind with respect to the
9 *  Software, and Broadcom expressly reserves all rights in and to the Software and all
10 *  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11 *  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12 *  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. 
13 *   
14 *  Except as expressly set forth in the Authorized License,
15 *   
16 *  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17 *  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18 *  and to use this information only in connection with your use of Broadcom integrated circuit products.
19 *   
20 *  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21 *  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22 *  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23 *  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24 *  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25 *  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26 *  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27 *  USE OR PERFORMANCE OF THE SOFTWARE.
28 * 
29 *  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30 *  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31 *  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32 *  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33 *  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34 *  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35 *  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36 *  ANY LIMITED REMEDY.
37 *
38 * $brcm_Workfile: bads_struct.h $
39 * $brcm_Revision: 29 $
40 * $brcm_Date: 10/12/11 11:27a $
41 *
42 * Module Description:
43 *
44 * Revision History:
45 *
46 * $brcm_Log: /AP/ctfe/core/ads/bads_struct.h $
47 *
48 * 29   10/12/11 11:27a farshidf
49 * SW3128-54: merge to main
50 *
51 * Fw_Integration_Devel/7   10/12/11 10:40a farshidf
52 * SW3128-54: merge to Integ branch
53 *
54 * Fw_Integration_Devel/AP_V2_0_ADS_DEV/3   10/10/11 2:36p farshidf
55 * SW7552-134: compile correction
56 *
57 * Fw_Integration_Devel/6   8/24/11 11:59a farshidf
58 * SW3461-38: merge to integ
59 *
60 * Fw_Integration_Devel/AP_V2_0_ADS_DEV/2   8/23/11 4:49p mpovich
61 * SW3128-24: Merge latest of SW3128-24 to devel. branch.
62 *
63 * Fw_Integration_Devel/SW3128-24/7   8/23/11 4:30p mpovich
64 * SW3128-24: Rebase with 2.0 devel. branch.
65 *
66 * Fw_Integration_Devel/AP_V2_0_ADS_DEV/1   8/18/11 1:34p mpovich
67 * SW3128-24: Merge Scan feature support into the devel. branch.
68 *
69 * Fw_Integration_Devel/5   8/16/11 3:59p farshidf
70 * SW3461-1: merge to integ
71 *
72 * 26   8/16/11 3:58p farshidf
73 * SW3461-1: magnum compatible
74 *
75 * 25   8/12/11 3:13p farshidf
76 * SW3461-1: merge to main
77 *
78 * Fw_Integration_Devel/3   8/12/11 2:11p farshidf
79 * SW3461-1: merge to integ
80 *
81 * Fw_Integration_Devel/SW3128-24/6   8/17/11 10:13a mpovich
82 * SW3128-24: Update from SW3128-32.
83 *
84 * Fw_Integration_Devel/AP_V0_6_ADS_DEV/SW3128-32/2   8/16/11 7:35p mpovich
85 * SW3128-32: Assign Scan Status params inside BADS_P_Acquire().
86 *
87 * Fw_Integration_Devel/SW3128-24/5   8/16/11 6:39p mpovich
88 * SW3128-24: Pick up SW3128-32, "Get Scan Status" HAB command
89 *
90 * Fw_Integration_Devel/AP_V0_6_ADS_DEV/SW3128-32/1   8/16/11 9:59a mpovich
91 * SW3128-32: Add Downstream Get Scan Status HAB command.
92 *
93 * Fw_Integration_Devel/SW3128-24/4   8/11/11 5:30p mpovich
94 * SW3128-24: Rebase to latest from devel. branch.
95 *
96 * Fw_Integration_Devel/AP_V0_6_ADS_DEV/3   8/11/11 10:21a mpovich
97 * SW3128-31: Ensure ADS channel status may be obtained concurrently.
98 *
99 * Fw_Integration_Devel/AP_V0_6_ADS_DEV/SW3128-31/1   8/11/11 10:10a mpovich
100 * SW3128-31: Ensure channel status may be obtained concurrently.
101 *
102 * Fw_Integration_Devel/SW3128-24/3   8/1/11 6:32p mpovich
103 * SW3128-24: Rebase with ADS_DEV branch.
104 *
105 * Fw_Integration_Devel/AP_V0_6_ADS_DEV/2   7/27/11 7:58p cbrooks
106 * sw3128-1:Added early exit
107 *
108 * Fw_Integration_Devel/SW3128-24/2   7/25/11 2:10p mpovich
109 * SW3128-24: Rebase with updates from ADS devel. branch.
110 *
111 * Fw_Integration_Devel/SW3128-24/1   7/25/11 10:14a mpovich
112 * SW3128-24: Assert initial "unlock" IRQ for DS channel that is tuned for
113 *  (WFE), tuned (WFE)/acquired, or acquired w/o a preceding tune.  Add
114 *  "System" events for WFE tune, ADS channel being tuned, ADS acquire,
115 *  etc.
116 *
117 * Fw_Integration_Devel/AP_V0_6_ADS_DEV/1   7/22/11 4:52p cbrooks
118 * sw3128-1:Added SLow Scan for RFI interference
119 *
120 * Fw_Integration_Devel/1   6/29/11 12:38p farshidf
121 * SW3461-13: merge to integration branch
122 *
123 * Fw_Integration_Devel/Ads_Fw_Devel_Rc04/2   6/28/11 6:49p cbrooks
124 * sw3128-1:added main tap
125 *
126 * Fw_Integration_Devel/Ads_Fw_Devel_Rc04/1   6/21/11 5:18p cbrooks
127 * sw3128-1:Added racquire count
128 *
129 * 22   6/9/11 6:16p mpovich
130 * SW3461-1: Merge Ver 0.4 Integ. onto main branch.
131 *
132 * SW_System_4_Integ_Test/3   6/9/11 2:17p mpovich
133 * SW3461-1: Rebase with main branch.
134 *
135 * 21   6/9/11 12:55p farshidf
136 * SW3128-1: do not report lock until acquie
137 *
138 * 20   6/7/11 3:16p farshidf
139 * SW3128-1: merge to main
140 *
141 * SW_System_4_Integ_Test/2   6/7/11 1:51p farshidf
142 * SW3128-1: sync up with backend
143 *
144 * SW_System_4_Integ_Test/1   6/6/11 2:05p mpovich
145 * SW3461-1: Integ. test all development branches together.
146 *
147 * Ads_Fw_Devel_3/1   5/27/11 3:27p cbrooks
148 * sw3128-1:Added second timer for Mark
149 *
150 * 19   5/11/11 5:03p farshidf
151 * SW3128-1: merge main
152 *
153 * Hydra_Software_Devel/SWDTV-7035/5   5/10/11 5:54p farshidf
154 * SWDTV-7035: put back teh NExus falg
155 *
156 * Hydra_Software_Devel/SWDTV-7035/4   5/10/11 5:50p cbrooks
157 * swdtv-7035:BBS support
158 *
159 * 17   5/10/11 4:01p farshidf
160 * SW3128-1: update teh structure
161 *
162 * 16   5/10/11 3:17p farshidf
163 * SW3128-1: merge main
164 *
165 * ADS_3128_3/5   5/11/11 4:23p cbrooks
166 * sw3128-1:merging 330 changes
167 *
168 * ADS_3128_3/4   5/10/11 3:16p farshidf
169 * SW3128-1: remove the nexus flag
170 *
171 * ADS_3128_3/3   5/10/11 11:54a farshidf
172 * SW3128-1: update th enum
173 *
174 * ADS_3128_3/2   5/10/11 11:00a cbrooks
175 * sw3128-1:Changed status
176 *
177 * ADS_3128_3/1   5/1/11 3:30p cbrooks
178 * sw3128-1:Cleaned up Channel Scan Code
179 *
180 * 15   4/26/11 6:51p farshidf
181 * SW3128-1: merge main
182 *
183 * ADS_3128_2/4   4/26/11 5:51p farshidf
184 * SW3128: compile fix
185 *
186 * ADS_3128_2/3   4/26/11 5:12p farshidf
187 * SW3128-1: merge main
188 *
189 * 14   4/26/11 4:36p farshidf
190 * SW3128-1: update the acquire param matching verion 0.9 of the HAb doc
191 *
192 * 13   4/26/11 4:25p farshidf
193 * SW3128-1: update the acquire param per request
194 *
195 * 12   4/25/11 10:23a farshidf
196 * SW3461-1: sync up with 35330
197 *
198 * Hydra_Software_Devel/1   4/20/11 12:37p farshidf
199 * SWDTV-6190: add intial DS files
200 *
201 * 11   4/19/11 9:56p farshidf
202 * SW3128-1: set an IRQ for each acquire
203 *
204 * 10   4/15/11 4:56p farshidf
205 * SW3128-1: compile fix
206 *
207 * 9   4/15/11 4:38p farshidf
208 * SW3128-1: merge main
209 *
210 * ADS_3128_2/1   4/11/11 8:31p cbrooks
211 * SW3128-1:Added CWC code
212 *
213 * 7   3/23/11 10:57a farshidf
214 * SW3128-1: add new element
215 *
216 * 6   3/18/11 4:32p farshidf
217 * SW3461-1: merge  main
218 *
219 * ADS_3128_1/1   3/17/11 12:30p cbrooks
220 * sw3128-1:Added BERT resync warning
221 *
222 * 5   2/28/11 5:58p cbrooks
223 * sw3128-1:Changed acqwords to internal_params
224 *
225 * 4   2/21/11 8:55p cbrooks
226 * sw3128-1:new coe
227 *
228 * 3   2/3/11 6:34p farshidf
229 * SW3128-1: make AGF 16bit int
230 *
231 * 2   1/28/11 3:36p cbrooks
232 * sw3128-1:new file
233 *
234 * 1   1/26/11 4:38p farshidf
235 * SW3128-1: new file
236 *
237 ***************************************************************************/
238#ifndef _BADS_STRUCT_H__
239#define _BADS_STRUCT_H__
240
241#ifdef __cplusplus
242extern "C" {
243#endif
244
245
246/****************************************************************************************
247 * BADS HAB Command Structures 
248 ****************************************************************************************/
249
250typedef enum BADS_Acquire_Params_Annex_s
251{
252        BADS_Acquire_Params_Annex_eAnnexA=0,
253        BADS_Acquire_Params_Annex_eAnnexB=1
254}BADS_Acquire_Params_Annex_t;
255
256typedef enum BADS_Acquire_Params_BPS_s
257{
258        BADS_Acquire_Params_BPS_eQam16=0,
259        BADS_Acquire_Params_BPS_eQam32=1,
260        BADS_Acquire_Params_BPS_eQam64=2,
261        BADS_Acquire_Params_BPS_eQam128=3,
262        BADS_Acquire_Params_BPS_eQam256=4,
263        BADS_Acquire_Params_BPS_eQam512=5,
264        BADS_Acquire_Params_BPS_eQam1024=6
265}BADS_Acquire_Params_BPS_t;
266
267typedef enum BADS_Acquire_Params_OffOn_s
268{
269  BADS_Acquire_Params_eDisable=0, 
270  BADS_Acquire_Params_eEnable=1
271}BADS_Acquire_Params_OffOn_t;
272
273typedef enum BADS_AcquireStartMode
274{
275  BADS_AcquireStartMode_Acquire = 1, 
276  BADS_AcquireStartMode_ResetStatus = 2
277} BADS_AcquireStartMode_t;
278
279
280
281typedef enum BADS_Acquire_AcqType_s
282{
283        BADS_Acquire_Params_AcqType_eAuto=0,
284        BADS_Acquire_Params_AcqType_eFast=1,
285        BADS_Acquire_Params_AcqType_eSlow=2,
286        BADS_Acquire_Params_AcqType_eScan=3
287}BADS_Acquire_AcqType_t;
288
289#define BADS_NexusStatusMode_EnableStatusForNexus 1
290
291typedef struct BADS_Acquire_Params_s
292{       
293        volatile BADS_AcquireStartMode_t        AcquireStartMode;
294        uint32_t                                                        NexusStatusMode;
295        BADS_Acquire_AcqType_t                          AcqType;
296    BADS_Acquire_Params_OffOn_t         Acquire_After_Tune;
297        BADS_Acquire_Params_OffOn_t                     Auto;
298        BADS_Acquire_Params_OffOn_t                     IS;
299        BADS_Acquire_Params_Annex_t                     Annex; 
300        BADS_Acquire_Params_BPS_t                       Qam_Mode;
301        uint32_t                                                Carrier_Range; 
302        uint32_t                                                        AnnexA_Sym_Rate;
303}BADS_Acquire_Params_t;
304
305typedef enum BADS_Scan_Params_OffOn_s
306{
307  BADS_Scan_Params_eDisable=0, 
308  BADS_Scan_Params_eEnable=1
309}BADS_Scan_Params_OffOn_t;
310
311typedef struct BADS_Scan_Params_s
312{
313        BADS_Scan_Params_OffOn_t                AI;
314        BADS_Scan_Params_OffOn_t                QM;
315        BADS_Scan_Params_OffOn_t                CO;
316        BADS_Scan_Params_OffOn_t                TO;
317        BADS_Scan_Params_OffOn_t                B1024;
318        BADS_Scan_Params_OffOn_t                B256;
319        BADS_Scan_Params_OffOn_t                B64;
320        BADS_Scan_Params_OffOn_t                A1024;
321        BADS_Scan_Params_OffOn_t                A512;
322        BADS_Scan_Params_OffOn_t                A256;
323        BADS_Scan_Params_OffOn_t                A128;
324        BADS_Scan_Params_OffOn_t                A64;
325        BADS_Scan_Params_OffOn_t                A32;
326        BADS_Scan_Params_OffOn_t                A16;
327        uint32_t                                                Carrier_Search;
328        uint32_t                                                Upper_Baud_Search;
329        uint32_t                                                Lower_Baud_Search;
330}BADS_Scan_Params_t;
331
332/*Put all local variables that need to be global here
333 *These values need to be initialized BADS_P_Initialize()*/
334
335/*This structure is also used as an entry into a LUT so don't change*/
336typedef enum BADS_Local_Params_Annex_s
337{
338        BADS_Local_Params_Annex_eAnnexA = 0,
339        BADS_Local_Params_Annex_eAnnexB = 1
340}BADS_Local_Params_Annex_t;
341
342/*This structure is also used as an entry into a LUT so don't change*/
343typedef enum BADS_Local_Params_QAM_s
344{
345        BADS_Local_Params_QAM_eQam16 = 0,
346        BADS_Local_Params_QAM_eQam32 = 1,
347        BADS_Local_Params_QAM_eQam64 = 2,
348        BADS_Local_Params_QAM_eQam128 = 3,
349        BADS_Local_Params_QAM_eQam256 = 4,
350        BADS_Local_Params_QAM_eQam512 = 5,
351        BADS_Local_Params_QAM_eQam1024 = 6
352}BADS_Local_Params_QAM_t;
353
354typedef enum BADS_Local_Params_TimingLock_s
355{
356        BADS_Local_Params_TimingLock_eNotChecked=0,
357        BADS_Local_Params_TimingLock_eLocked=1,
358        BADS_Local_Params_TimingLock_eUnLocked=2,
359        BADS_Local_Params_TimingLock_eLockedAlternateQam=3
360}BADS_Local_Params_TimingLock_t;
361
362typedef enum BADS_Local_Params_FECSpectrum_s
363{
364        BADS_Local_Params_FECSpectrum_eNotInverted=0,
365        BADS_Local_Params_FECSpectrum_eInverted=1,
366        BADS_Local_Params_FECSpectrum_eNotInvertedAutoInvert=2,
367        BADS_Local_Params_FECSpectrum_eInvertedAutoInvert=3
368}BADS_Local_Params_FECSpectrum_t;
369
370typedef enum BADS_Local_Params_OffOn_s
371{
372  BADS_Local_Params_eDisable=0, 
373  BADS_Local_Params_eEnable=1
374}BADS_Local_Params_OffOn_t;
375
376typedef enum BADS_Local_Params_AcqType_s
377{
378        BADS_Local_Params_AcqType_eFastAcquire=0,
379        BADS_Local_Params_AcqType_eSlowAcquire=1,
380        BADS_Local_Params_AcqType_eScan=2,
381        BADS_Local_Params_AcqType_eSlowAcquireScan=3
382}BADS_Local_Params_AcqType_t;
383
384typedef enum BADS_Local_Params_AcqStatus_s
385{
386        BADS_Local_Params_AcqStatus_eNoPower=0,
387        BADS_Local_Params_AcqStatus_eNoTiming=1,
388        BADS_Local_Params_AcqStatus_eNoCarrier=2,
389        BADS_Local_Params_AcqStatus_eNoFECLock=3,
390        BADS_Local_Params_AcqStatus_eLockedFast=4,
391        BADS_Local_Params_AcqStatus_eLockedSlow=5,
392        BADS_Local_Params_AcqStatus_eEarlyExit=6
393}BADS_Local_Params_AcqStatus_t;
394
395typedef enum BADS_Local_Params_FECType_s
396{
397        BADS_Local_Params_FECType_eNotInverted=0,
398        BADS_Local_Params_FECType_eInverted=1,
399        BADS_Local_Params_FECType_eNotInvertedAutoInvert=2,
400        BADS_Local_Params_FECType_eInvertedAutoInvert=3
401}BADS_Local_Params_FECType_t;
402
403typedef struct BADS_Local_Params_s
404{
405        BADS_Local_Params_AcqType_t         AcqType;
406        BADS_Local_Params_AcqStatus_t   AcqStatus;
407        uint32_t                                                                                                Carrier_Search;
408        uint32_t                                                                                                Upper_Baud_Search;
409        uint32_t                                                                                                Lower_Baud_Search;
410        bool                                                                                                            Q1024A;
411        bool                                                                                                            Q512A;
412        bool                                                                                                            Q256A;
413        bool                                                                                                            Q256B;
414        bool                                                                                                            Q64A;
415        bool                                                                                                            Q64B;   
416        bool                                                                                                            Q16A;
417        bool                                                                                                            Q128A;
418        bool                                                                                                            Q32A;
419        bool                                                                                                            Q1024B;
420        bool                                                                                                            Invert_Spectrum;
421        bool                                                                                                            Flip_Spectrum;
422        int32_t                                                                                                 ChannelPower_x256;
423        BADS_Local_Params_OffOn_t                               DoneFirstTimeFlag;                                     
424        BADS_Local_Params_Annex_t                               Annex;
425        BADS_Local_Params_QAM_t                                 QAM;
426        uint32_t                                                                                                Old_UERC1;
427        uint32_t                                                                                                Old_NBERC1;
428        uint32_t                                                                                                Old_CBERC1;
429        uint32_t                                                                                                BadBlockCount;
430        uint32_t                                                                                                StuckFECCount;
431        BADS_Local_Params_OffOn_t                               TestLockFlag;
432        BADS_Local_Params_FECSpectrum_t FECSpectrum;
433        int32_t                                                                                                 IfFrequency;
434        int32_t                                                                                                 Carrier_Offset;
435        uint32_t                                                                                                ElapsedTime;
436        uint32_t                                                                                                TotalTime;
437        uint32_t                                                                                                lock_status;  /*Added for PI*/
438        bool                                                                                                      Acquire_done; /*Added for PI*/
439        bool                                                                                                            EarlyExit;    /*Added for PI*/
440        bool                                                                                        LockUpdate;  /*Added for PI*/
441}BADS_Local_Params_t;
442
443/*Put all variables that BBS needs to change here
444 *These values need to be initialized by the BADS_P_Initialize()*/
445
446typedef enum BADS_Internal_Params_OffOn_s
447{
448  BADS_Internal_Params_eDisable=0, 
449  BADS_Internal_Params_eEnable=1
450}BADS_Internal_Params_OffOn_t;
451
452typedef struct BADS_Internal_Params_s
453{
454        BADS_Internal_Params_OffOn_t                    BBS_Rerun_Init;
455        BADS_Internal_Params_OffOn_t                    BBS_AnnexA_Burst_Mode;
456        BADS_Internal_Params_OffOn_t                    BBS_CWCe;
457        BADS_Internal_Params_OffOn_t                    BBS_CFLe;
458        BADS_Internal_Params_OffOn_t                    BBS_CIP_CO_JamLoad;
459        BADS_Internal_Params_OffOn_t                    BBS_DDAGCe;
460        BADS_Internal_Params_OffOn_t                    BBS_IMCe;
461        BADS_Internal_Params_OffOn_t                    BBS_IQPHSe;
462        BADS_Internal_Params_OffOn_t                    BBS_IQIMBe;
463        BADS_Internal_Params_OffOn_t                    BBS_Sweep_Switch;
464        BADS_Internal_Params_OffOn_t                    BBS_Sweep_Neg2Pos_Invert;
465        BADS_Internal_Params_OffOn_t                    BBS_Acquisition_Test;
466        BADS_Internal_Params_OffOn_t                    BBS_Timing_Scan;
467        BADS_Internal_Params_OffOn_t                    BBS_Timing_Scan_Load;
468        BADS_Internal_Params_OffOn_t                    BBS_Carrier_Scan;
469        BADS_Internal_Params_OffOn_t                    BBS_Carrier_Scan_Load;
470        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag0;
471        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag1;
472        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag2;
473        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag3;
474        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag4;
475        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag5;
476        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag6;
477        BADS_Internal_Params_OffOn_t                    BBS_Unused_Flag7;
478        uint32_t                                                                BBS_Acquisition_Number;
479        uint32_t                                                                BBS_Timing_Scan_Extra_Bins;
480        uint32_t                                                                BBS_Carrier_Scan_Extra_Bins;   
481        uint32_t                                                                BBS_Timing_Scan_Percent;
482        uint32_t                                                                BBS_Carrier_Scan_Percent;
483        uint32_t                                                                BBS_Timing_Scan_Threshold;
484        uint32_t                                                                BBS_Carrier_Scan_Threshold;     
485        int32_t                                                                 BBS_CWC1_Fin1;
486        int32_t                                                                 BBS_CWC2_Fin2;
487        int32_t                                                                 BBS_CWC3_Fin3;
488        int32_t                                                                 BBS_CWC4_Fin4;
489        int32_t                                                                 BBS_CWC1_Foffset1;
490        int32_t                                                                 BBS_CWC2_Foffset2;
491        int32_t                                                                 BBS_CWC3_Foffset3;
492        int32_t                                                                 BBS_CWC4_Foffset4;
493        uint32_t                                                                BBS_AcqWord0;
494        uint32_t                                                                BBS_AcqWord1;
495        uint32_t                                                                BBS_AcqWord2;
496        uint32_t                                                                BBS_AcqWord3;
497        uint32_t                                                                BBS_AcqWord4;
498        uint32_t                                                                BBS_AcqWord5;
499        uint32_t                                                                BBS_AcqWord6;
500        uint32_t                                                                BBS_AcqWord7;
501}BADS_Internal_Params_t;
502
503/*This is the main structure by the ADS acquisition functions*/
504typedef struct BADS_3x7x_AcqParams_s
505{
506        BADS_Acquire_Params_t   BADS_Acquire_Params;
507        BADS_Scan_Params_t      BADS_Scan_Params;
508        BADS_Internal_Params_t  BADS_Internal_Params;
509        BADS_Local_Params_t     BADS_Local_Params;
510}BADS_3x7x_AcqParams_t;
511 
512/***************************************************************/
513/***************************************************************/
514
515typedef enum BADS_3x7x_ChnLockStatus_UnlockLock_s
516{
517  BADS_3x7x_ChnLockStatus_eUnlock=0, 
518  BADS_3x7x_ChnLockStatus_eLock=1
519}BADS_3x7x_ChnLockStatus_UnlockLock_t;
520
521typedef struct BADS_3x7x_ChnLockStatus_s
522{
523        BADS_3x7x_ChnLockStatus_UnlockLock_t  QLK;
524        BADS_3x7x_ChnLockStatus_UnlockLock_t  FLK;
525        uint32_t                                                          SNR;
526        uint32_t                                                          SNRAVG;
527        uint32_t                                                          ReAck_Count;
528        uint32_t                                                          ReSync_Count;
529        uint32_t                                                          ReAcquire_Count;
530}BADS_3x7x_ChnLockStatus_t;
531
532/***************************************************************/
533/***************************************************************/
534typedef enum BADS_3x7x_ChnStatus_AcqType_s
535{
536        BADS_3x7x_ChnStatus_AcqType_eFastAcquire=0,
537        BADS_3x7x_ChnStatus_AcqType_eSlowAcquire=1,
538        BADS_3x7x_ChnStatus_AcqType_eScan=2,
539        BADS_3x7x_ChnStatus_AcqType_eSlowAcquireScan=3
540}BADS_3x7x_ChnStatus_AcqType_t;
541
542typedef enum BADS_3x7x_ChnStatus_AcqStatus_s
543{
544        BADS_3x7x_ChnStatus_AcqStatus_eNoPower=0,
545        BADS_3x7x_ChnStatus_AcqStatus_eNoTiming=1,
546        BADS_3x7x_ChnStatus_AcqStatus_eNoCarrier=2,
547        BADS_3x7x_ChnStatus_AcqStatus_eNoFECLock=3,
548        BADS_3x7x_ChnStatus_AcqStatus_eLockedFast=4,
549        BADS_3x7x_ChnStatus_AcqStatus_eLockedSlow=5,
550        BADS_3x7x_ChnStatus_AcqStatus_eEarlyExit=6
551}BADS_3x7x_ChnStatus_AcqStatus_t;
552
553typedef enum BADS_3x7x_ChnStatus_Annex_s
554{
555        BADS_3x7x_ChnStatus_Annex_eAnnexA=0,
556        BADS_3x7x_ChnStatus_Annex_eAnnexB=1 
557}BADS_3x7x_ChnStatus_Annex_t;
558
559typedef enum BADS_3x7x_ChnStatus_BPS_s
560{
561        BADS_3x7x_ChnStatus_BPS_eQam16=0,
562        BADS_3x7x_ChnStatus_BPS_eQam32=1,
563        BADS_3x7x_ChnStatus_BPS_eQam64=2,
564        BADS_3x7x_ChnStatus_BPS_eQam128=3,
565        BADS_3x7x_ChnStatus_BPS_eQam256=4,
566        BADS_3x7x_ChnStatus_BPS_eQam512=5,
567        BADS_3x7x_ChnStatus_BPS_eQam1024=6
568}BADS_3x7x_ChnStatus_BPS_t;
569
570typedef enum BADS_3x7x_ChnStatus_UnlockLock_s
571{
572  BADS_3x7x_ChnStatus_eUnlock=0, 
573  BADS_3x7x_ChnStatus_eLock=1
574}BADS_3x7x_ChnStatus_UnlockLock_t;
575
576typedef enum BADS_3x7x_ChnStatus_OffOn_s
577{
578  BADS_3x7x_ChnStatus_eDisable=0, 
579  BADS_3x7x_ChnStatus_eEnable=1
580}BADS_3x7x_ChnStatus_OffOn_t;
581
582typedef struct BADS_3x7x_ChnStatus_s
583{
584        BADS_3x7x_ChnStatus_OffOn_t                             Auto;
585        BADS_3x7x_ChnStatus_UnlockLock_t        FLK; 
586        BADS_3x7x_ChnStatus_UnlockLock_t        QLK; 
587        BADS_3x7x_ChnStatus_AcqType_t       AcqType; 
588  BADS_3x7x_ChnStatus_AcqStatus_t   AcqStatus;
589        BADS_3x7x_ChnStatus_OffOn_t                             AI;
590        BADS_3x7x_ChnStatus_Annex_t                             AB;
591        BADS_3x7x_ChnStatus_BPS_t                                       BPS;
592        BADS_3x7x_ChnStatus_OffOn_t                             B1024;
593        BADS_3x7x_ChnStatus_OffOn_t                             B256;
594        BADS_3x7x_ChnStatus_OffOn_t                             B64;
595        BADS_3x7x_ChnStatus_OffOn_t                             A1024;
596        BADS_3x7x_ChnStatus_OffOn_t                             A512;
597        BADS_3x7x_ChnStatus_OffOn_t                             A256;
598        BADS_3x7x_ChnStatus_OffOn_t                             A128;
599        BADS_3x7x_ChnStatus_OffOn_t                             A64;
600        BADS_3x7x_ChnStatus_OffOn_t                             A32;
601        BADS_3x7x_ChnStatus_OffOn_t                             A16;
602        BADS_3x7x_ChnStatus_OffOn_t             SI; 
603        uint32_t                          Interleaver;
604        uint32_t                                                                                                        ReAck_Count;
605        uint32_t                                                                          ReSync_Count;
606        uint32_t                                                                          AcquisitionTime1;
607        uint32_t                                                                          AcquisitionTime2;
608        uint32_t                                                                          SNR_db;
609        uint32_t                                                                          SNRAVG_db;
610        int32_t                                                                     EstChannelPower_dbm;                                       
611        int32_t                                                                     FrontEndGain_db;
612        int32_t                                                                     AGCB_Gain_db;
613        int32_t                                                                     EQ_Gain_db;
614        uint32_t                                                                          Carrier_Scan;
615        int32_t                                                                     Carrier_Error;
616        int32_t                                                                     Symbol_Error;
617        int32_t                                                                     Phase_Error;
618        uint32_t                                                                          FEC_Corr_RS_Bits;
619        uint32_t                                                                          FEC_Corr_RS_Blocks;
620        uint32_t                                                                          FEC_UCorr_RS_Blocks;
621        uint32_t                                                                          FEC_Clean_RS_Blocks;
622        uint32_t                                                                          PRE_FEC_BERT;
623        uint32_t                                                                          BERT;
624        uint32_t                          RF_Frequency;
625        int32_t                           RF_Offset;
626        uint32_t                          Upper_Symbol_Scan;
627        uint32_t                          Lower_Symbol_Scan;
628        uint32_t                                                                          Symbol_Rate;
629        int32_t                                                                                                         EQ_Main_Tap;
630}BADS_3x7x_ChnStatus_t;
631
632/* Structures for ScanStatus*/
633typedef enum BADS_3x7x_ChnScanStatus_AcqStatus_s
634{
635      BADS_3x7x_ChnScanStatus_AcqStatus_eNoPower=0,
636      BADS_3x7x_ChnScanStatus_AcqStatus_eNoTiming=1,
637      BADS_3x7x_ChnScanStatus_AcqStatus_eNoCarrier=2,
638      BADS_3x7x_ChnScanStatus_AcqStatus_eNoFECLock=3,
639      BADS_3x7x_ChnScanStatus_AcqStatus_eLockedFast=4,
640      BADS_3x7x_ChnScanStatus_AcqStatus_eLockedSlow=5,
641      BADS_3x7x_ChnScanStatus_AcqStatus_eEarlyExit=6
642}BADS_3x7x_ChnScanStatus_AcqStatus_t;
643
644typedef enum BADS_3x7x_ChnScanStatus_BPS_s
645{
646      BADS_3x7x_ChnScanStatus_BPS_eQam16=0,
647      BADS_3x7x_ChnScanStatus_BPS_eQam32=1,
648      BADS_3x7x_ChnScanStatus_BPS_eQam64=2,
649      BADS_3x7x_ChnScanStatus_BPS_eQam128=3,
650      BADS_3x7x_ChnScanStatus_BPS_eQam256=4,
651      BADS_3x7x_ChnScanStatus_BPS_eQam512=5,
652      BADS_3x7x_ChnScanStatus_BPS_eQam1024=6
653}BADS_3x7x_ChnScanStatus_BPS_t;
654
655typedef enum BADS_3x7x_ChnScanStatus_Annex_s
656{
657      BADS_3x7x_ChnScanStatus_Annex_eAnnexA=0,
658      BADS_3x7x_ChnScanStatus_Annex_eAnnexB=1 
659}BADS_3x7x_ChnScanStatus_Annex_t;
660
661typedef enum BADS_3x7x_ChnScanStatus_Interleaver_s
662{
663      BADS_3x7x_ChnScanStatus_Interleaver_eI128_J1=0,
664      BADS_3x7x_ChnScanStatus_Interleaver_eI128_J2=1,
665      BADS_3x7x_ChnScanStatus_Interleaver_eI128_J3=2,
666      BADS_3x7x_ChnScanStatus_Interleaver_eI128_J4=3,
667      BADS_3x7x_ChnScanStatus_Interleaver_eI64_J2=4,
668      BADS_3x7x_ChnScanStatus_Interleaver_eI32_J4=5,
669      BADS_3x7x_ChnScanStatus_Interleaver_eI16_J8=6,
670      BADS_3x7x_ChnScanStatus_Interleaver_eI8_J16=7,
671      BADS_3x7x_ChnScanStatus_Interleaver_eI4_J32=8,
672      BADS_3x7x_ChnScanStatus_Interleaver_eI2_J64=9,
673      BADS_3x7x_ChnScanStatus_Interleaver_eI1_J128=10,
674      BADS_3x7x_ChnScanStatus_Interleaver_eI12_J17=11,
675      BADS_3x7x_ChnScanStatus_Interleaver_eUnsupported=12
676}BADS_3x7x_ChnScanStatus_Interleaver_t;
677
678typedef enum BADS_3x7x_ChnScanStatus_Spectrum_s
679{
680      BADS_3x7x_ChnScanStatus_Spectrum_eNormal=0,
681      BADS_3x7x_ChnScanStatus_Spectrum_eFlipped=1
682}BADS_3x7x_ChnScanStatus_Spectrum_t;
683
684typedef enum BADS_3x7x_ChnScanStatus_OffOn_s
685{
686      BADS_3x7x_ChnScanStatus_eDisable=0, 
687      BADS_3x7x_ChnScanStatus_eEnable=1
688}BADS_3x7x_ChnScanStatus_OffOn_t;
689
690typedef enum BADS_3x7x_ChnScanStatus_UnlockLock_s
691{
692      BADS_3x7x_ChnScanStatus_eUnlock=0, 
693      BADS_3x7x_ChnScanStatus_eLock=1
694}BADS_3x7x_ChnScanStatus_UnlockLock_t;
695
696typedef enum BADS_3x7x_ChnScanStatus_AcqType_s
697{
698        BADS_3x7x_ChnScanStatus_AcqType_eAuto=0,
699        BADS_3x7x_ChnScanStatus_AcqType_eFast=1,
700        BADS_3x7x_ChnScanStatus_AcqType_eSlow=2,
701        BADS_3x7x_ChnScanStatus_AcqType_eScan=3
702}BADS_3x7x_ChnScanStatus_AcqType_t;
703
704typedef struct BADS_3x7x_ChnScanStatus_s
705{
706      BADS_3x7x_ChnScanStatus_AcqStatus_t   AcqStatus;
707      BADS_3x7x_ChnScanStatus_Spectrum_t    Spectrum;
708      BADS_3x7x_ChnScanStatus_BPS_t         BPS;
709      BADS_3x7x_ChnScanStatus_Annex_t       AB;
710      BADS_3x7x_ChnScanStatus_Interleaver_t Interleaver;
711      int32_t                               RF_Offset;
712      uint32_t                              Symbol_Rate;
713
714      /* Extra scan status param info */
715      BADS_3x7x_ChnScanStatus_OffOn_t       Auto;
716      BADS_3x7x_ChnScanStatus_UnlockLock_t      FLK; 
717      BADS_3x7x_ChnScanStatus_UnlockLock_t      QLK; 
718      BADS_3x7x_ChnScanStatus_AcqType_t     AcqType;
719
720}BADS_3x7x_ChnScanStatus_t;
721 
722
723#ifdef __cplusplus
724}
725#endif
726
727#endif
Note: See TracBrowser for help on using the repository browser.