📄 ttext.c
字号:
//////////////////////////////////////////////////////////////////////
// Video Teletext
//////////////////////////////////////////////////////////////////////
#include "Config.h"
#include "reg.h"
#include "typedefs.h"
#include "I2C.h"
#include "main.h"
#include "printf.h"
#include "ttext.h"
//#include "remo.h"
/* Eds.c */
#ifdef SUPPORT_TELETEXT
extern IDATA BYTE TTToggle;
//////////////////////////////////////////////////////////////////////
// Command Option
//////////////////////////////////////////////////////////////////////
void CmdRemNo(BYTE RemoData)
{
BYTE buf;
BYTE Vdata[1];
buf = ToNumber(RemoData) & 0x0f;
if(buf == 0)
Vdata[0] = 0x39;
else
Vdata[0] = (buf | 0x30) - 0x01;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextHPol(void)
{
BYTE Vdata[4];
Vdata[0] = 0xb3;
Vdata[1] = 0xc1;
Vdata[2] = 0xfd;
Vdata[3] = 0x02;
WriteI2Cn(TEXTAddress, Vdata, 4);
}
void TeleTextVPol(void)
{
BYTE Vdata[4];
Vdata[0] = 0xb3;
Vdata[1] = 0xc1;
Vdata[2] = 0xfe;
Vdata[3] = 0x01;
WriteI2Cn(TEXTAddress, Vdata, 4);
}
void TeleTextCancel(void)
{
BYTE Vdata[1];
TTToggle = (TTToggle & 0xfe) + ((TTToggle + 0x01) & 0x01);
if((TTToggle & 0x01) == 0x01){
Vdata[0] = 0x27;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
else{
if((TTToggle & 0x02) == 0x02){
Vdata[0] = 0x3e;
WriteI2Cn(TEXTAddress, Vdata, 1);
}else{
Vdata[0] = 0x3f;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
}
// Printf("\r\n(Debug)Toggle : %2x",(WORD)TTToggle);
}
void TeleTextPos(BYTE Hpos, BYTE Vpos)
{
BYTE Vdata[4];
Vdata[0] = 0x48;
Vdata[1] = 0x08;
Vdata[2] = Hpos;
Vdata[3] = Vpos;
WriteI2Cn(TEXTAddress, Vdata, 4);
}
void TeleTextON(void)
{
BYTE Vdata[1];
TTToggle = (TTToggle & 0xfd) + ((TTToggle + 0x02) & 0x02);
if((TTToggle & 0x02) == 0x02){
Vdata[0] = 0x3e;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
else{
Vdata[0] = 0x3f;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
// Printf("\r\n(Debug)Toggle : %2x",(WORD)TTToggle);
}
void TeleTextOFF(void)
{
BYTE Vdata[1];
TTToggle = (TTToggle & 0xfd) + ((TTToggle + 0x02) & 0x02);
Vdata[0] = 0x03;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextRed(void)
{
BYTE Vdata[1];
Vdata[0] = 0x20;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextGreen(void)
{
BYTE Vdata[1];
Vdata[0] = 0x21;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextYellow(void)
{
BYTE Vdata[1];
Vdata[0] = 0x22;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextCyan(void)
{
BYTE Vdata[1];
Vdata[0] = 0x3d;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextHold(void)
{
BYTE Vdata[1];
Vdata[0] = 0x25;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextTime(void)
{
BYTE Vdata[1];
Vdata[0] = 0x07;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextSize(void)
{
BYTE Vdata[1];
Vdata[0] = 0x3a;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextIndex(void)
{
BYTE Vdata[1];
Vdata[0] = 0x28;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextMode(void)
{
BYTE Vdata[1];
Vdata[0] = 0x29;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextPageUp(void)
{
BYTE Vdata[1];
Vdata[0] = 0x3b;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
void TeleTextPageDown(void)
{
BYTE Vdata[1];
Vdata[0] = 0x3c;
WriteI2Cn(TEXTAddress, Vdata, 1);
}
#endif//SUPPORT_TELETEXT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -