📄 sleep.c
字号:
/********************* SGS-THOMSON MICROELECTRONICS ************************
FILENAME : SLEEP.C
VERSION : V1.0
DATE : JAN 1999
AUTHOR(s) : ASHISH RUDOLA / DEEPAK DOSHI
PROCESSOR : ST92195
DESCRIPTION : This module contains functions for handling the sleep timer.
MODIFICATIONS:
-
*****************************************************************************/
#include "register.h"
#include "sleep.h"
#include "tv_glob.h"
#include "i2c_bus.h"
#include "menuctrl.h"
unsigned char sleep_timer;
unsigned char autoshut_timer;
/*****************************************************************************
INPUTS : none
OUTPUTS : sleep_timer - Cleared
DESCRIPTION: This function reset the sleep timer.
*****************************************************************************/
void reset_sleep_timer(void)
{
sleep_timer = 0;
autoshut_timer = 10 ;
}
/*****************************************************************************
INPUTS : sleep_timer - Time available before turning off.
OUTPUTS : sleep_timer - -1 every minutes
ENABLE_POWER - Reset as soon as sleep timer is equal to zero
REFRESH_DISPLAY - Refresh the display if menu enabled
DESCRIPTION: This function updates the sleep timer every minute.
*****************************************************************************/
void update_sleep_timer(void)
{
/* Sleep timer is enabled if different than zero */
if (sleep_timer == 0) /*ASHISH*/
user_flags = user_flags &~ SLEEP_ACTIVE;
else
{
/* Decrement every minute */
sleep_timer--;
/* Refresh display in case timer menu is still displayed (to see any
changes) */
display_request_flags = display_request_flags | REFRESH_DISPLAY;
if (sleep_timer == 0)
{
/* Turn-off */
tv_flags = tv_flags & ~ENABLE_POWER;
user_flags = user_flags &~ SLEEP_ACTIVE;
disable_menu_mode();
display_request_flags = display_request_flags | REFRESH_DISPLAY;
}
}
}
/*****************************************************************************
INPUTS : none
OUTPUTS : sleep_timer + timer modulo
DESCRIPTION: Increment sleep timer.
*****************************************************************************/
void increment_sleep_timer(void)
{
/* Increment sleep timer */
user_flags = user_flags | SLEEP_ACTIVE;
sleep_timer = sleep_timer + SLEEP_TIMER_MODULO;
if (sleep_timer > SLEEP_TIMER_MAX)
sleep_timer = 0;
sleep_timer = sleep_timer/SLEEP_TIMER_MODULO;
sleep_timer = sleep_timer*SLEEP_TIMER_MODULO;
}
/*****************************************************************************
*****************************************************************************/
void update_autoshut_timer(void)
{
unsigned char i;
read_video_new();
i = read_data[0] & 0x08;
if (i== 0x08)
autoshut_timer = AUTOSHUT_TIMER;
else
{
autoshut_timer-- ;
if (autoshut_timer == 0)
{
/* Turn-off */
tv_flags = tv_flags & ~ENABLE_POWER;
disable_menu_mode();
/* display_request_flags = display_request_flags | REFRESH_DISPLAY;*/
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -