📄 user_main.lst
字号:
190 {
191 1 UINT16 data ptime;
192 1 UINT8 i;
193 1
194 1 if(curr_screen->id == SCREEN_MP3 && screen_level == SCREEN_LEVEL_MUSIC_PLAY)
195 1 play_time_update(1);
196 1
197 1 if(usb_plug)
198 1 {
199 2 ui_show_charge();
200 2 }
201 1
202 1 if(batt_count++ > 6 )
203 1 {
204 2 batt_count = 0;
205 2 if(!usb_plug)
206 2 ui_show_batt();
207 2 if(curr_screen->id == SCREEN_MP3 && screen_level == SCREEN_LEVEL_MUSIC_PLAY && (!lyric_on))
208 2 vLcd_ScollDataUpdate();
209 2 }
210 1
211 1 if(api_u8GetBatteryRemain() <= BATTERY_LEVEL_20)
212 1 {
213 2 low_batt_count++;
214 2 }
215 1 else
216 1 {
217 2 low_batt_count = 0;
218 2 }
219 1 if(low_batt_count==6) //shut down
220 1 {
221 2 close_volume();
222 2 bResShowPic(LOWPOWER,0,0);
223 2 delay(20000);
224 2 //delay(10000);
225 2 vShutDown();
226 2 }
227 1
228 1
229 1 if(vol_flag && curr_screen->id == SCREEN_MP3)
230 1 {
231 2 if(_flash)
232 2 {
233 3 _flash = 0;
234 3 bResShowPic(MVOL_CLR,66,144);
235 3
236 3 }
237 2 else
238 2 {
C51 COMPILER V7.50 USER_MAIN 08/18/2008 13:43:43 PAGE 5
239 3 _flash = 1;
240 3 ui_show_vol();
241 3 }
242 2 }
243 1
244 1 if(curr_screen->id == SCREEN_MP3 && lyric_on)
245 1 {
246 2 ptime = (UINT16)api_u32GetPlayingTime();
247 2
248 2 if(curr_lyric_time != ptime) {
249 3 if(pSec2LrcStr[ptime] != 0xff) {
250 4 bResShowPic(LRCBG,6,32);
251 4 bg_color = COLOR_BLACK;
252 4 gfx_set_bg(COLOR_BLACK);
253 4 lcd_max_str = 12;
254 4 for(i=0; i<16; i++) //show first line
255 4 _buf[i] = u8LrcStr[pSec2LrcStr[ptime]][i];
256 4 _buf[LCD_WIDTH] = 0;
257 4 lcd_puts(16,60,_buf,FONTSIZE_HYPER);
258 4
259 4 for(i=0; i<16; i++) //show next line
260 4 _buf[i] = u8LrcStr[pSec2LrcStr[ptime]+1][i];
261 4 _buf[LCD_WIDTH] = 0;
262 4 lcd_puts(16,40,_buf,FONTSIZE_HYPER);
263 4
264 4 }
265 3 curr_lyric_time = ptime;
266 3 }
267 2
268 2 }
269 1 else
270 1 {
271 2
272 2 if(curr_screen->id == SCREEN_MP3 && screen_level == SCREEN_LEVEL_MUSIC_PLAY)
273 2 {
274 3 bResShowPic(RPLAY1+cartoon_count++,2,51);
275 3 if(cartoon_count>=12)
276 3 cartoon_count = 0;
277 3 }
278 2
279 2
280 2 }
281 1 vKeyTimeOut();
282 1 }
283
284 void event_dsp_exception(void)
285 {
286 1 #if 0
if((curr_screen->id == SCREEN_MOVIE && screen_level == SCREEN_LEVEL_MOVIE_PLAY) ||
(curr_screen->id == SCREEN_PICTURE && screen_level == SCREEN_LEVEL_JPEG_DISP)) {
Print("Fmt err\n");
lcd_set_rw_area(SCREEN_START_X, SCREEN_START_Y, SCREEN_WIDTH, SCREEN_HEIGHT);
key_process(KEY(NEXT));
}
#endif
294 1 }
295
296 void event_loop_epilog(void)
297 {
298 1 #if 1
299 1 if(/*curr_screen->id == SCREEN_MP3 && */screen_level == SCREEN_LEVEL_MUSIC_PLAY ) {
300 2 if(eSysState == STATE_IDLE) {
C51 COMPILER V7.50 USER_MAIN 08/18/2008 13:43:43 PAGE 6
301 3 key_process(KEY(EOS));
302 3 }
303 2 }
304 1 #endif
305 1 }
306
307 void event_init_startup(void)
308 {
309 1 #ifndef CONFIG_NAND_LARGEPAGE
/* Nothing, just for demo "api_vGetFreeXdataInfo()" in small page flash. */
INT16U free_size, free_start;
api_vGetFreeXdataInfo(&free_size, &free_start);
free_mem_ptr = free_start;
free_mem_end_ptr = free_mem_ptr + free_size;
file_entry = (INT32U *)my_malloc(FILE_ENTRY_MAX * sizeof(UINT32));
#endif
319 1 api_vKeyMapRegister(key_map);
320 1 api_vSetPassCount(20);
321 1 api_vBatteryLevelRegister(battery_map);
322 1
323 1 api_bLoadPreferenceData((void*)(&tUserPreference),sizeof(USER_PREFERENCE_T));
324 1
325 1 if(tUserPreference.u8LanguageId>4 || tUserPreference.u8LanguageId == 0)
326 1 api_bSetLanguage(0);
327 1 else
328 1 api_bSetLanguage(tUserPreference.u8LanguageId);
329 1
330 1 if(api_bChangeDisk(DISK_SD))
331 1 have_sd = 1;
332 1 else
333 1 have_sd = 0;
334 1
335 1 api_bChangeDisk(DISK_NAND);
336 1
337 1 eSysState = STATE_IDLE;
338 1 u16TimerCount = 0;
339 1 cartoon_count = 1;
340 1 low_batt_count = 0;
341 1 gui_init();
342 1 screen_level = SCREEN_LEVEL_MUSIC_STOP;
343 1 screen_map(SCREEN_MP3);
344 1 }
345
346
347 typedef void event_handler(void);
348
349 static code event_handler *handlers[] = {
350 event_init_startup, // EVENT_INIT_STARTUP
351 NULL, // EVENT_WATCHDOG_UP
352 NULL, // EVENT_LOOP_PROLOG
353 event_loop_epilog, // EVENT_LOOP_EPILOG
354 NULL, // EVENT_OCTANT_SEC
355 event_quarter_sec, // EVENT_QUARTER_SEC
356 event_usb_cable_in, // EVENT_USB_CABLE_IN
357 NULL, // EVENT_USB_CABLE_OUT
358 NULL, // EVENT_USB_CABLE_OUT
359 event_card_change, // EVENT_CARD_CHANGE
360 event_long_button, // EVENT_LONG_BUTTON
361 event_short_button, // EVENT_SHORT_BUTTON
362 event_button_release, // EVENT_BUTTON_RELEASE
C51 COMPILER V7.50 USER_MAIN 08/18/2008 13:43:43 PAGE 7
363 event_dsp_exception, // EVENT_DSP_EXCEPTION
364 };
365
366 void user_main(UINT8 event, UINT8 argv)
367 {
368 1 event_argv = argv;
369 1 event -= 0x80;
370 1
371 1 if(handlers[event])
372 1 (*handlers[event])();
373 1 }
374
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 787 ----
CONSTANT SIZE = 92 ----
XDATA SIZE = 9 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -