📄 opening_pwr_init.c
字号:
//********************************************************************
// Name: app1_pwr_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 --- _pwr_init.c
//
//
//********************************************************************
#include "sys.h"
#pragma codeseg(APP)
void _alarm_set(void);
void APP_PWR_INIT(void)
{
uint8 i,bl;
//clean sharing area
for(i=0;i<32;i++)
API_SysWriteValue(RAM_SHARING_ADR,i,0);
//init sharing area
//load photo path and clean other path
API_SysLoadValue(NAND_PATH_ADR,RAM_PHO_PATH_ADR,PATH_AMOUNT);
for(i=0;i<8;i++)
{
API_SysWriteValue2B(RAM_CUR_PATH_ADR,i*2,0);
API_SysWriteValue2B(RAM_MUS_PATH_ADR,i*2,0);
API_SysWriteValue2B(RAM_VID_PATH_ADR,i*2,0);
}
// set photo browser parameter
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);
// set music browser parameter
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);
// set video browser parameter
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);
API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_NONE);
//load setting
API_SysLoadValue(NAND_SETTING_ADR,RAM_SETTING_ADR,SET_VAR_AMOUNT);
//set BL
bl = API_SysReadValue(RAM_SETTING_ADR,SET_BL);
{
const uint8 BL_array[7] = {BL7_L0,BL7_L1,BL7_L2,BL7_L3,BL7_L4,BL7_L5,BL7_L6};
API_LcmSetBackLight(BL_array[bl]);
}
//API_LcmSetBackLight(31);
//set alarm
_alarm_set();
}
//***************************************************************************
// Func: void _alarm_set(void)
// Input: alarm parameter from RAM Setting value
// Output: none
//
// Description: set near alarm time according to current time
//
//***************************************************************************
void _alarm_set(void)
{
uint8 alarm_enable[2];
uint8 alarm_hr[2],alarm_min[2];
uint8 hour,minute,alarm_select;
hour = API_TimeGetHour();
minute = API_TimeGetMinute();
alarm_enable[0] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM1_EN);
alarm_enable[1] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM2_EN);
alarm_hr[0] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM1_HOUR);
alarm_hr[1] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM2_HOUR);
alarm_min[0] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM1_MIN);
alarm_min[1] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM2_MIN);
if(alarm_enable[0] && alarm_enable[1]) // all alarm1 and alarm2 are on
{
if( (uint8)(alarm_hr[0]-hour) < (uint8)(alarm_hr[1]-hour) )//alarm1
{
alarm_select = 1;
}
else if( (alarm_hr[0]-hour) == (alarm_hr[1]-hour) )
{
if( (uint8)(alarm_min[0]-minute) < (uint8)(alarm_min[1]-minute) ) // alarm1
{
alarm_select = 1;
if(alarm_min[0]-minute == 0)
{
alarm_select = 2;
}
}
else if( (alarm_min[0]-minute) == (alarm_min[1]-minute) ) //both
{
alarm_select = 1;
}
else //alarm2
{
if(alarm_min[1]-minute == 0)
{
alarm_select = 1;
}
else
{
alarm_select = 2;
}
}
}
else //alarm2
{
alarm_select = 2;
}
}
else if(alarm_enable[0]) // alarm1
{
alarm_select = 1;
}
else if(alarm_enable[1]) // alarm2
{
alarm_select = 2;
}
if(alarm_enable[0] || alarm_enable[1])
{
API_TimeSetAlertHour(alarm_hr[alarm_select-1]);
API_TimeSetAlertMinute(alarm_min[alarm_select-1]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -