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

📄 poweroff_init.c

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 C
字号:
//********************************************************************
// Name:     MusicAPI.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:
//   music function
//   
//   
//********************************************************************



#include <intr6502.h>
#include <stdlib.h>
#include "sys.h"
#include "MusicPlayer.h"
#include "img_position.h"
#include "ST3110_img_define.h"
#include "multilanguage.h"
#include "PowerOff.h"
#pragma codeseg(APP)

#define  ON_MODE                0
#define  SLEEP_MODE             1

uint8 counter_2HZ;
void _stop_thread(void);
void v_init_pending_events(void);
void _save_setting(void);
void _show_low_power_box(void);
void _show_string(uint32 txt_index, uint16 pos_x, uint16 pos_y);

uint8 vbus_plagin_flag;
uint8 state; // 0:poweroff mode  1:power-on mode

void APP_INIT(void)
{       

   counter_2HZ = 0;
   state = ON_MODE;
   if(API_SysReadValue(RAM_SHARING_ADR,VBUS_STATE) == VBUS_SRC_ADAPTER)
   {
    vbus_plagin_flag = TRUE;
   }
   else
   {
    vbus_plagin_flag = FALSE;
   }
   v_init_pending_events();
   _stop_thread();
   
    
        
}

void v_init_pending_events(void)
{
 API_OsPendEvent(EVID_ALARM_OCCUR);
 API_OsPendEvent(EVID_VBUS_PLUGIN);
 API_OsPendEvent(EVID_VBUS_PLUGOUT);
 API_OsPendEvent(EVID_KEY_UP);
 //API_OsPendEvent(EVID_BT_2HZ);
}

void _stop_thread(void)
{
 if(API_MusicGetThreadState() == TS_PLAY || API_MusicGetThreadState() == TS_PAUSE)
 {
  API_MusicStop();
  API_OsPendEvent(EVID_AUD_THD_RESPONSE);
 }
 else
 {

  if(API_SysGetVolLv() < BATTERY_LV0)
  {
   _show_low_power_box();
  }
  else
  {
   counter_2HZ = LOWPOWER_WAIT_TIME;
   API_LcmPutSysImage(IMG_GOODBYE,0,0);
  }
  
  API_OsPendEvent(EVID_BT_2HZ);
  
 }
}

void _save_setting(void)
{
 //save picture path
 API_SysSaveValue(RAM_PHO_PATH_ADR,NAND_PATH_ADR);
 
 //save setting
 API_SysSaveValue(RAM_SETTING_ADR,NAND_SETTING_ADR);
 
}

void _show_low_power_box(void)
{
 uint16 string_ptr;
 uint8 language;
 uint8 lfnPtr[256];
 
 string_ptr = (uint16)lfnPtr;
 language = API_SysReadValue(RAM_SETTING_ADR,SET_LANGUAGE);
 
 //show del box BG
 API_LcmPutSysImage(IMG_PHOTO_DIALOG_BACKGD,POS_PHOMENU_DELBOX_X,POS_PHOMENU_DELBOX_Y);

 API_SysLoadValue(NAND_TEXT_ADR+(language*TIDX_AMOUNT_OF_ONE_LANGUAGE)+TIDX_LOW_POWER_MSG,string_ptr,64);
 API_LcmSetLanguage(CS_UNICODE);
 API_LcmShowString(lfnPtr,POS_PHOMENU_ITEM_X+100,POS_PHOMENU_ITEM_Y+(2*POS_PHOMENU_ITEM_GAP));
 if(language == 2)
  API_LcmSetLanguage(CS_GBK);
 else
  API_LcmSetLanguage(CS_BIG5);
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -