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

📄 sleep.c

📁 以ST公司CPU为核心的彩色电视机的完整源程序。
💻 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 + -