📄 dvd.c
字号:
#include "public.h"
#ifdef DVDMODE_ENABLE
DVD_struct DVD;
void DVDMain(void)
{
if((!((System.FWorkMode.Next==WORKMODE_DVD)||
(System.FWorkMode.Next==WORKMODE_USB)||
(System.FWorkMode.Next==WORKMODE_SD)) )
||
(!((System.FWorkMode.Current==WORKMODE_DVD)||
(System.FWorkMode.Current==WORKMODE_USB)||
(System.FWorkMode.Current==WORKMODE_SD)))
)
{
return;
}
DVDAnalyseDsaData();
DVDWorkMode();
DVDKey();
DVDDisplay();
}
void DVDAnalyseDsaData(void)
{
unsigned char RecCommand,RecData;
RecCommand = (unsigned char)((RecBuf[0] >> 8)&0x00ff);
RecData = (unsigned char)(RecBuf[0] & 0x00ff);
switch(RecCommand)
{
case RECEIVE_SOURCE_TYPE:
DVD.SourceType = RecData;
switch(DVD.SourceType)
{
case DVD_SOURCE_DISC:
System.FWorkMode.Requst = WORKMODE_DVD;
break;
case DVD_SOURCE_USB:
System.FWorkMode.Requst = WORKMODE_USB;
break;
case DVD_SOURCE_SD:
System.FWorkMode.Requst = WORKMODE_SD;
break;
}
case RECEIVE_USBCARD_SWITCHSTATUS:
DVD.USBCARDSwitchStatus = RecData;
switch(DVD.USBCARDSwitchStatus)
{
case USB_CARD_NO_CHANGE:
break;
case SWITCH_TO_USB_BUT_HAS_NO_USB:
DVD.No_USB = 1;
DVD.Is_USB = 0;
System.FWorkMode.Requst = WORKMODE_IDLE;
break;
case SWITCH_T_CARD_BUT_HAS_NO_CARD:
DVD.No_CARD = 1;
DVD.Is_CARD = 0;
System.FWorkMode.Requst = WORKMODE_IDLE;
break;
case HAS_USB_AND_SWITCH_TO_USB:
DVD.Is_USB = 1;
DVD.No_USB = 0;
System.FWorkMode.Requst = WORKMODE_USB;
break;
case HAS_CARD_AND_SWITCH_TO_CARD:
DVD.Is_CARD = 1;
DVD.No_CARD = 0;
System.FWorkMode.Requst = WORKMODE_SD;
break;
}
break;
case RECEIVE_SYSTEM_RESET:
DVD.SystemReset = RecData;
break;
case RECEIVE_TRACK_TIMEOUT:
DVD.TrackTimeout = RecData;
break;
case RECEIVE_FILE_TYPE:
DVD.FileType = RecData;
break;
case RECEIVE_OTHER_CMD://reserse.
DVD.Other_cmd = RecData;
break;
case RECEIVE_DISC_NUMBER:
DVD.DiscNumber = RecData;
break;
case RECEIVE_NUMBER_DATA:
DVD.DiscFileNum = RecData;
break;
case RECEIVE_TIME_HOUR:
DVD.TimeHour = RecData;
break;
case RECEIVE_TIME_MINUTE:
DVD.TimeMinute = RecData;
break;
case RECEIVE_TIME_SECOND:
DVD.TimeSecond = RecData;
break;
case RECEIVE_MEDIATYPE_ERR:
DVD.MeadiaType = RecData;
break;
case RECEIVE_AUDIO_TYPE:
DVD.AudioType = RecData;
break;
case RECEIVE_PLAY_STATE:
DVD.PlayState = RecData;
switch(DVD.PlayState)
{
case STATE_READING_DISC:
break;
case STATE_LOADING_USB:
break;
case STATE_LOADING_CARD:
break;
case STATE_PLAY:
break;
case STATE_PAUSE:
break;
case STATE_FWD:
break;
case STATE_REW:
break;
case STATE_STOP:
break;
}
break;
case RECEIVE_PLAY_MODE:
DVD.PlayMode = RecData;
switch(DVD.PlayMode)
{
case MODE_NORMAL:
break;
case MODE_REPEAT_AB:
break;
case MODE_REPEAT_ONE:
break;
case MODE_REPEAT_ALL:
break;
case MODE_RANDOM:
break;
}
break;
default:
break;
}
}
void DVDWorkMode(void)
{
switch(System.FWorkMode.Next)
{
case WORKMODE_DVD:
DVD.WorkMode=DVD_WORKMODE_DISC;
//should be start to show "Loading...",if there is VFD panel.
break;
case WORKMODE_USB:
DVD.WorkMode=DVD_WORKMODE_USB;
break;
case WORKMODE_SD:
DVD.WorkMode=DVD_WORKMODE_SD;
break;
}
switch(DVD.WorkMode)
{
case DVD_WORKMODE_IDLE:
break;
case DVD_WORKMODE_DISC:
//need to process Eject.
break;
case DVD_WORKMODE_USB:
break;
case DVD_WORKMODE_SD:
break;
}
}
void DVDKey(void)
{
#if 0
switch(KeyCode)
{
case S_AD_EJECT:
case P_RM_EJT:
if(DVD.HaveDisc == DISC_IN)
{//eject out.
TrayModeState = TRAYMOTOR_OPEN_REQ;
}
else
{//eject in
if(PINin_LOADSW)
{
TrayModeState = TRAYMOTOR_CLOSE_REQ;
}
else
{
TrayModeState = TRAYMOTOR_IDLE;
//show no disc,and send command to 8202t
}
}
break;
}
#endif
}
void DVDDisplay(void)
{//revese.
}
#ifdef SUPPORT_TCON
const unsigned char T112_Config_Data_50[256]=
{
0x00,0x00,0x00,0x00,0x2F,0x00,0x00,0x80,0x80,0x00,0x60,0x60,0x00,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x83,0x00,0xB0,0x00,0xFF,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x83,0x00,0x7F,0x3F,0x00,0x00,0x10,0x40,0x50,0x00,0x20,0x03,0x00,0x00,0x00,0x10,
0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x30,0xAD,0xDF,0x06,0xD0,0x02,0xF4,0x00,0x84,0xD6,0x05,0x01,0x04,0x00,0x00,0x00,
0x01,0x8F,0x0F,0x0F,0x04,0x08,0x88,0x00,0x80,0x80,0x00,0x7F,0x80,0x00,0x00,0x00,
0xB0,0x00,0x66,0x2E,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x80,0x80,
0x00,0x00,0x00,0x00,0xC7,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x00,0x00,0x00,0x00,0x10,0x00,0x95,0xCC,0x64,0xD0,0x81,0x02,0x10,0xFF,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x3A,0x00,0x11,0x00,0xE0,0x01,0xEA,0x00,0x68,0x02,0x0C,0x01,0x10,0x00,0x03,0x00,
0x01,0x08,0x00,0x00,0x00,0x22,0x00,0x00,0x15,0x02,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0xEA,0x00,
0x91,0xF4,0x00,0x00,0x0F,0x05,0x1D,0x00,0x07,0x80,0x11,0x80,0x00,0x00,0x00,0x00,
0x50,0x04,0x00,0x54,0x57,0xD2,0xA1,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
};
const unsigned char T112_Config_Data_52[256]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x21,0x71,0x02,0x02,0x0C,0x02,0x02,0xF2,0x01,0x29,0x00,0x01,0x00,0x03,0x00,0x00,
0x01,0xFB,0x01,0x37,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x50,0x04,0x00,0x54,0x57,0xD2,0xA1,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
};
const unsigned char T112_Config_Data_54[256]=
{
0x00,0x09,0x4B,0x00,0xD8,0x32,0x0A,0x21,0x50,0x3E,0xA0,0x00,0x8A,0x07,0x00,0x0C,
0x27,0xFF,0x06,0x82,0x40,0x64,0x74,0xCB,0x21,0xF0,0x7C,0x0F,0x20,0x00,0x00,0x00,
0x3E,0x3E,0x00,0x80,0xE9,0x0F,0x2D,0x50,0x22,0x4E,0xD6,0x4E,0x23,0x48,0x88,0x50,
0x26,0x69,0x70,0x0E,0x6C,0x90,0x70,0x0E,0x00,0x0A,0x0E,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0xFF,0x09,0x00,0x21,0xEF,0xF9,0x03,0x43,0x0D,0x71,0x01,0x01,0x00,0x00,0x00,
0x07,0x00,0x42,0x39,0x07,0x20,0x03,0x10,0x00,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
void Reset_TFT(void)
{
WriteToI2c(0x50,0,&T112_Config_Data_50[0],256);
WriteToI2c(0x52,0,&T112_Config_Data_52[0],256);
WriteToI2c(0x54,0,&T112_Config_Data_54[0],256);
}
void TFTBACKLED_Init()
{
PD_TFTBACKLED = 1;
PCR1_TFTBACKLED = 1;
PCR2_TFTBACKLED = 0;
Pin_TFTBACKLED = 1;
PD_TFTRESET = 1;
PCR1_TFTRESET = 1;
PCR2_TFTRESET = 0;
Pin_TFTRESET = 0;
Wait1ms(100);
Pin_TFTRESET = 1;
}
void TFTBACKLED_Ctrl(unsigned char on)
{
if(on) Pin_TFTBACKLED = 1;
else Pin_TFTBACKLED = 0;
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -