source: svn/trunk/newcon3bcm2_21bu/dst/dhl/api/test/FrontEndTest.c

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

first commit

  • Property svn:executable set to *
File size: 6.5 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#include "DHL_APITest.h"
13
14
15
16
17#if COMMENT
18____Test_1____(){}
19#endif
20
21/*
22        In-band ä³Î Tune µ¿ÀÛ Å×½ºÆ®.
23
24        TuneTest ÇÔ¼ö¸¦ ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú Çϱâ¿Í °°Àº ¼³Á¤À» ÇØÁÖ¾î¾ß ÇÔ!!!
25                1. I2C ÃʱâÈ­
26                2. FE ä³Î ¼ö Á¤ÀÇ : DHL_config.h ¿¡ Á¤ÀÇ µÇ¾î ÀÖÀ½..
27       
28        ä³Î(Á֯ļö) ¹× modulation type À» ÁöÁ¤ÇÏ¿© In-band Tune µ¿ÀÛ ¼öÇà..
29        8VSB, 64QAM, 256QAM ¸¸ Áö¿øµÊ !!
30        In-band Tune À̹ǷΠDHL_FE_Start() ÀÇ Settings °ªÀº NULL ó¸® ÇÑ´Ù.
31       
32        Input ÀÎÀÚ
33                id : »ç¿ëÇÒ FE ÀÇ Ã¤³Î No.
34                chno : Tune ÇÒ ¹æ¼Û ä³Î No.
35                demod_id : 0 (VSB), 1 (64QAM), 2 (256QAM)
36               
37*/
38
39
40void FrontEnd_TuneTest(unsigned char id, unsigned char chno, unsigned char demod_id)
41{
42       
43        DHL_RESULT dhr = DHL_OK;
44
45        tDHL_Demod demod;
46        tDHL_FreqStd freq_table;
47        unsigned long freq_KHz;
48       
49        switch(demod_id)
50        {
51                case 0 : // VSB
52                        demod = eDHL_DEMOD_8VSB;
53                        freq_table = eDHL_FREQ_AIR;
54                        break;
55                       
56                case 1 : // 64QAM
57                        demod = eDHL_DEMOD_64QAM;
58                        freq_table = eDHL_FREQ_STD;
59                        break;
60                       
61                case 2 : // 256QAM
62                        demod = eDHL_DEMOD_256QAM;
63                        freq_table = eDHL_FREQ_STD;
64                        break;
65               
66                default :
67                        return;
68                       
69        }
70
71        freq_KHz = DHL_FE_ChannelToFrequency(chno, freq_table);
72       
73        dhr = DHL_FE_Init();
74        if(dhr != DHL_OK)
75        {
76                // ÇÊ¿ä½Ã ¿¡·¯ üũ..
77        }
78       
79        dhr = DHL_FE_Start(id, freq_KHz, demod, NULL);
80        if(dhr != DHL_OK)
81        {
82                // ÇÊ¿ä½Ã ¿¡·¯ üũ..
83        }
84
85
86}
87
88
89#if COMMENT
90____Test_2____(){}
91#endif
92
93/*
94
95        Signal Status üũ µ¿ÀÛ Å×½ºÆ®.
96       
97        Lock üũ, SNR üũ, SER üũ µ¿ÀÛ ¼öÇà..
98       
99        ¹Ýµå½Ã FE init ¹× Tune µ¿ÀÛÀÌ ÁøÇàµÈ ÈÄ¿¡ ¼öÇà µÇ¾î¾ß ÇÔ!!
100
101        Inout ÀÎÀÚ
102                id : »ç¿ëÇÒ FE ÀÇ Ã¤³Î No.
103                stat_id : 0 (Lock üũ), 1 ( SNR üũ), 2 (SER üũ)
104
105        Output ÀÎÀÚ
106                *stat_value : »óŰª ¹Ýȯ
107
108*/
109
110
111void FrontEnd_StatusTest(unsigned char id, unsigned char stat_id, unsigned long *stat_value)
112{
113
114        DHL_RESULT dhr = DHL_OK;
115        tDHL_SignalStatus status;
116
117        switch(stat_id)
118        {
119                case 0 : // Lock üũ
120                        status = eDHL_SIGNAL_LOCK;
121                        break;
122               
123                case 1 : // SNR(1000)  üũ
124                        status = eDHL_SIGNAL_SNR;
125                        break;
126                       
127                case 2 : // SER  üũ
128                        status = eDHL_SIGNAL_SER;
129                        break;
130               
131                default :
132                        return;
133                       
134       
135        }
136
137        dhr = DHL_FE_GetSignalStatus(id, status, stat_value);
138        if(dhr != DHL_OK)
139        {
140                // ÇÊ¿ä½Ã ¿¡·¯ üũ..
141        }
142
143
144}
145
146
147
148
149#if COMMENT
150____ShellTest____(){}
151#endif
152
153/*
154        Debug Shell ÀÌ ±¸ÇöµÇ¾î ÀÖ´Â °æ¿ì ´ÙÀ½°ú °°ÀÌ Å×½ºÆ®¸¦ ÁøÇàÇϵµ·Ï ÇÑ´Ù.
155
156        1. ½Ã½ºÅÛ ÃʱâÈ­ °úÁ¤ Áß¿¡ DHL_FE_Init()°¡ »ç¿ëµÇÁö ¾ÊÀº °æ¿ì¶ó¸é
157                ¸ÕÀú DHL_FE_Init À» ½ÇÇàÇØ ÁØ´Ù.
158                Shell> DHL_FE_Init
159
160        2.
161                Á֯ļö Á¤º¸¸¦ ¾Ë°í ÀÖ´Â Àιêµå Æ©´×À̶ó¸é Á÷Á¢ ½©¿¡¼­ ¼öÇà °¡´ÉÇÏ´Ù.
162
163                        Shell> DHL_FE_Start 0 57000 1
164
165                                VSB=1, QAM64=2, QAM256=3
166
167                ä³Î Á¤º¸¸¸ ¾Ë°í ÀÖ´Â °æ¿ì.. Air RF 2¹ø, VSB
168               
169                        Shell> FeTest_Tune 0 0  2 1    // Air, RF 2, VSB
170                        Shell> FeTest_Tune 0 0 14 1    // Air, RF 14, VSB
171                        Shell> FeTest_Tune 0 1 79 3    // Cable, RF 79, QAM256
172               
173
174
175        3. °¢Á¾ »óÅ Á¶È¸ Å×½ºÆ®..
176       
177                        Shell> FeTest_Status 0 0  // lock üũ
178                        Shell> FeTest_Status 0 2  // strength üũ
179                        Shell> FeTest_Status 0 3  // SNR1000
180                        Shell> FeTest_Status 0 4  // SER
181
182*/
183
184DHL_RESULT FeTest_Tune(tDHL_TunerID id, int isCable, int rf, int demod)
185{
186        DHL_RESULT dhr;
187        tDHL_FreqStd std = isCable ? eDHL_FREQ_STD : eDHL_FREQ_AIR;
188
189        UINT32 freqKHz = DHL_FE_ChannelToFrequency(rf, std);
190
191        if (freqKHz == 0) {
192                DHL_OS_Printf("!! change freq err\n");
193                return DHL_FAIL;
194        }
195       
196        dhr = DHL_FE_Start(id, freqKHz, (tDHL_Demod)demod, NULL);
197        return dhr;
198}
199
200/*
201        frontend tuning with frequence
202
203        id : frontend id
204        freqKHz : tuning ÇÒ Á֯ļö (KHz ´ÜÀ§)
205        demod : tuning ÇÒ demod type (tDHL_Demod Á¤ÀÇµÈ type ÂüÁ¶)
206*/
207DHL_RESULT FeTest_Tune_Freq(tDHL_TunerID id, unsigned long freqKHz, int demod)
208{
209        DHL_RESULT dhr;
210
211        if (freqKHz == 0) {
212                DHL_OS_Printf("!! change freq err\n");
213                return DHL_FAIL;
214        }
215       
216        dhr = DHL_FE_Start(id, freqKHz, (tDHL_Demod)demod, NULL);
217        return dhr;
218}
219
220
221UINT32 FeTest_Status(tDHL_TunerID id, tDHL_SignalStatus selector)
222{
223        UINT32 value;   
224        DHL_RESULT dhr;
225
226        dhr = DHL_FE_GetSignalStatus(id, selector, &value);
227
228        if (dhr) {
229                DHL_OS_Printf("!! GetSignalStatus(id %d, type %d '%s') err %d\n",
230                                id, selector, FE_SIGNAL_STATUS_STR(selector), dhr);
231        }
232        else {
233                if(selector == eDHL_SIGNAL_NTSC_FREQ_DEVIATION)
234                {
235                        DHL_OS_Printf("GetSignalStatus(id %d, type %d '%s') ==> %d\n",
236                                        id, selector, FE_SIGNAL_STATUS_STR(selector), (int)value);
237                }
238                else
239                {
240                        DHL_OS_Printf("GetSignalStatus(id %d, type %d '%s') ==> %u, 0x%x\n",
241                                        id, selector, FE_SIGNAL_STATUS_STR(selector), value, value);
242                }
243        }
244        return value;
245}
246
247
248/*
249        °¢ »óŸ¦ °¡Á®¿À´Â API Test
250*/
251void FeTest_Get_Info(int id)
252{
253        DHL_RESULT dhr;
254        char vedor_name[32];
255        char device_name[32];
256        UINT32 cap;
257        BOOL lock;
258        tDHL_Demod demod;
259        UINT32 strength;
260       
261
262        //DHL_FE_GetDeviceInfo Test
263        //Vendor name, device name, capability È®ÀÎ.
264        dhr = DHL_FE_GetDeviceInfo((tDHL_TunerID)id, eDHL_FE_DEV_VENDOR_NAME, (void *)vedor_name);
265        if(dhr != DHL_OK)
266                DHL_OS_Printf("DHL_FE_GetDeviceInfo(vendor_name) Error(%d)\n", dhr);
267
268        dhr = DHL_FE_GetDeviceInfo((tDHL_TunerID)id, eDHL_FE_DEV_MODEL_NAME, (void *)device_name);
269        if(dhr != DHL_OK)
270                DHL_OS_Printf("DHL_FE_GetDeviceInfo(device_name) Error(%d)\n", dhr);   
271
272        dhr = DHL_FE_GetDeviceInfo((tDHL_TunerID)id, eDHL_FE_DEV_CAPABILITY_1, (void *)&cap);
273        if(dhr != DHL_OK)
274                DHL_OS_Printf("DHL_FE_GetDeviceInfo(device_name) Error(%d)\n", dhr);   
275       
276        DHL_OS_Printf("Get Device Info: vendor_name = %s, device_name=%s, capability=0x%x\n", vedor_name, device_name, cap);
277
278
279        //DHL_FE_GetLockStatus Test
280        //Lock ÀÌ µÇÁö ¾ÊÀº »óÅÂÀÎ °æ¿ì demod type Àº unknown (eDHL_DEMOD_INVALID)°ªÀÌ µÇ¾ß ÇÔ.
281        dhr = DHL_FE_GetLockStatus((tDHL_TunerID)id, &lock, &demod);
282        if(dhr != DHL_OK)
283                DHL_OS_Printf("DHL_FE_GetLockStatus Error(%d)\n", dhr);
284
285        DHL_OS_Printf("Get Lock Status: lock=%d, demod=%d\n", lock, demod);
286
287
288        //DHL_FE_GetModFormat
289        //Lock ÀÌ µÇÁö ¾ÊÀº »óÅÂÀÎ °æ¿ì demod type Àº unknown (eDHL_DEMOD_INVALID)°ªÀÌ µÇ¾ß ÇÔ.
290        dhr = DHL_FE_GetModFormat((tDHL_TunerID)id, &demod);
291        if(dhr != DHL_OK)
292                DHL_OS_Printf("DHL_FE_GetModFormat Error(%d)\n", dhr);
293
294        DHL_OS_Printf("Get demod format: demod=%d\n", demod);
295
296
297        //DHL_FE_GetSignalStrength
298        dhr = DHL_FE_GetSignalStrength((tDHL_TunerID)id, &strength);
299        if(dhr != DHL_OK)
300                DHL_OS_Printf("DHL_FE_GetSignalStrength Error(%d)\n", dhr);
301
302        DHL_OS_Printf("Get signal str: strength=%d\n", strength);
303               
304
305}
306
307
Note: See TracBrowser for help on using the repository browser.