📄 poweroff_init.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 + -