source: svn/trunk/newcon3bcm2_21bu/dta/src/sim/sim.c

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

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 6.0 KB
RevLine 
[2]1/***************************************************************************
2 * Copyright (c) 2012, Broadcom Corporation
3 * All Rights Reserved
4 * Confidential Property of Broadcom Corporation
5 *
6 * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 * AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile:  $
11 * $brcm_Revision:  $
12 * $brcm_Date: $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log:  $
19 *
20 ***************************************************************************/
21         
22#include "bgfx.h"
23#include "sim.h"
24#include "ramheader.h"
25
26#include "bapp.h"
27#include "chan_mgr.h"
28
29struct sim_t
30{
31        bool initialized;
32        bapp_t ntv_app;
33        gtk_app_h gtk_app;
34        chm_event_t set_screen_evt;
35};
36
37char* g_p_sim_flash = NULL;
38
39struct sim_t s_sim = {false};
40
41static void ram_start(void *data)
42{
43        bapp_run(&(s_sim.ntv_app));
44}
45
46static void sim_app_init(void)
47{
48        unsigned int *stack;
49        b_task_params params;
50        b_task_t app_task_h;
51
52        bapp_init(&(s_sim.ntv_app));
53
54        stack = malloc(1024 * 4);
55        if (NULL != stack)
56        {
57                params.priority = 32;
58                params.stack_size = 1024;
59                params.stack = stack;
60                params.name = "ram_start";
61                bos_start_task(&app_task_h, &params, (void*)ram_start,&(s_sim.ntv_app));
62        }
63}
64
65void get_osd_info(unsigned char **pixels, int *pitch, int *width, int *height)
66{
67        *pixels = NULL;
68        *pitch = 0;
69        *width = 0;
70        *height = 0;
71        if (s_sim.gtk_app)
72        {
73                gtk_app_get_osd_info(s_sim.gtk_app,pixels,pitch,width,height);
74        }
75}
76void update_osd()
77{
78        if (s_sim.gtk_app)
79        {
80                gtk_app_update_osd(s_sim.gtk_app);
81        }
82}
83
84sim_h sim_init(gtk_app_h h_app)
85{
86        if (s_sim.initialized) 
87        {
88                return &s_sim;
89        }
90        s_sim.gtk_app = h_app;
91        {
92                char *tmp_ptr = malloc(FLASH_SIZE + (2 * 0x10000));
93                g_p_sim_flash = (char*)((((unsigned int)tmp_ptr + 0x10000) / 0x10000) * 0x10000);
94                memset(g_p_sim_flash,0xff,FLASH_SIZE);
95        }
96        sim_app_init();
97        s_sim.initialized = true;
98        return &s_sim;
99}
100
101int sim_screen_num(sim_h h_sim)
102{
103        return eSCREEN_MAX; //h_sim->ntv_app.num_screens;
104}
105#ifdef APP_TYPE_NANOTV
106/* Screen ID Enum */
107static const char *s_screen_names[] =
108{
109    "eSCREEN_NULL",
110    "eSCREEN_MAIN",
111    "eSCREEN_PICTURE",
112    "eSCREEN_SOUND",
113    "eSCREEN_AV",
114    "eSCREEN_ANTENNA",
115#if 0
116    "eSCREEN_CAPTIONS",
117    "eSCREEN_CAPTIONS_ON_OFF",
118    "eSCREEN_CAPTIONS_BASIC",
119#endif
120    "eSCREEN_CAPTIONS_ADVANCED",
121    "eSCREEN_CAPTIONS_FONT_OPTIONS",
122    "eSCREEN_CAPTIONS_BACK_OPTIONS",
123    "eSCREEN_CAPTIONS_FONT",
124    "eSCREEN_CAPTIONS_FONT_SIZE",
125    "eSCREEN_CAPTIONS_FONT_STYLE",
126    "eSCREEN_CAPTIONS_FONT_COLOR",
127    "eSCREEN_CAPTIONS_FONT_OPACITY",
128    "eSCREEN_CAPTIONS_BACK_COLOR",
129    "eSCREEN_CAPTIONS_BACK_OPACITY",
130    "eSCREEN_CAPTIONS_EDGE_COLOR",
131    "eSCREEN_CAPTIONS_EDGE_TYPE",
132    "eSCREEN_CAPTIONS_RESET",
133    "eSCREEN_LANGUAGE",
134    "eSCREEN_SETUP",
135    "eSCREEN_CH_SCAN",
136    "eSCREEN_CH_SCAN_PROGRESS",
137    "eSCREEN_RESET",
138    "eSCREEN_WIZ_WELCOME",
139    "eSCREEN_WIZ_LANGUAGE",
140    "eSCREEN_WIZ_CH_SCAN",
141    "eSCREEN_WIZ_PIN_NEW",
142    "eSCREEN_WIZ_PIN_CONFIRM",
143    "eSCREEN_WIZ_MISMATCHED_PINS",
144    "eSCREEN_WIZ_DONE",
145    "eSCREEN_AUTO_POWER",
146    "eSCREEN_RATINGS",
147    "eSCREEN_RATINGS_LOCK",
148    "eSCREEN_RATINGS_LIMITS",
149    "eSCREEN_RATINGS_TV",
150    "eSCREEN_RATINGS_MOVIES",
151    "eSCREEN_RATINGS_RRT_DIM",
152    "eSCREEN_RATINGS_RRT_VAL",
153    "eSCREEN_RATINGS_RRT_UPDATE",
154    "eSCREEN_PIN_VERIFY_LIVE",
155    "eSCREEN_PIN_VERIFY_RATINGS",
156    "eSCREEN_PIN_VERIFY_RESET",
157    "eSCREEN_PIN_NEW",
158    "eSCREEN_PIN_CONFIRM",
159    "eSCREEN_WRONG_PIN_LIVE",
160    "eSCREEN_WRONG_PIN_RATINGS",
161    "eSCREEN_WRONG_PIN_RESET",
162    "eSCREEN_MISMATCHED_PINS",
163    "eSCREEN_BANNER_SMALL",
164    "eSCREEN_GUIDE",
165    "eSCREEN_SCREENSAVER",
166    "eSCREEN_POWER_OFF",
167    "eSCREEN_TIMEZONE",
168    "eSCREEN_STATUS",
169/*    eSCREEN_DEBUG,*/
170 /*   BSCREEN_DIAG_SCREEN_IDS,*/
171    "eSCREEN_DIAG_MENU",
172    "eSCREEN_SYS_INFO",
173    "eSCREEN_DTA_STATUS",
174    "eSCREEN_MSO_INFO",
175    "eSCREEN_TUNER_STATUS",
176    "eSCREEN_CH_STATUS",
177    "eSCREEN_CH_MAP_STATUS",
178    "eSCREEN_MSG_STATUS",
179    "eSCREEN_CODE_OBJECTS",
180    "eSCREEN_CODE_DOWNLOAD",
181    "eSCREEN_DECODER_STATUS",
182    "eSCREEN_VIDEO_FORMAT",
183    "eSCREEN_CONFIRM_CHANGE",   
184    "eSCREEN_SD_OUTPUT_OPTIONS",
185    "eSCREEN_MAX"
186};
187#else
188/* Screen ID Enum */
189static const char *s_screen_names[] =
190{
191    "eSCREEN_BANNER",
192    "eSCREEN_SCREENSAVER",
193    "eSCREEN_POWER_OFF",
194    "eSCREEN_DIAG_MENU",
195    "eSCREEN_SYS_INFO",
196    "eSCREEN_DTA_STATUS",
197    "eSCREEN_MSO_INFO",
198    "eSCREEN_TUNER_STATUS",
199    "eSCREEN_CH_STATUS",
200    "eSCREEN_CH_MAP_STATUS",
201    "eSCREEN_MSG_STATUS",
202    "eSCREEN_CODE_OBJECTS",
203    "eSCREEN_CODE_DOWNLOAD",
204    "eSCREEN_DEBUG_OPTIONS",
205    "eSCREEN_TEST_OPTIONS",
206    "eSCREEN_DECODER_STATUS",
207    "eSCREEN_STATUS",
208    "eSCREEN_VIDEO_FORMAT",
209    "eSCREEN_DTA_TEST",
210    "eSCREEN_CONFIRM_CHANGE",
211    "eSCREEN_PAIRING",
212    "eSCREEN_PAIRING_SUCCESS",
213    "eSCREEN_PAIRING_FAILED",
214    "eSCREEN_PAIRING_CANCEL",
215    "eSCREEN_FACTORY_TEST",
216    "eSCREEN_HD_VIEW_MODE",
217    "eSCREEN_HD_SHARPNESS",
218    "eSCREEN_SD_DISPLAY",
219    "eSCREEN_FREQUENCY",
220    "eSCREEN_DOLBY",
221    "eSCREEN_DOLBY_CHANNEL",
222    "eSCREEN_DOLBY_DRC",
223    "eSCREEN_DOLBY_HDMI",
224    "eSCREEN_DOLBY_ANALOG",
225    "eSCREEN_DOLBY_STEREO",
226    "eSCREEN_DOLBY_DRC_CUT",
227    "eSCREEN_DOLBY_DRC_BOOST",
228    "eSCREEN_DOLBY_DRC_COMPRESSION",
229    "eSCREEN_DOLBY_DRC_DIALOG",
230#if (BCHP_VER >= BCHP_VER_B0) || (BCHP_CHIP==7552)
231    "eSCREEN_MENU",
232    "eSCREEN_OVPOPUP",
233#endif
234    "eSCREEN_RFRC_STATUS",
235    "eSCREEN_HDMI_STATUS",
236    "eSCREEN_QAM_CONSTELLATION",
237        "eSCREEN_FORWARD_DATA_CHANNEL_STATS",
238#ifdef OOB_TUNER_SUPPORT
239        "eSCREEN_QPSK_CONSTELLATION",
240#endif
241        "eSCREEN_AVL",
242    "eSCREEN_MAX"
243};
244#endif
245
246void sim_screen_get_desc(sim_h h_sim,
247                                                 int idx,
248                                                 char* desc,
249                                                 int max_desc_len)
250{
251        strncpy(desc,s_screen_names[idx],max_desc_len);
252}
253
254void sim_screen_set_screen(sim_h h_sim, int idx)
255{
256        h_sim->set_screen_evt.type = eCHM_EVT_SET_SCREEN;
257        h_sim->set_screen_evt.id = idx;
258        bos_post_event(h_sim->ntv_app.msg_queue,(b_event_t*)&(h_sim->set_screen_evt));
259        bos_sleep(10);
260}
261
Note: See TracBrowser for help on using the repository browser.