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

📄 msp4450g.h

📁 Sample code for use on smp 863x processor.
💻 H
字号:
#ifndef _MSP4450G_H#define _MSP4450G_H#include <stdio.h>#include "../rua/include/rua.h"#include "../rua/include/rua_property.h"#include "common.h"//Input: Demodulator Block//Output: I2S//-------------------------------------------------------------------------------#define MSP4450G_I2SOUT_PIN_ACTIVE		0x0000// Active also changes AUD_CL_OUT to output, vice versa for tristate#define MSP4450G_I2SOUT_PIN_TRISTATE		0x0090  // basically i2s OFF#define MSP4450G_I2SOUT_MODE_MASTER		0x0000#define MSP4450G_I2SOUT_MODE_SLAVE		0x0020#define MSP4450G_I2SOUT_STROBEWS_BOUND		0x0000#define MSP4450G_I2SOUT_STROBEWS_1CLK		0x0040#define MSP4450G_I2SOUT_BIT_16			0x0000#define MSP4450G_I2SOUT_BIT_32			0x0001#define MSPSCARTDSP_PRESCALE_OFF	0x00 //off#define MSPSCARTDSP_PRESCALE_0DB	0x19 //0 db gain (2 V rms Input leads to digital full scale)#define MSPSCARTDSP_PRESCALE_14DB	0x7f //+14 db gain (400 m V rms input leads to digital full scale)#define MSPVOL_MAX	0x7F	//+12db#define MSPVOL_0DB	0x73	// 0db#define MSPVOL_MID	0x4F#define MSPVOL_MIN	0x01	// -114db#define MSPVOL_MUTE	0x00	// mutetypedef enum {		msp_standard_autodetect=	0x0001, 		msp_standard_btscstereo=	0x0020, 		msp_standard_btscmonosap=	0x0021, 		msp_standard_dk1stereo=		0x0004, 		msp_standard_dk2stereo=		0x0005, 		msp_standard_dk3stereo=		0x0007, 		msp_standard_dknicam=		0x000b,		msp_standard_dkmono_hdev3=	0x0006, 		msp_standard_dknicam_hdev2=	0x000c, 		msp_standard_dknicam_hdev3=	0x000d,				//<YVo>		msp_standard_mstereo=		0x0002,		msp_standard_mEIAstereo=	0x0030,		msp_standard_bgstereo=		0x0003,		msp_standard_bgsc_stereo=	0x0008,		msp_standard_inicam_fm=		0x000a,		//</YVo>		} MSP4450G_STANDARD;typedef enum { 			msp_fm28khz=0, 		msp_fm50khz, 		msp_fm75khz, 		msp_fm100khz, 		msp_fm150khz, 		msp_fm180khz,		msp_fm_hdev2_150khz, 		msp_fm_hdev2_360khz, 		msp_fm_hdev3_450khz, 		msp_fm_hdev3_540khz,		msp_fm_satellite, 		msp_am 		} MSP4450G_FMamPRESCALE;typedef enum {		msp_digio_tristate=0x01, 		msp_digio_outputenable, 		msp_digio_out_and_interrupt		} MSP4450G_DIGIO_MODE;// btsc, Prescale set to 100 khZ FM deviationtypedef enum { 		msp_45mhz_MKorea=0, 		msp_45mhz_MBtsc, msp_45mhz_MJapan, 		msp_45mhz_ChromaCarrier 		} MSP4450G_DETECT_45MHZ;typedef enum { 		msp_65mhz_LSecam=0, 		msp_65mhz_DK123Nicam		} MSP4450G_DETECT_65MHZ;//Input: SCART1 DSP//-------------------------------------------------------------------------------typedef enum{		sc_dsp_src_sc1in=0x00,  //SCART1 to DSP input (RESET position)		sc_dsp_src_monoin=0x08, //MONO to DSP input (set Sound A Mono in the channel matrix mode for the corresponding output channels)		sc_dsp_src_sc2in=0x10,  //SCART2 to DSP input		sc_dsp_src_sc3in=0x18, //SCART3 to DSP input		sc_dsp_src_sc4in=0x01, //SCART4 to DSP input		sc_dsp_mute=0x19  //mute DSP input}MSP4450G_SC_DSP_SRC;//MATRIX Operations//-------------------------------------------------------------------------------typedef enum{	matrix_main=0x0008, 		//khuong add		matrix_headphone=0x0009, 		//khuong end		matrix_sc1DA=0x000a, 		matrix_i2s=0x000b, 		matrix_qpeak=0x000c		}MSP4450G_MATRIX;typedef enum {	matrix_mode_soundAMono=0x00, 		matrix_mode_soundBMono=0x10, 		matrix_mode_stereo=0x20, 		matrix_mode_mono=0x30, 				matrix_mode_sumDiff=0x40,		matrix_mode_abXchange=0x50, 		matrix_mode_phaseChangeB=0x60, 		matrix_mode_phaseChangeA=0x70, 		matrix_mode_onlyA=0x80, 		matrix_mode_onlyB=0x90} MSP4450G_MATRIX_MODE;typedef enum{		matrix_src_demodFMAM=0x00, 		matrix_src_stereoAB=0x01, 		matrix_src_stereoA=0x03, 		matrix_src_stereoB=0x04,		matrix_src_SCARTin=0x02, 		matrix_src_I2S1=0x05, 		matrix_src_I2S2=0x06,		//khuong add		matrix_src_I2S3_c12=0x07,		matrix_src_I2S3_c34=0x08		//khuong end		}MSP4450G_MATRIX_SRC;typedef struct {	RMuint8 isLowD_CTR_I_O_1;	RMuint8 isLowD_CTR_I_O_0;	RMuint8 scartDspInputSelect; //0 -> 5 == SCART1  -> mute	RMuint8 scart1OutputSelect; // 0 -> 7	RMuint8 scart2OutputSelect; // 0 -> 7}ScartSignalPath;typedef struct {	RMuint8 isAutomaticSoundSelect;	RMuint8 isANA_IN1Plus;	RMuint8 isActiveAUD_CL_OUT;	RMuint8 isWSChangesAtDataWordBoundary;	RMuint8 isMasterModeI2SInterface;	RMuint8 isActiveStateI2SOutputPins;	RMuint8 isActiveDigitalOutputPinD_CTR_I_O;}Demodulator;typedef struct {	RMuint8 prescaleType;//		RMuint32 prescaleValue; //Can get by some function	RMuint8 matrixModeFM; // 0 -> 4}ScartAndI2SInputs;typedef struct {	RMuint8 outputType; //0 -> 5 Loudspeaker -> Quasi-Peak Detector	RMuint8 source; // 0 -> 13	RMuint8 matrixMode; // 0-> 3}OutputChannels;RMstatus msp4450g_detect(struct RUA *pInstance);RMstatus msp4450g_reset(struct RUA *pInstance);RMstatus msp4450g_applyStandardDetected(struct RUA *pInstance,RMuint32 modus);RMstatus msp4450g_demod_selectStandard(struct RUA *pInstance, MSP4450G_STANDARD s);RMstatus msp4450g_demod_InputFMamPrescale(struct RUA *pInstance,MSP4450G_FMamPRESCALE p);RMstatus msp4450g_demod_getDetectedStandard(struct RUA *pInstance, RMuint32 *regValue);RMstatus msp4450g_demod_init(struct RUA *pInstance,  MSP4450G_DETECT_45MHZ nD45mhz, MSP4450G_DETECT_65MHZ nD65mhz, MSP4450G_DIGIO_MODE digIOMode, RMuint32 i2sMode);RMstatus msp4450g_scartdsp_SelectSource(struct RUA *pInstance, MSP4450G_SC_DSP_SRC src);RMstatus msp4450g_scartdsp_InputPrescale(struct RUA *pInstance,RMuint32 db);RMstatus msp4450g_matrix_SelectMode(struct RUA *pInstance, MSP4450G_MATRIX m, MSP4450G_MATRIX_MODE md);RMstatus msp4450g_matrix_SelectSource(struct RUA *pInstance, MSP4450G_MATRIX m, MSP4450G_MATRIX_SRC src);RMstatus msp4450g_headphone_SetVolume(struct RUA *pInstance, RMuint8 db);RMstatus msp4450g_headphone_IncreaseVolume(struct RUA *pInstance);RMstatus msp4450g_headphone_DecreaseVolume(struct RUA *pInstance);RMstatus msp4450g_loudspeaker_SetVolume(struct RUA *pInstance, RMuint8 db);RMstatus msp4450g_loudspeaker_IncreaseVolume(struct RUA *pInstance);RMstatus msp4450g_loudspeaker_DecreaseVolume(struct RUA *pInstance);RMstatus msp4450g_InitScart1InHeadPhoneOut(struct RUA *pInstance);RMstatus msp4450g_InitScart3InHeadPhoneOut(struct RUA *pInstance);RMstatus msp4450g_InitScart1InLoudSpeakerOut(struct RUA *pInstance);RMstatus msp4450g_InitScart3InLoudSpeakerOut(struct RUA *pInstance);RMstatus msp4450g_InitScart4InHeadPhoneOut(struct RUA *pInstance);RMstatus msp4450g_InitScart4InLoudSpeakerOut(struct RUA *pInstance);RMstatus msp4450g_InitMonoInHeadPhoneOut(struct RUA *pInstance);RMstatus msp4450g_InitMonoInLoudSpeakerOut(struct RUA *pInstance);RMstatus msp4450g_InitScart1InI2sAndLoudSpeakerOut(struct RUA *pInstance);RMstatus msp4450g_InitScart1InI2sAndHeadPhoneOut(struct RUA *pInstance);RMstatus msp4450g_InitScart1InI2sAndHeadPhoneOutSlaver(struct RUA *pInstance);RMstatus msp4450g_InitScart1InI2sAndLoudSpeakerOutSlaver(struct RUA *pInstance);RMstatus msp4450g_InitScart3InI2sAndHeadPhoneOutSlaver(struct RUA *pInstance);RMstatus msp4450g_InitScart3InI2sAndLoudSpeakerOut(struct RUA *pInstance);RMstatus msp4450g_InitI2s3InAndHeadPhoneOut(struct RUA *pInstance);RMstatus msp4450g_InitI2s3InAndLoudSpeakerOut(struct RUA *pInstance);RMstatus msp4450g_initScartInputThoughtI2s(struct RUA *pInstance, 										   RMuint8 isMaster,  										   RMuint8 scartInput ,										   RMuint8 isMultiSampleInput,										   RMuint8 howManyBit,										   RMuint8 isLoudSpeakerOutput,										   RMuint8 is32BitsOutput,										   RMuint8 is8ChannelOutput										   );void msp4450g_Debug(struct RUA *pInstance, RMuint8 key);#endif

⌨️ 快捷键说明

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