source: svn/trunk/zasc/app_c/DST_UserInterface.c @ 2

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

first commit

File size: 6.5 KB
Line 
1#include "DST_UserInterface.h"
2#include "DST_ChannelTune.h"
3#include "DST_HostInterface.h"
4#include "DST_WinManagerTask.h"
5#include "DST_CommonAPI.h"
6#include "DST_DataStrings.h"
7#include "DST_FontEngine.h"
8#include "DST_WinManager.h"
9#include "DST_DB.h"
10
11void DST_Tune(DS_U8 RF, DS_U16 program_number);
12void DST_Scan(DS_U8 RF);
13void CT_AudioVolume(DS_U8 nVal);
14
15#if 0
16____Channel_UI___()
17#endif
18
19// ä³Î ¾÷´Ù¿î ÇÔ¼ö
20void DST_UI_ChannelUpDn(bool bUp)
21{
22        DST_DB_ChannelUpDn(bUp);
23}
24
25// ä³Î Æ©´×À» ÇÑ´Ù.
26void DST_UI_ChannelTune(DS_U8 RF, DS_U16 program_number)
27{
28        T();
29        DST_Printf("RF = %d program_number=%d\n", RF, program_number);
30        if(RF != DST_EEPROM_GetRF() || program_number != DST_EEPROM_GetProgramNumber())
31        {
32                DST_g_PrevRF = DST_EEPROM_GetRF();
33                DST_g_PrevProgramNumber = DST_EEPROM_GetProgramNumber();
34        }
35       
36        DST_EEPROM_SetRF(RF);
37        DST_EEPROM_SetProgramNumber(program_number);
38        DST_g_LastTuneTryTime = DST_OS_GetTickCount();
39        DST_g_SignalState = SM_WAIT_SIGNAL;
40        DST_Tune(RF, program_number);
41//      DST_CreateWin(WIN_CHANNEL_BANNER, WIN_NULL, BANNER_NORMAL, 3, 0, 0);
42}
43
44#if 0
45____Settings_UI___()
46#endif
47
48void DST_UI_InitMenuCursor()
49{
50         //»ç¿ëÀÚ ¸Þ´º Ä¿¼­ ÃʱâÈ­
51        MenuTop[0] = 0;
52        MenuTop[1] = 0;
53        MenuPos[0] = 0;
54        MenuPos[1] = 0;
55        MenuSelect[0] = 0;
56        MenuSelect[1] = 0;
57}
58
59// MTS Setting (0) Çѱ¹¾î (1) ¿Ü±¹¾î
60DS_U8 DST_UI_GetMTS()
61{
62        return DST_EEPROM_GetAudioPref();
63}
64
65void DST_UI_SetMTS( DS_U8 nVal)
66{
67        DST_EEPROM_SetAudioPref(nVal);
68        DST_g_AudioSettingChanged = true;
69}
70
71// VI Setting (0) Off (1) On
72DS_U8 DST_UI_GetVI()
73{
74        return DST_EEPROM_GetVI();
75}
76
77void DST_UI_SetVI( DS_U8 nVal)
78{
79        DST_EEPROM_SetVI(nVal);
80        DST_g_AudioSettingChanged = true;
81}
82
83// CC ¼³Á¤
84void DST_UI_SetCloseCaption(DS_U8 value)
85{
86        DST_EEPROM_SetCC(value ? 1 : 0);
87}
88
89// 0À̸é RF3 1À̸é RF4
90DS_U8 DST_UI_GetCh34(void)
91{
92        return DST_EEPROM_GetPreferredConn();
93}
94
95void DST_UI_SetCh34(DS_U8 nVal)
96{
97        DST_EEPROM_SetPreferredConn(nVal);
98        DHL_SetCh34(nVal);
99}
100
101#if 0
102____Volum_UI___()
103#endif
104
105// º¼·ý ¼³Á¤
106DS_U8 DST_UI_GetVolume(void)
107{
108        return DST_EEPROM_GetVolume();
109}
110// º¼·ý ¼³Á¤
111void DST_UI_SetVolume(DS_U8 value)
112{
113        if (value > 0) DST_UI_SetMute(false);
114        DST_EEPROM_SetVolume(value);
115        CT_AudioVolume(DST_UI_GetMute() ? 0 : DST_UI_GetVolume()*2);
116}
117
118// ¹ÂÆ® ¼³Á¤
119static bool g_Mute = false;
120bool DST_UI_GetMute(void)
121{
122        return g_Mute;
123}
124
125// ¹ÂÆ® ¼³Á¤
126void DST_UI_SetMute(bool bVal)
127{
128        g_Mute = bVal;
129        CT_AudioVolume(g_Mute ? 0 : DST_UI_GetVolume()*2);
130}
131
132#if 0
133____Info_Banner_UI___()
134#endif
135
136// ÇöÀç ½Ã°£À» °¡Á®¿Â´Ù.
137//bool DST_UI_GetLocalTime(STime_t *time)
138//{
139//      return DST_GetTime(time);
140//}
141
142// ÇöÀç ¹æ¼ÛÁßÀÎ ºñµð¿À°¡ HD ¹æ¼ÛÀΰ¡?
143bool DST_UI_GetHDInfo(void)
144{
145        return DST_GetHDInfo();
146}
147
148// ÇöÀç CC º¸¿©ÁֱⰡ °¡´ÉÇѰ¡?
149bool DST_UI_GetCCInfo(void)
150{
151        return DST_GetCCInfo();
152}
153
154#if 0
155____EPG_UI___()
156#endif
157
158// ä³Î¹øÈ£ ä³ÎÀ̸§
159// ÀÔ·Â ¹è¿­ ±æÀÌ 40ÀÚ
160int DST_UI_GetCurrentChannelInfo(DS_U32 *chInfo)
161{
162        if (chInfo == 0) return 0;
163        chInfo[0] = 0;
164        char chNum[50];
165        DS_U32 chName[TEXT_LENGTH_MAX];
166        int num = 0;
167        if (DST_DB_GetCurrentChannelInfo(chNum, chName, &num) == false) sprintf(chNum, "%d ", num); // RF ¹øÈ£
168        str232(chInfo, chNum);
169        strcpy32(&chInfo[strlen32(chInfo)], chName);
170        return strlen32(chInfo);
171}
172
173// ½Ã°£ ¹®ÀÚ¿­À» ¹ÝȯÇÑ´Ù.
174int DST_UI_GetTimeString(int hour, int min, DS_U16* timeInfo)
175{
176        char strText[16];
177        sprintf(strText, "%02dh%02d", hour, min);
178        str2uni(timeInfo, strText); 
179        return strlen16(timeInfo);
180}
181
182// Á֯ļö Å×ÀÌºí °ü·Ã ÇÔ¼ö
183static DS_U16 FREQ_TABLE[] =
184{
185          2,   57,   3,  63,    4,  69,    5,   79,  6,  85, 
186          7, 177,    8, 183,    9, 189,  10,  195, 11,  201,
187          12, 207, 13, 213, 
188         14, 123,  15, 129,  16, 135,   17, 141, 18, 147,
189         19, 153,  20, 159,  21, 165,   22, 171, 23, 219,
190         24, 225,  25, 231,  26, 237,  27, 243, 28, 249,
191         29, 255, 30, 261,  31, 267, 32, 273, 33, 279,
192         34, 285, 35, 291, 36, 297, 37, 303, 38, 309,
193         39, 315, 40, 321, 41, 327, 42,333, 43,339,
194         44, 345, 45, 351, 46,357, 47,363,48,369,
195         49,375, 50, 381, 51, 387, 52, 393, 53,399,
196         54, 405, 55, 411, 56, 417, 57, 423, 58, 429,
197         59, 435, 60, 441, 61, 447, 62, 453, 63, 459,
198         64, 465, 65, 471, 66, 477, 67, 483, 68, 489,
199         69, 495, 70, 501, 71, 507, 72, 513, 73, 519,
200         74, 525, 75,531, 76,537, 77,543, 78,549,
201         79, 555,  80, 561,  81, 567,  82, 573,  83, 579, 
202         84, 585,  85, 591,  86, 597,  87, 603,  88, 609,
203         89, 615,  90, 621,  91, 627,  92, 633,  93, 639,
204         94, 645,   95, 93,   96, 99,   97, 105,
205         100, 651, 101, 657, 102, 663, 103, 669, 
206        104, 675, 105, 681, 106, 687, 107, 693, 108, 699, 
207        109, 705, 110, 711, 111, 717, 112, 723, 113, 729,
208        114, 735, 115, 741, 116, 747, 117, 753, 118, 759,
209        119, 765, 120, 771, 121, 777, 122, 783, 123, 789,
210        124, 795, 125, 801, 126, 807, 127, 813, 128, 819,
211        129, 825, 130, 831, 131, 837, 132, 843, 133, 849,
212        134, 855, 135, 861, 136, 867, 137, 873, 138, 879,
213        139, 885, 140, 891, 141, 897, 142, 903, 143, 909,
214        144, 915, 145, 921, 146, 927, 147, 933, 148, 939,
215        149, 945, 150, 951, 151, 957, 152, 963, 153, 969,
216        154, 975, 155, 981, 156, 987, 157, 993, 158, 999
217};
218// Aspect Ratio (0) wide (1) normal (2) zoom
219// DS_U8 DST_EEPROM_GetAspect(bool bOutput4x3, bool bSource4x3);
220DS_U8 DST_UI_GetAspect()
221{
222        if (DST_g_LastTuneTime == 0) return ASPECT_RATIO_NORMAL;
223        if (DST_IsVideoPlay() == false) return ASPECT_RATIO_NORMAL;
224        DS_U16 w = 0, h = 0, fps = 0;
225        bool bWide = false, bInterlace = false;
226        DST_GetVideoSize(&w, &h, &fps, &bInterlace, &bWide);
227        if (h == 0) return ASPECT_RATIO_NORMAL;
228        return DST_EEPROM_GetAspect((!bWide));
229}
230
231// void DST_EEPROM_SetAspect(bool bOutput4x3, bool bSource4x3,  DS_U8 nVal);
232void DST_UI_SetAspect(DS_U8 nVal)
233{
234        if (DST_g_LastTuneTime == 0) return;
235        if (DST_IsVideoPlay() == false) return;
236        DS_U16 w = 0, h = 0, fps = 0;
237        bool bWide = false, bInterlace = false;
238        DST_GetVideoSize(&w, &h, &fps, &bInterlace, &bWide);
239        if (h == 0) return;
240        DST_EEPROM_SetAspect((!bWide), nVal);
241}
242
243// Á֯ļö Å×ÀÌºí °¹¼ö
244int DST_GetFreqCount()
245{
246        return DST_MaxRF() -DST_MinRF() + 1;
247}
248
249// À妽º¸¦ ÀÔ·ÂÇϰí Á֯ļö ¹øÈ£¸¦ ¹Þ´Â´Ù.
250DS_U16 DST_GetFrequencyNumberbyIndex(int index)
251{
252        return FREQ_TABLE[2*index];
253}
254
255// À妽º¸¦ ÀÔ·ÂÇϰí MHz ´ÜÀ§ÀÇ Á֯ļö¸¦ ¹Þ´Â´Ù.
256DS_U16 DST_GetMHzFrequencybyIndex(int index)
257{
258        return FREQ_TABLE[1+2*index];
259}
260
261// Á֯ļö ¹øÈ£¸¦ ÀÔ·ÂÇϰí À妽º °ªÀ» ¹Þ´Â´Ù.
262int DST_GetIndexByRFNumber(int rf_number)
263{
264        int i;
265        for ( i = 0; i < sizeof(FREQ_TABLE)/4; i++)
266        {
267                if (rf_number == DST_GetFrequencyNumberbyIndex(i)) return i;
268        }
269        return -1;
270}
271
272// MHz´ÜÀ§ÀÇ Á֯ļö¸¦ ÀÔ·ÂÇϰí À妽º °ªÀ» ¹Þ´Â´Ù.
273int DST_GetIndexByMHzFrequency(int MHz)
274{
275        int i;
276        for ( i = 0; i < sizeof(FREQ_TABLE)/4; i++)
277        {
278                if (MHz == DST_GetMHzFrequencybyIndex(i)) return i;
279        }
280        return -1;
281}
Note: See TracBrowser for help on using the repository browser.