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

📄 tunerrds.h

📁 关于收音功能代码,并且显示在OSD和VFD上
💻 H
字号:
/**************************************************************************************/
/***********************                    BBK CONFIDENTIAL                   ************************/
/***********************                                                                    ************************/
/***********************         Description : Digital Audio Process          ************************/
/***********************                                                                    ************************/
/*********************** Company: BBK AV ELECTRONICS CORP.,LTD ************************/
/***********************                                                                    ************************/
/***********************              Programmer : Terry Lee                  ******** ****************/
/**************************************************************************************/

#ifndef _TUNERRDS_H_
#define _TUNERRDS_H_

#ifdef TUNERRDS_PAR
#define TUNERRDS_EXT
#else
#define TUNERRDS_EXT extern
#endif

#ifdef BBK_RD2_RDS
#ifdef OSD_SHOW_RDS
#define OSD_SHOW_RDS_CHAR					(32)
#endif

enum  
{
TUNER_DISP_NORMAL,
TUNER_DISP_RDS
};  

// for tuner mode
enum
{
#ifdef FRE_INPUT
FREQ_INPUT_MODE,  
#endif
SETUP_FREQ_MODE,
SET_FREQ_MODE,
LOAD_FREQ_MODE,
STEP_FREQ_MODE,  
SEARCH_MODE,
STORE_FREQ_MODE,
AUTOSEARCH_MODE
};

typedef struct
{
//byte 1
BYTE  fgRDSPS:1;
BYTE  fgRDSPTY:1;
BYTE  fgRDSRT:1;
BYTE  fgRDSCLK:1;
BYTE  fgRDSPTN:1;
BYTE  fgRDSBlkSync:1;
BYTE  fgRDSBlkEnd:1;
BYTE  fgRDSMsgSync:1;
//byte 2
BYTE  fgRDSStep:3;//four blocks
BYTE  bRDSGrpIdSync:4;
BYTE  fgGrp2CurTextAB:1;//for group 2 test flag
//BYTE 3
BYTE  fgGrp2LasTextAB:1;
BYTE fgRDSSync:1;
BYTE fgRDS_CLK:1;
BYTE fgRDSBitData:1;
BYTE fgNextData:1;
BYTE  reserved:3;
//word 
WORD wfgRdsSeg;//for display steps 
}strucRDS;

#ifdef RDS_USE_SM
TUNERRDS_EXT BYTE xdata RDS_STA_ADDR[14];
#endif
TUNERRDS_EXT BYTE xdata _fgTunerDispReq;        //VFD requited to display。Only use  in Reciever。  
TUNERRDS_EXT BYTE xdata _bRDSTime;
TUNERRDS_EXT BYTE xdata _bRDSAllStep;
TUNERRDS_EXT BYTE xdata _bCurRDSStep;
TUNERRDS_EXT BYTE xdata _bRDSState;
TUNERRDS_EXT xdata strucRDS _rRDS;
TUNERRDS_EXT BOOL _vHasRDSINFO;
TUNERRDS_EXT BOOL _vTempLoseRDS;
TUNERRDS_EXT BOOL _VfdIsLighting;
TUNERRDS_EXT BYTE xdata RDSRECEIVESUM;
TUNERRDS_EXT BYTE xdata _bTimeCnt;//the timer for tuner
TUNERRDS_EXT BYTE xdata _bTunerDispType;

#ifdef RDS_USE_BU1924
TUNERRDS_EXT DWRD xdata _bRDS_data;//26 bit
TUNERRDS_EXT WORD xdata _wSyndrome;//10 bit

#ifdef RDS_BU1924_NEW_TIMER
#define RDS_GETTING_BIT_STATE 0
#define RDS_PARSE_BIT_STATE   1
#define RDS_STORE_STATE      2 
#endif
#endif
  
#define RDS_FREQ_ST							0
#define RDS_PS_ST							1
#define RDS_PTY_ST							2
#define RDS_RT_ST							3
#define RDS_PTN_ST							5
#define RDS_CLK_ST							4
#define KISENSE_VFD_LENTH					12
#define NO_RDS_SHOW_TIME					100
#define RDS_DISP_INTER						20											//15->5 15->5		//  ztb RDS 流动时间间隔
#define RDS_DISP_MAX_LEN					64
#define GROUP_0_SEG						0X000F
#define GROUP_2_SEG						0XFFFF										//FROM OXFF TO OX0F
#define GROUP_A_SEG						0X0003

#ifdef RDS_USE_SM
#define RDS_STA_ADDR1						((BYTE *)&(RDS_STA_ADDR))
#define _pbGroupData						(RDS_STA_ADDR1)							// 12 byte
#define _bSequence							(RDS_STA_ADDR1+12)							// 1 byte
#define _bRDSTimerState						(RDS_STA_ADDR1+13)							// 1 byte
#else
#define RDS_STA_ADDR1						((BYTE *)&(_bFlMnListId))						//Address start FLMAIN
#define _pbRDSDisplayData					(RDS_STA_ADDR1)							// 64 byte
#define _pbRDSRT							(RDS_STA_ADDR1+64)							// 64 byte +1 byte char number

#define RDS_STA_ADDR2						(((BYTE *)&(_bFlMnListId))+257)				//Address start CAL_FUNC
#define _pbRDSData							(RDS_STA_ADDR2)							// 7 byte 
#define _pbRDSPsName						(RDS_STA_ADDR2+7)							// 8 byte
#define _pbRDSPTY							(RDS_STA_ADDR2+15)							// 1 byte 
#define _pbRDSCLK							(RDS_STA_ADDR2+16)							// 2 byte
#define _pbGroupData						(RDS_STA_ADDR2+18)							// 12 byte
#define _bSequence							(RDS_STA_ADDR2+30)							// 1 byte
#define _bRDSTimerState						(RDS_STA_ADDR2+31)							// 1 byte
#endif



TUNERRDS_EXT void vRdsInforRefresh(void)large;
TUNERRDS_EXT void vReadRDSBU1924(void)large;


TUNERRDS_EXT BOOL fgRDSGroupSync(void)large;
TUNERRDS_EXT void vExtractBlkFrmData(void)large;
TUNERRDS_EXT void vResetRDSMsgSync(void)large;
TUNERRDS_EXT void vResetRDSBlkSync(void)large;
#ifndef TEMP_RDS
TUNERRDS_EXT void vResetRDSVar(void)large;
#endif
TUNERRDS_EXT void vRDSDispDeal(void)large;
TUNERRDS_EXT void vRDSDispProc(void)large;
TUNERRDS_EXT void vRDSNewDisCyc(void)large;
#ifndef TEMP_RDS
TUNERRDS_EXT void vRDSInit(void)large;
#endif
TUNERRDS_EXT void vRDSSHOWCLR(void)large;
TUNERRDS_EXT BYTE bRDSPSDispPrep(void) large;
TUNERRDS_EXT BYTE bRDSPTYDispPrep(void) large;
TUNERRDS_EXT BYTE bRDSRTDispPrep(void) large;
TUNERRDS_EXT BYTE bRDSCLKDispPrep(void) large;
TUNERRDS_EXT BYTE bRDSPTNDispPrep(void) large;
TUNERRDS_EXT BOOL fgParseRDSGroupData(void) large;
TUNERRDS_EXT BOOL fgParseRDSGroup0(void)large;
TUNERRDS_EXT BOOL fgParseRDSGroup2(void)large;
TUNERRDS_EXT BOOL fgParseRDSGroup4(void)large;
//TUNERRDS_EXT BOOL fgParseRDSGroupA(void)large;
TUNERRDS_EXT BYTE bRDSCharNum(BOOL fgGroupAB)large;
TUNERRDS_EXT void vRDSDetDeal(void) large;


TUNERRDS_EXT void vTunerRdsInit(void) large;
TUNERRDS_EXT void vTunerRdsPro(void) large;

#endif
#endif

⌨️ 快捷键说明

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