📄 changesoure_init.c
字号:
//********************************************************************
// Name: app1_init.c
//
// Copyright (C) Sitronix TECHNOLOGY INC.
// All rights reserved by Sitronix TECHNOLOGY INC.
//
// Project: ST3110
// Author: Terry Wu
// Begin Date: 2008/01/01
// Last update: 2008/04/01
// $Header: $
// Description:
// pure code framework --- init.c
//
//
//********************************************************************
#pragma codeseg(APP)
#include "sys.h"
#include "ST3110_img_define.h"
#include "img_position.h"
#include "MusicPlayer.h"
void _change_source(uint8 is_nand_sd);
uint8 _show_change_message(void);
void _exit(void);
void _pend_event(void);
uint8 counter,flag_sd_nand;
uint8 language;
void APP_INIT(void)
{
//init
counter = 0;
language = API_SysReadValue(RAM_SETTING_ADR,SET_LANGUAGE);
//check whether music is played or no
if( (API_MusicGetThreadState() == TS_PLAY) || (API_MusicGetThreadState() == TS_PAUSE))
{
API_MusicStop();
API_OsPendEvent(EVID_AUD_THD_RESPONSE);
}
else if((API_VideoGetThreadState() == TS_PLAY) || (API_VideoGetThreadState() == TS_PAUSE))
{
API_VideoStop();
API_OsPendEvent(EVID_VID_THD_RESPONSE);
}
else
{
flag_sd_nand = _show_change_message();
_change_source(flag_sd_nand);
_pend_event();
}
}
void _pend_event(void)
{
API_OsPendEvent(EVID_BT_2HZ);
API_OsPendEvent(EVID_VBUS_PLUGIN);
API_OsPendEvent(EVID_VBUS_PLUGOUT);
API_OsPendEvent(EVID_UPDATE_BATVOL);
API_OsPendEvent(EVID_ALARM_OCCUR);
API_OsPendEvent(EVID_KEY_KEEP_DOWN);
}
uint8 _show_change_message(void)
{
uint8 is_nand_sd;
// detect sd card
if(API_SysSDCardDetect()) //SD
{
if(API_SysReadValue(RAM_SHARING_ADR,IS_NAND_SD) == FAT_IS_SD)
{
// change source manually form setting
is_nand_sd = FAT_IS_NAND;
API_LcmPutSysImage(IMG_ACCESS_PLAYER+language,POS_ACCESS_DIALOG_X,POS_ACCESS_DIALOG_Y);
}
else
{
is_nand_sd = FAT_IS_SD;
API_LcmPutSysImage(IMG_ACCESS_CARD+language,POS_ACCESS_DIALOG_X,POS_ACCESS_DIALOG_Y);
}
}
else //Nand flash
{
is_nand_sd = FAT_IS_NAND;
API_LcmPutSysImage(IMG_ACCESS_PLAYER+language,POS_ACCESS_DIALOG_X,POS_ACCESS_DIALOG_Y);
}
return is_nand_sd;
}
void _change_source(uint8 is_nand_sd)
{
uint8 i;
API_SysLoadFATLib(is_nand_sd);
API_SysWriteValue(RAM_SHARING_ADR,ROOT_ORDER,0);
API_SysWriteValue(RAM_SHARING_ADR,IS_NAND_SD,is_nand_sd);
for(i=0;i<8;i++)
{
API_SysWriteValue2B(RAM_CUR_PATH_ADR,i*2,0);
API_SysWriteValue2B(RAM_PHO_PATH_ADR,i*2,0);
API_SysWriteValue2B(RAM_MUS_PATH_ADR,i*2,0);
API_SysWriteValue2B(RAM_VID_PATH_ADR,i*2,0);
}
}
void _exit(void)
{
// for photo browser
API_SysWriteValue(RAM_SHARING_ADR,PHO_PAGE,0);
API_SysWriteValue(RAM_SHARING_ADR,PHO_CUR_SEL,0);
API_SysWriteValue(RAM_SHARING_ADR,PHO_PRE_SEL,0);
API_SysWriteValue(RAM_SHARING_ADR,PHO_PAINT_FLAG,1);
// for music browser
API_SysWriteValue(RAM_SHARING_ADR,MUS_PAGE,0);
API_SysWriteValue(RAM_SHARING_ADR,MUS_CUR_SEL,0);
API_SysWriteValue(RAM_SHARING_ADR,MUS_PRE_SEL,0);
API_SysWriteValue(RAM_SHARING_ADR,MUS_PAINT_FLAG,1);
// for video browser
API_SysWriteValue(RAM_SHARING_ADR,VID_PAGE,0);
API_SysWriteValue(RAM_SHARING_ADR,VID_CUR_SEL,0);
API_SysWriteValue(RAM_SHARING_ADR,VID_PRE_SEL,0);
API_SysWriteValue(RAM_SHARING_ADR,VID_PAINT_FLAG,1);
// paint photo browser BG
API_SysWriteValue(RAM_SHARING_ADR,LAST_TASK,TASKID_CHANGESOURCE);
API_OsSetCurrentTask(TASKID_PHOTOBROWSER);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -