⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changesoure_init.c

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 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 + -