📄 user_main.lst
字号:
163 void event_init_startup(void);
164 void event_usb_cable_out(void)
165 {
166 1
167 1 }
168
169 void event_usb_cable_in(void)
170 {
171 1 //usb_online();
172 1 //screen_map(SCREEN_USB);
173 1 api_vLoad(Code_USER13,1);
174 1 }
175
176 void event_quarter_sec(void)
C51 COMPILER V7.50 USER_MAIN 09/05/2008 14:57:48 PAGE 4
177 {
178 1 if(curr_screen->id == SCREEN_PICTURE && tUserPreference.Play_mode == 1)
179 1 {
180 2 if((pic_count++>=tUserPreference.Play_speed*4) && (eSysState == STATE_IDLE))
181 2 {
182 3 key_process(KEY(NEXT));
183 3 pic_count = 0;
184 3 }
185 2 }
186 1
187 1 /*
188 1 if(screen_level!=SCREEN_LEVEL_USB_ON)
189 1 {
190 1 if(usb_plug)
191 1 {
192 1 ui_show_charge1();
193 1 }
194 1 }
195 1 else
196 1 {
197 1 ui_show_charge();
198 1 }
199 1 */
200 1
201 1 //if(batt_count++ > 6 )
202 1 //{
203 1 // batt_count = 0;
204 1 // if(!usb_plug)
205 1 // ui_show_batt();
206 1 //}
207 1
208 1 if(api_u8GetBatteryRemain() <= BATTERY_LEVEL_20)
209 1 {
210 2 low_batt_count++;
211 2 }
212 1 else
213 1 {
214 2 low_batt_count = 0;
215 2 }
216 1 if(low_batt_count==6) //shut down
217 1 {
218 2 close_volume();
219 2 bResShowPic(LOWPOWER,0,0);
220 2 delay(10000);
221 2 delay(10000);
222 2 vShutDown();
223 2 }
224 1 vKeyTimeOut();
225 1 }
226
227 void event_dsp_exception(void)
228 {
229 1
230 1 if(curr_screen->id == SCREEN_PICTURE) {
231 2 Print("Fmt err\n");
232 2 lcd_set_rw_area(SCREEN_START_X, SCREEN_START_Y, SCREEN_WIDTH, SCREEN_HEIGHT);
233 2 key_process(KEY(NEXT));
234 2 }
235 1
236 1 }
237
238 void event_loop_epilog(void)
C51 COMPILER V7.50 USER_MAIN 09/05/2008 14:57:48 PAGE 5
239 {
240 1 if(curr_screen->id == SCREEN_PICTURE)
241 1 if(eSysState == STATE_IDLE && play_statu) {
242 2 key_process(KEY(PLAY));
243 2 play_statu = 0;
244 2 }
245 1 }
246
247 void event_init_startup(void)
248 {
249 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
259 1 api_vKeyMapRegister(key_map);
260 1 api_vSetPassCount(30);
261 1 api_vBatteryLevelRegister(battery_map);
262 1 api_bLoadPreferenceData((void*)(&tUserPreference),sizeof(USER_PREFERENCE_T));
263 1
264 1 if (tUserPreference.u8magic != 0xa5)
265 1 {
266 2 vPreferenceDataInit();
267 2 tUserPreference.u8LanguageId =0;
268 2 api_bSavePreferenceData(&tUserPreference,sizeof(USER_PREFERENCE_T));
269 2 }
270 1
271 1 if(tUserPreference.u8LanguageId>4)
272 1 api_bSetLanguage(0);
273 1 else
274 1 api_bSetLanguage(tUserPreference.u8LanguageId);
275 1 if(api_bChangeDisk(DISK_SD))
276 1 have_sd = 1;
277 1 else
278 1 have_sd = 0;
279 1
280 1 api_bChangeDisk(DISK_NAND);
281 1 u16TimerCount = 0;
282 1 pic_init = 1;
283 1 //lcd_init();
284 1 gui_init();
285 1 screen_level = SCREEN_LEVEL_MUSIC_STOP;
286 1
287 1 api_vSetJpegScale(160, 128);
288 1 screen_map(SCREEN_PICTURE);
289 1 }
290
291
292 typedef void event_handler(void);
293
294 static code event_handler *handlers[] = {
295 event_init_startup, // EVENT_INIT_STARTUP
296 NULL, // EVENT_WATCHDOG_UP
297 NULL, // EVENT_LOOP_PROLOG
298 event_loop_epilog, // EVENT_LOOP_EPILOG
299 NULL, // EVENT_OCTANT_SEC
300 event_quarter_sec, // EVENT_QUARTER_SEC
C51 COMPILER V7.50 USER_MAIN 09/05/2008 14:57:48 PAGE 6
301 event_usb_cable_in, // EVENT_USB_CABLE_IN
302 event_usb_cable_out, // EVENT_USB_CABLE_OUT
303 event_usb_status_change, // EVENT_USB_STATUS_CHANGE
304 event_card_change, // EVENT_CARD_CHANGE
305 event_long_button, // EVENT_LONG_BUTTON
306 event_short_button, // EVENT_SHORT_BUTTON
307 event_button_release, // EVENT_BUTTON_RELEASE
308 event_dsp_exception, // EVENT_DSP_EXCEPTION
309 };
310
311 void user_main(UINT8 event, UINT8 argv)
312 {
313 1 event_argv = argv;
314 1 event -= 0x80;
315 1
316 1 if(handlers[event])
317 1 (*handlers[event])();
318 1 }
319
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 545 ----
CONSTANT SIZE = 101 ----
XDATA SIZE = 4 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -