source: svn/newcon3bcm2_21bu/dst/dhl/src/test/FrontEndTest.c @ 22

Last change on this file since 22 was 22, checked in by phkim, 11 years ago
  1. phkim
  2. newcon3sk 를 kctv 로 브랜치 함
  • Property svn:executable set to *
File size: 4.0 KB
Line 
1/**
2        FrontEndTest.c
3
4        ÀÌ ¸ðµâÀº DHL_FE_init ¿Í DHL_FE_Start, DHL_FE_GetSignalStatus ¿¡ ´ëÇÑ Å×½ºÆ® ·çƾÀÌ´Ù.
5
6*/
7
8
9#include "DHL_FE.h"
10#include "DHL_OSAL.h"
11
12
13
14
15#if COMMENT
16____Test_1____(){}
17#endif
18
19/*
20        In-band ä³Î Tune µ¿ÀÛ Å×½ºÆ®.
21
22        TuneTest ÇÔ¼ö¸¦ ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú Çϱâ¿Í °°Àº ¼³Á¤À» ÇØÁÖ¾î¾ß ÇÔ!!!
23                1. I2C ÃʱâÈ­
24                2. FE ä³Î ¼ö Á¤ÀÇ : DHL_config.h ¿¡ Á¤ÀÇ µÇ¾î ÀÖÀ½..
25       
26        ä³Î(Á֯ļö) ¹× modulation type À» ÁöÁ¤ÇÏ¿© In-band Tune µ¿ÀÛ ¼öÇà..
27        8VSB, 64QAM, 256QAM ¸¸ Áö¿øµÊ !!
28        In-band Tune À̹ǷΠDHL_FE_Start() ÀÇ Settings °ªÀº NULL ó¸® ÇÑ´Ù.
29       
30        Input ÀÎÀÚ
31                id : »ç¿ëÇÒ FE ÀÇ Ã¤³Î No.
32                chno : Tune ÇÒ ¹æ¼Û ä³Î No.
33                demod_id : 0 (VSB), 1 (64QAM), 2 (256QAM)
34               
35*/
36
37
38void FrontEnd_TuneTest(unsigned char id, unsigned char chno, unsigned char demod_id)
39{
40       
41        DHL_RESULT dhr = DHL_OK;
42
43        tDHL_Demod demod;
44        tDHL_FreqStd freq_table;
45        unsigned long freq_KHz;
46       
47        switch(demod_id)
48        {
49                case 0 : // VSB
50                        demod = eDHL_DEMOD_8VSB;
51                        freq_table = eDHL_FREQ_AIR;
52                        break;
53                       
54                case 1 : // 64QAM
55                        demod = eDHL_DEMOD_64QAM;
56                        freq_table = eDHL_FREQ_STD;
57                        break;
58                       
59                case 2 : // 256QAM
60                        demod = eDHL_DEMOD_256QAM;
61                        freq_table = eDHL_FREQ_STD;
62                        break;
63               
64                default :
65                        return;
66                       
67        }
68
69        freq_KHz = DHL_FE_ChannelToFrequency(chno, freq_table);
70       
71        dhr = DHL_FE_Init();
72        if(dhr != DHL_OK)
73        {
74                // ÇÊ¿ä½Ã ¿¡·¯ üũ..
75        }
76       
77        dhr = DHL_FE_Start(id, freq_KHz, demod, NULL);
78        if(dhr != DHL_OK)
79        {
80                // ÇÊ¿ä½Ã ¿¡·¯ üũ..
81        }
82
83
84}
85
86
87#if COMMENT
88____Test_2____(){}
89#endif
90
91/*
92
93        Signal Status üũ µ¿ÀÛ Å×½ºÆ®.
94       
95        Lock üũ, SNR üũ, SER üũ µ¿ÀÛ ¼öÇà..
96       
97        ¹Ýµå½Ã FE init ¹× Tune µ¿ÀÛÀÌ ÁøÇàµÈ ÈÄ¿¡ ¼öÇà µÇ¾î¾ß ÇÔ!!
98
99        Inout ÀÎÀÚ
100                id : »ç¿ëÇÒ FE ÀÇ Ã¤³Î No.
101                stat_id : 0 (Lock üũ), 1 ( SNR üũ), 2 (SER üũ)
102
103        Output ÀÎÀÚ
104                *stat_value : »óŰª ¹Ýȯ
105
106*/
107
108
109void FrontEnd_StatusTest(unsigned char id, unsigned char stat_id, unsigned long *stat_value)
110{
111
112        DHL_RESULT dhr = DHL_OK;
113        tDHL_SignalStatus status;
114
115        switch(stat_id)
116        {
117                case 0 : // Lock üũ
118                        status = eDHL_SIGNAL_LOCK;
119                        break;
120               
121                case 1 : // SNR(1000)  üũ
122                        status = eDHL_SIGNAL_SNR;
123                        break;
124                       
125                case 2 : // SER  üũ
126                        status = eDHL_SIGNAL_SER;
127                        break;
128               
129                default :
130                        return;
131                       
132       
133        }
134
135        dhr = DHL_FE_GetSignalStatus(id, status, stat_value);
136        if(dhr != DHL_OK)
137        {
138                // ÇÊ¿ä½Ã ¿¡·¯ üũ..
139        }
140
141
142}
143
144
145
146
147#if COMMENT
148____ShellTest____(){}
149#endif
150
151/*
152        Debug Shell ÀÌ ±¸ÇöµÇ¾î ÀÖ´Â °æ¿ì ´ÙÀ½°ú °°ÀÌ Å×½ºÆ®¸¦ ÁøÇàÇϵµ·Ï ÇÑ´Ù.
153
154        1. ½Ã½ºÅÛ ÃʱâÈ­ °úÁ¤ Áß¿¡ DHL_FE_Init()°¡ »ç¿ëµÇÁö ¾ÊÀº °æ¿ì¶ó¸é
155                ¸ÕÀú DHL_FE_Init À» ½ÇÇàÇØ ÁØ´Ù.
156                Shell> DHL_FE_Init
157
158        2.
159                Á֯ļö Á¤º¸¸¦ ¾Ë°í ÀÖ´Â Àιêµå Æ©´×À̶ó¸é Á÷Á¢ ½©¿¡¼­ ¼öÇà °¡´ÉÇÏ´Ù.
160
161                        Shell> DHL_FE_Start 0 57000 1
162
163                                VSB=1, QAM64=2, QAM256=3
164
165                ä³Î Á¤º¸¸¸ ¾Ë°í ÀÖ´Â °æ¿ì.. Air RF 2¹ø, VSB
166               
167                        Shell> FeTest_Tune 0 0  2 1    // Air, RF 2, VSB
168                        Shell> FeTest_Tune 0 0 14 1    // Air, RF 14, VSB
169                        Shell> FeTest_Tune 0 1 79 3    // Cable, RF 79, QAM256
170               
171
172
173        3. °¢Á¾ »óÅ Á¶È¸ Å×½ºÆ®..
174       
175                        Shell> FeTest_Status 0 0  // lock üũ
176                        Shell> FeTest_Status 0 2  // strength üũ
177                        Shell> FeTest_Status 0 3  // SNR1000
178                        Shell> FeTest_Status 0 4  // SER
179
180*/
181
182DHL_RESULT FeTest_Tune(tDHL_TunerID id, int isCable, int rf, int demod)
183{
184        DHL_RESULT dhr;
185        tDHL_FreqStd std = isCable ? eDHL_FREQ_STD : eDHL_FREQ_AIR;
186
187        UINT32 freqKHz = DHL_FE_ChannelToFrequency(rf, std);
188
189        if (freqKHz == 0) {
190                DHL_OS_Printf("!! change freq err\n");
191                return DHL_FAIL;
192        }
193       
194        dhr = DHL_FE_Start(id, freqKHz, (tDHL_Demod)demod, NULL);
195        return dhr;
196}
197
198UINT32 FeTest_Status(tDHL_TunerID id, tDHL_SignalStatus selector)
199{
200        UINT32 value;
201        DHL_RESULT dhr;
202
203        dhr = DHL_FE_GetSignalStatus(id, selector, &value);
204
205        if (dhr) {
206                DHL_OS_Printf("!! GetSignalStatus(id %d, type %d '%s') err %d\n",
207                                id, selector, FE_SIGNAL_STATUS_STR(selector), dhr);
208        }
209        else {
210                DHL_OS_Printf("GetSignalStatus(id %d, type %d '%s') ==> %u, 0x%x\n",
211                                id, selector, FE_SIGNAL_STATUS_STR(selector), value, value);
212        }
213        return value;
214}
215
Note: See TracBrowser for help on using the repository browser.