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

📄 main_task.c

📁 汉字在计算机内存放分为两种情况
💻 C
字号:
#include <gendef.h>
#include "main_task.h"
#include "system_drv.h"
#include "osg.h"
#include "keydef.h"
#include "gfm.h"
#include "gpio.h"
#if (CURRENT_CA == IRDETOCA)
#include "irdeto_ca.h"
#endif
#include "si.h"
#include "user.h"
#include "mcx.h"
#include "demux.h"
#include "avplay.h"
#if (CURRENT_CA == TFCAS)
#include "pub_st.h"
#include "booklist.h"
#endif
#if (CURRENT_BROADCAST == J_AVIT_BROADCAST)

#include "j_lib.h"
#include "j_qam.h"
#endif


/*
#include "booklist.h"
#include "callprog.h"
*/
static const UINT32 DefineColours[COLOR_MAX - COLOR_lightyellow] =
{

	0x70ffff00,
	0x70cc7a00,
	0x70d25400,
	0x70ff0000,
	0x7066ffff,
	0x706699ff,
	0x7054547e,
	0x7066ff99,
	0x700000ff,
	0x7000246b,
	0x7098a8d2,
	0x70999999,
	0x70000000,

	0x00000000,  /*clear   */
	0x70ffffff,  /*white  */
	0x70000000,  /*black  */
	0x70b30000,  /*dtred  */              
	0x70279800,  /*thickgreen*/
	0x7091b285,  /*weakgreen */
	0x70000e79,  /*thickblue1*/    
	0x700048b3,  /*thickblue2*/    
	0x700000b3,  /*thickblue3*/    
	0x705286b2,  /*weakblue1 */    
	0x7096a6b3,  /*weakblue2 */    
	0x708f8fb3,  /*weakpurple*/
	0x70b36a00,  /*orange     */  
	0x70b29600,  /*midyellow  */  
	0x70b2b300,  /*lemonyellow*/       
	0x70eec000
};

UINT32 MainTaskQueue = 0xfffffff0;
UINT32 TimerTaskID;
static T_FTA_Applet   CurrentApplet = FTAdefault,PreviousApplet;
static void MainTaskTask(void);
static void TimerTask(void);/*liuhj(2004-10-29)*/

T_OSGPalette BrocastPalette[256];

void MainTask_Init(UINT8 mode)
{
	UINT32 i,j;
	int err;
	

	GFMCreateOSGRegion(680,550,0,0);
#if	(RGB_MODE==TRUE)
	for (i = 0; i < (COLOR_MAX - COLOR_lightyellow); i++)
	     BrocastPalette[i+ COLOR_lightyellow].reg = DefineColours[i];
#else
	for(i = 0; i < (COLOR_MAX - COLOR_lightyellow); i++)
	{
		BrocastPalette[i + COLOR_lightyellow].reg = GFMConvertRGBToYCbCr((UINT8)(DefineColours[i] >> 16),
	                                                                         (UINT8)(DefineColours[i] >> 8),
		                                                                 (UINT8)DefineColours[i]) 
		                                                                 | (DefineColours[i] & 0xff000000);		  
	}
#endif
	GFMCreateOSGPalette(BrocastPalette);
       GPIO_Control_YellowLight( TRUE );
       GPIO_Control_RedLight( FALSE);
	if (mode)
	{
		FNTDrawText(0, 0, 0, 0, "Aa1*");
		GFMDrawRectangle(0, 0, 680, 550, Colors_clear, TRUE);
	        DT_DEMUX_Init();
	        MainTaskQueue = DTOS_DRV_CreatQueue(64);
		DTOS_DRV_CreateTask((void (*)(void))MainTaskTask, 8, 0x1000, 0, "BDDT");
		TimerTaskID = DTOS_DRV_CreateTask((void (*)(void))TimerTask, 5, 0x100, 0, "TIMT");		  
		

    }
}

static void TimerTask(void)
{
    while (TRUE)
    {
        task_delay(4000);
        SendTimerToMainTask();
    }
}

void SendKeyCodeToMainTask(T_KEY_Defines keyCode)
{
	T_FTA_Event event;
	event.code = keyCode;
	event.param2 = keyCode;
	if ( MainTaskQueue != 0xfffffff0)
	DTOS_DRV_SendMessage(MainTaskQueue, &event);
}



void StopTimerTask()
{
      DTOS_DRV_TaskSuspend(TimerTaskID);
}

void RestartTimerTask()
{
      DTOS_DRV_TaskResume(TimerTaskID);
}

/******************************
每隔一秒一个消息
******************************/
static UINT8	timers = 0;
void SendTimerToMainTask(void)
{
	T_FTA_Event event;
	timers ++;
	if ((timers &0x1) == 0 && MainTaskQueue != 0xfffffff0)
	{
		event.code = TIMER_1SEC;
		DTOS_DRV_SendMessage(MainTaskQueue, &event);
		if (timers >= 16)
		{
			timers  = 0;
			event.code = TIMER_SEC;
			DTOS_DRV_SendMessage(MainTaskQueue, &event);
		}
	}
}

#if (LSI_DRIVERS==TRUE)
static void FTASendScreenSizeMessage(void)
{
	SendKeyCodeToMainTask(FTA_AV_SETUP);
}     
#else

#endif

static void MainTaskTask(void)
{
        char  buf[120];
	int ret;
	int cursel = 0;
	T_FTA_Event  event;
        event.code = BAPP_CREATE;
        FavEditEH(&event);
	while (1)
	{
		ret = DTOS_DRV_ReceiveMessage(MainTaskQueue, &event);
		if ( ret != SUCCESS )
		{
			continue;
	        }
	        
	        FavEditEH(&event);
	       
	}
	
}
 
T_FTA_Applet   FTAGetCurrentApplet(void)
{
	return CurrentApplet;
}

⌨️ 快捷键说明

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