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

📄 msp34x5g_test.c

📁 sigma_designs的tuner驱动
💻 C
📖 第 1 页 / 共 3 页
字号:
				MPRINT(("SCART1DA from SCART DSP in\n"));				if( RMFAILED(s = msp34x5g_matrix_SelectSource(&mspConfig, matrix_sc1DA, matrix_src_SCARTin)) )					MPRINT(("mspmsp34x5g_matrix_SelectSource(matrix_sc1DA, matrix_src_SCARTin) FAILED %d\n", s));				break;			}							MPRINT(("sc1out vol 0db\n"));			if( RMFAILED(s = msp34x5g_scart1out_SelectSource(&mspConfig, sc1out_src_sc1DA)) )				MPRINT(("msp34x5g_scart1out_SelectSource(sc1out_src_sc1DA) FAILED %d\n", s));			if( RMFAILED(s = msp34x5g_scart1out_SetVolume(&mspConfig, MSPVOL_0DB)) )				MPRINT(("msp34x5g_scart1out_SetVolume(MSPVOL_0DB) FAILED %d\n", s));							break;					case 80:		case 81:			MPRINT(("configuration %ld selected for board 781e1, I2s out\n", mode));			MPRINT(("80 = tuner IF in\n"));			MPRINT(("81 = SCART2 in\n"));			MPRINT(("---------------------------------\n"));			MPRINT(("on board %lx, msp34x5g defaults to i2c address 0x%x and 0x%x\n",				mode, mspConfig.i2cConfig.WrAddr, mspConfig.i2cConfig.RdAddr));						if( RMFAILED(s = msp34x5g_detect(&mspConfig)) )			{				MPRINT(("msp34x5g_detect() RM_OK:%c, RM_NOT_FOUND:%c\n", (s == RM_OK)?'y':'n', (s == RM_NOT_FOUND)?'y':'n'));			}			else				MPRINT(("msp34x5g_detect() detected\n"));			MPRINT(("reset\n"));			if( RMFAILED(s = msp34x5g_reset(&mspConfig)) )				MPRINT(("msp34x5g_reset() FAILED %d\n", s));						MPRINT(("Demod = DK123 Nicam/autodetect, fmdeviation = 100kHz, digio TRistate, I2sOUT active-master-32bit\n"));			if( RMFAILED(s = msp34x5g_demod_init(&mspConfig, msp_45mhz_MBtsc, msp_65mhz_DK123Nicam, msp_digio_tristate, MSP34X5G_I2SOUT_PIN_ACTIVE | MSP34X5G_I2SOUT_MODE_MASTER | MSP34X5G_I2SOUT_BIT_32)) ) // FM Prescale here				MPRINT(("msp34x5g_demod_init(btsc/dk123nicam, io-z, i2s-ACTIVE) FAILED %d\n", s));			if( RMFAILED(s = msp34x5g_demod_selectStandard(&mspConfig, msp_standard_autodetect)) )				MPRINT(("msp34x5g_demod_selectStandard(msp_standard_autodetect) FAILED %d\n", s));			if( RMFAILED(s = msp34x5g_demod_InputFMamPrescale(&mspConfig, msp_fm100khz)) )				MPRINT(("msp34x5g_demod_InputFMamPrescale(fm 100 khz deviation) FAILED %d\n", s));							{				RMint32 loop;				RMuint16 standard;							MPRINT(("detecting standard... 5 seconds...."));				for( loop = 0; loop < 5; loop++)				{					if( RMFAILED(s = msp34x5g_demod_getDetectedStandard(&mspConfig, &standard)) )						MPRINT(("msp34x5g_demod_getDetectedStandard() failed\n"));											if( standard == 0 )					{						MPRINT(("no standard detected\n"));						break;					}					else if( standard <= 0x7FF )					{						MPRINT(("0x%x detected\n", standard));						break;					}					mum_sleep(1);				}				if( loop == 5 )					MPRINT(("no standard detected\n"));			}										MPRINT(("SCART DSP = SC2 IN, prescale = 0db\n"));			if( RMFAILED(s = msp34x5g_scartdsp_SelectSource(&mspConfig, sc_dsp_src_sc2in)) )				MPRINT(("msp34x5g_scartdsp_SelectSource(sc_dsp_src_sc1in) FAILED %d\n", s));			if( RMFAILED(s = msp34x5g_scartdsp_InputPrescale(&mspConfig, MSPSCARTDSP_PRESCALE_0DB)) )				MPRINT(("msp34x55g_scartdsp_InputPrescale(0dB) FAILED %d\n", s));						if( mode == 80 )			{				MPRINT(("I2S Matrix = Stereo or A\n"));				if( RMFAILED(s = msp34x5g_matrix_SelectSource(&mspConfig, matrix_i2s, matrix_src_stereoA)) )					MPRINT(("mspmsp34x5g_matrix_SelectSource(matrix_i2s, matrix_src_stereoA) FAILED %d\n", s));			}			else			{				MPRINT(("I2S Matrix = SCARTin, Stereo Mode\n"));				if( RMFAILED(s = msp34x5g_matrix_SelectSource(&mspConfig, matrix_i2s, matrix_src_SCARTin)) )					MPRINT(("mspmsp34x5g_matrix_SelectSource(matrix_i2s, matrix_src_stereoA) FAILED %d\n", s));			}			if( RMFAILED(s = msp34x5g_matrix_SelectMode(&mspConfig, matrix_i2s, matrix_mode_stereo)) )				MPRINT(("msp34x5g_matrix_SelectMode(matrix_i2s, matrix_mode_stereo) FAILED %d\n", s));			{				GPIO_CONFIG gC;								memset(&gC, 0, sizeof(gC));				gC.pGBus = pGBus;				gC.nGpioCfg = GpioCfg_Gpio;				MPRINT(("Setting GPIO8 to 0 for SEL_DIG pin on the 781e1 board\n"));				mum_gpioSetDir(&gC, 8, 1);				mum_gpioSet(&gC, 8, 0);			}			break;								// no mode		case 0:			MPRINT(("no board selected, NO INITIALIZATION!\n"));			break;					default:			MPRINT(("%ld board not supported...\n", mode));			goto main_exit;			break;		}		MPRINT(("%ld board initialization done\n", mode));		if ( interactive == 0 )			goto main_exit;	} // end if (cmd line only application)		MPRINT(("Interactive Mode\n"));	MPRINT(("----------------------------------------------\n"));	show_commands();	// Prompt Application		while(1)	{		MPRINT(("> "));			if( fgets(aBuffer, 255, stdin) != NULL )		{			switch( aBuffer[0] )			{			// Control			case 'C':				switch(aBuffer[1])				{				case 'd':					s = msp34x5g_detect(&mspConfig);					MPRINT(("msp34x5g_detect() RM_OK:%c, RM_NOT_FOUND:%c\n", (s == RM_OK)?'y':'n', (s == RM_NOT_FOUND)?'y':'n'));					break;									case 'r':					s = msp34x5g_reset(&mspConfig);					MPRINT(("msp34x5g_reset() RM_OK:%c\n", (s == RM_OK)?'y':'n'));					break;									default:					MPRINT(("C - Control\n"));					MPRINT(("Cd - detect the msp34x5g\n"));					MPRINT(("Cr - reset the msp34x5g\n"));					break;				}				break;										// Demodulator			case 'D':				switch(aBuffer[1])				{				// Init				case 'i':					{						MSP34X5G_DIGIO_MODE	iiom= 0xff;						RMuint16 i2smode=0xffff;						MSP34X5G_DETECT_45MHZ	d45=0;						MSP34X5G_DETECT_65MHZ	d65=0;																switch( aBuffer[2] )						{						// digio tristate						case 't':							iiom = msp_digio_tristate;							MPRINT(("digio TRISTATE set\n"));							break;						// digio outputenable						case 'o':							iiom = msp_digio_outputenable;							MPRINT(("digio OUTPUT ENABLE set\n"));							break;						// digio outputenable and interrupt						case 'i':							iiom = msp_digio_out_and_interrupt;							MPRINT(("digio OUTPUT and INTERRUPT set\n"));							break;						default:							MPRINT(("Set DIGIO configuration\n"));							MPRINT(("Dit - digio tristate\n"));							MPRINT(("Dio - digio outputenable\n"));							MPRINT(("Dii - digio outputenable and interrupt\n"));							break;						}						if ( iiom == 0xff )							break;																		switch( aBuffer[3] )						{												// i2s tristate						case 't':							i2smode = MSP34X5G_I2SOUT_PIN_TRISTATE;							MPRINT(("i2s mode TRISTATE set\n"));							break;						// i2s active master 16						case '1':							i2smode = MSP34X5G_I2SOUT_PIN_ACTIVE | MSP34X5G_I2SOUT_MODE_MASTER | MSP34X5G_I2SOUT_BIT_16;							MPRINT(("i2s mode set\n"));							break;						// i2s active slave 16						case '6':							i2smode = MSP34X5G_I2SOUT_PIN_ACTIVE | MSP34X5G_I2SOUT_MODE_SLAVE | MSP34X5G_I2SOUT_BIT_16;							MPRINT(("i2s mode set\n"));							break;						// i2s active master 32						case '3':							i2smode = MSP34X5G_I2SOUT_PIN_ACTIVE | MSP34X5G_I2SOUT_MODE_MASTER | MSP34X5G_I2SOUT_BIT_32;							MPRINT(("i2s mode set\n"));							break;						// i2s active slave 32						case '2':							i2smode = MSP34X5G_I2SOUT_PIN_ACTIVE | MSP34X5G_I2SOUT_MODE_SLAVE | MSP34X5G_I2SOUT_BIT_32;							MPRINT(("i2s mode set\n"));							break;						default:							MPRINT(("Set I2s Configuration\n"));							MPRINT(("Di?t - i2s tristate\n"));							MPRINT(("Di?1 - i2s master 16 bit\n"));							MPRINT(("Di?6 - i2s slave 16 bit\n"));							MPRINT(("Di?3 - i2s master 32 bit\n"));							MPRINT(("Di?2 - i2s slave 32 bit\n"));							break;						}						if( i2smode == 0xffff )							break;						switch( aBuffer[4] )						{						case 'k':							d45 = msp_45mhz_MKorea;							MPRINT(("4.5mhz carrier detected as M Korea\n"));							break;						case 'b':							d45 = msp_45mhz_MBtsc;							MPRINT(("4.5mhz carrier detected as M Btsc\n"));							break;						case 'j':							d45 = msp_45mhz_MJapan;							MPRINT(("4.5mhz carrier detected as M Japan\n"));							break;						case 'c':							d45 = msp_45mhz_ChromaCarrier;							MPRINT(("4.5mhz carrier detected as Chroma Carrier\n"));							break;													default:							MPRINT(("Set 4.5 Mhz Carrier detect\n"));							MPRINT(("Di??k = M Korea\n"));							MPRINT(("Di??b = M Btsc\n"));							MPRINT(("Di??j = M Japam\n"));							MPRINT(("Di??c = Chroma Carrier\n"));						}						if( d45 == 0 )							break;												switch( aBuffer[5] )						{						case 's':							d65 = msp_65mhz_LSecam;							MPRINT(("6.5 mhz carrier detected as L/Secam\n"));							break;													case 'd':							d65 = msp_65mhz_DK123Nicam;							MPRINT(("6.5 mhz carrier detected as DK123/Nicam\n"));							break;												default:							MPRINT(("Set 6.5 Mhz carrier detect\n"));							MPRINT(("Di??s = L/(s)ecam\n"));							MPRINT(("Di??d = (d)/K 1 2 3 or Nicam\n"));							break;						}						if( d65 == 0 )							break;																		s = msp34x5g_demod_init(&mspConfig, d45, d65, iiom, i2smode); // FM prescale set						MPRINT(("msp34x5g_demod_init(btsc, %d, %d) RM_OK:%c\n", iiom, i2smode, (s == RM_OK)?'y':'n'));											}					break;								case 't':					s = msp34x5g_demod_getStatus(&mspConfig, &Data16);					MPRINT(("msp34x5g_getStatus() Status = 0x%x  RM_OK:%c\n", Data16, (s== RM_OK)?'y':'n'));					MPRINT(("--------------------------------\n"));					MPRINT(("Primary Carrier = %c\n", MSP_IS_PRIMARY_CARRIER(Data16)?'y':'n'));					MPRINT(("Secondary Carrier = %c\n", MSP_IS_SECOND_CARRIER(Data16)?'y':'n'));					MPRINT(("STEREO or MONO = %c\n", MSP_STEREO_OR_MONO(Data16)?'s':'m'));					MPRINT(("NICAM MONO = %c\n", MSP_NICAM_MONO(Data16)?'y':'n'));					MPRINT(("SAP = %c\n", MSP_SAP_AVAILABLE(Data16)?'y':'n'));					MPRINT(("Analog Sound = %c\n", MSP_ANALOG_SOUND(Data16)?'y':'n'));					MPRINT(("NICAM Sound = %c\n", MSP_NICAM_SOUND(Data16)?'y':'n'));					MPRINT(("NICAM Bad = %c\n", MSP_NICAM_BAD(Data16)?'y':'n'));					MPRINT(("DIGIO 0 = %d\n", MSP_DIGIO_0(Data16) ));					MPRINT(("DIGIO 1 = %d\n", MSP_DIGIO_1(Data16) ));					break;								case 's':					switch(aBuffer[2])					{					case 'a':						s = msp34x5g_demod_selectStandard(&mspConfig, msp_standard_autodetect);						MPRINT(("msp34x5g_selectStandard(autodetect) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;					case 's':						s = msp34x5g_demod_selectStandard(&mspConfig, msp_standard_btscstereo);						MPRINT(("msp34x5g_selectStandard(btscstereo) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;					case 'm':						s = msp34x5g_demod_selectStandard(&mspConfig, msp_standard_btscmonosap);						MPRINT(("msp34x5g_selectStandard(btscmonosap) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;										// TODO: add NICAM and DK modes here										case 'g':						s = msp34x5g_demod_getDetectedStandard(&mspConfig, &Data16);						MPRINT(("msp34x5g_getDetectedStandard() = 0x%x  RM_OK:%c\n", Data16, (s== RM_OK)?'y':'n'));						break;					default:						MPRINT(("Dsa - autodetect standard   Dss - stereo   Dsm - monoSAP\n"));						MPRINT(("Dsg - get detected standard\n"));						break;					}					break;								case 'p':					{						MSP34X5G_FMamPRESCALE fmamp = 0;											switch(aBuffer[2])						{						case '1':							fmamp = msp_fm28khz;							MPRINT(("FMam Demod Pre-scale deviation set at 28kHz\n"));							break;						case '2':							fmamp = msp_fm50khz;							MPRINT(("FMam Demod Pre-scale deviation set at 50kHz\n"));							break;						case '3':							fmamp = msp_fm75khz;							MPRINT(("FMam Demod Pre-scale deviation set at 75kHz\n"));							break;						case '4':							fmamp = msp_fm100khz;							MPRINT(("FMam Demod Pre-scale deviation set at 100kHz\n"));							break;						case '5':							fmamp = msp_fm150khz;							MPRINT(("FMam Demod Pre-scale deviation set at 150kHz\n"));							break;						case '6':							fmamp = msp_fm180khz;							MPRINT(("FMam Demod Pre-scale deviation set at 180kHz\n"));							break;						case '7':							fmamp = msp_fm_hdev2_150khz;							MPRINT(("FMam Demod Pre-scale deviation set at High deviation 150kHz\n"));							break;						case '8':							fmamp = msp_fm_hdev2_360khz;							MPRINT(("FMam Demod Pre-scale deviation set at high deviation 360kHz\n"));							break;						case '9':							fmamp = msp_fm_hdev3_450khz;							MPRINT(("FMam Demod Pre-scale deviation set at very high deviation 450kHz\n"));							break;						case 'a':							fmamp = msp_fm_hdev3_540khz;							MPRINT(("FMam Demod Pre-scale deviation set at very high deviation 540kHz\n"));							break;												case 'b':							fmamp = msp_fm_satellite;							MPRINT(("FMam Demod Pre-scale deviation set to satellite\n"));							break;						case 'c':							fmamp = msp_am;							MPRINT(("FMam Demod Pre-scale deviation set at am\n"));							break;							 						default:							MPRINT(("Dp? - fm/am demod prescale deviation\n"));							MPRINT(("Dp1 - 28kHz\n"));							MPRINT(("Dp2 - 50kHz\n"));							MPRINT(("Dp3 - 75kHz\n"));							MPRINT(("Dp4 - 100kHz\n"));							MPRINT(("Dp5 - 150kHz\n"));							MPRINT(("Dp6 - 180kHz\n"));							MPRINT(("Dp7 - high deviation 150kHz\n"));							MPRINT(("Dp8 - high deviation 360kHz\n"));							MPRINT(("Dp9 - very high deviation 450kHz\n"));							MPRINT(("Dpa - very high deviation 540kHz\n"));							MPRINT(("Dpb - fm satellite\n"));							MPRINT(("Dpc - am\n"));							break;						}						if( fmamp == 0 )							break;												s = msp34x5g_demod_InputFMamPrescale(&mspConfig, fmamp);						MPRINT(("msp34x5g_demod_InputFMamPrescale() = 0x%x  RM_OK:%c\n", Data16, (s== RM_OK)?'y':'n'));					}					break;														default:					MPRINT(("D - Demodulator\n"));

⌨️ 快捷键说明

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