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

📄 msp34x5g_test.c

📁 sigma_designs的tuner驱动
💻 C
📖 第 1 页 / 共 3 页
字号:
					MPRINT(("Di - General Initialization, IMPORTANT\n"));					MPRINT(("Dp - prescale, IMPORTANT, default off\n"));					MPRINT(("Ds - Select Standard\n"));					MPRINT(("Dt - sTatus\n"));					break;				}				break;											// SCART1 OUT			case 'K':				switch( aBuffer[1])				{				case 'v':					if( (sscanf(aBuffer+2, "%ld", &uBuffer1) != 1) ||					(uBuffer1 > MSPVOL_MAX) )					{						MPRINT(("Kv [volume %d to %d] default = %d\n", MSPVOL_MUTE, MSPVOL_MAX, MSPVOL_0DB));						break;					}					s = msp34x5g_scart1out_SetVolume(&mspConfig, uBuffer1 & 0xFF);					MPRINT(("msp34x5g_scart1SetVolume(0x%lx) RM_OK:%c\n", uBuffer1 & 0xFF, (s == RM_OK)?'y':'n'));					break;									case 's':					switch( aBuffer[2] )					{					case '2':						s = msp34x5g_scart1out_SelectSource(&mspConfig, sc1out_src_sc2in);						MPRINT(("msp34x5g_scart1out_SelectSource(sc1out_src_sc2in) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;											case 'm':						s = msp34x5g_scart1out_SelectSource(&mspConfig, sc1out_src_monoin);						MPRINT(("msp34x5g_scart1out_SelectSource(sc1out_src_monoin) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;											case 'd':						s = msp34x5g_scart1out_SelectSource(&mspConfig, sc1out_src_sc1DA);						MPRINT(("msp34x5g_scart1out_SelectSource(sc1out_src_sc1DA) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;											case '1':						s = msp34x5g_scart1out_SelectSource(&mspConfig, sc1out_src_sc1in);						MPRINT(("msp34x5g_scart1out_SelectSource(sc1out_src_sc1in) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;											case 'u':						s = msp34x5g_scart1out_SelectSource(&mspConfig, sc1out_mute);						MPRINT(("msp34x5g_scart1out_SelectSource(sc1out_mute) RM_OK:%c\n", (s == RM_OK)?'y':'n'));						break;											default:						MPRINT(("Ks2 = sc2 in     Ksm = mono in    Ksd = scart1DA matrix\n"));						MPRINT(("Ks1 = sc1 in     Ksu = SCART1 OUT MUTE\n"));						break;					}					break;								default:					MPRINT(("K - SCART1 out\n"));					MPRINT(("Kv - Scart1out Volume\n"));					MPRINT(("Ks - SCART1out Select Source\n"));					break;				}				break;						// SCARTDSP			case 'X':				{					switch( aBuffer[1] )					{					case '1':						s = msp34x5g_scartdsp_SelectSource(&mspConfig, sc_dsp_src_sc1in);						MPRINT(("msp34x5g_scartdsp_SelectSource(sc_dsp_src_sc1in) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));						break;					case '2':						s = msp34x5g_scartdsp_SelectSource(&mspConfig, sc_dsp_src_sc2in);						MPRINT(("msp34x5g_scartdsp_SelectSource(sc_dsp_src_sc2in) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));						break;					case 'o':						s = msp34x5g_scartdsp_SelectSource(&mspConfig, sc_dsp_src_monoin);						MPRINT(("msp34x5g_scartdsp_SelectSource(sc_dsp_src_monoin) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));						break;					case 'm':						s = msp34x5g_scartdsp_SelectSource(&mspConfig, sc_dsp_mute);						MPRINT(("msp34x5g_scartdsp_SelectSource(sc_dsp_mute) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));						break;					default:						MPRINT(("Select SCART DSP Source\n"));						MPRINT(("X1 - sc1 in,   X2 - sc2 in,   Xo - mono in,   Xm - mute\n"));						break;					}				}				break;							// MATRIX			case 'M':				{					MSP34X5G_MATRIX m = 0;					MSP34X5G_MATRIX_SRC ms = 0xFF;					MSP34X5G_MATRIX_MODE mm = 0xFF;										switch( aBuffer[1] )					{					case 'm':						m = matrix_main;						MPRINT(("Main Matrix Selected\n"));						break;					case 's':						m = matrix_sc1DA;						MPRINT(("SCART1 DA Matrix Selected\n"));						break;					case 'i':						m = matrix_i2s;						MPRINT(("I2S Matrix Selected\n"));						break;					case 'q':						m = matrix_qpeak;						MPRINT(("Quasi Peak Detector Matrix Selected\n"));						break;					default:						MPRINT(("Select Matrix\n"));						MPRINT(("Mm - main,   Ms - scart1,   Mi - i2s,  Mq - quasi-peak detector\n"));						break;					}					if( m == 0 )						break;										switch( aBuffer[2] )					{					case 'd':						ms = matrix_src_demodFMAM;						MPRINT(("Matrix source demod FMAM selected\n"));						break;					case 'c':						ms = matrix_src_stereoAB;						MPRINT(("Matrix source stereoAB selected\n"));						break;					case 'a':						ms = matrix_src_stereoA;						MPRINT(("Matrix source stereo A selected\n"));						break;					case 'b':						ms = matrix_src_stereoB;						MPRINT(("Matrix source stereo B selected\n"));						break;					case 's':						ms = matrix_src_SCARTin;						MPRINT(("Matrix source SCARTin selected\n"));						break;					case '1':						ms = matrix_src_I2S1;						MPRINT(("Matrix source I2S1\n"));						break;					case '2':						ms = matrix_src_I2S2;						MPRINT(("Matrix source I2S2\n"));						break;					default:						MPRINT(("Matrix Source\n"));						MPRINT(("M?d - demod FMAM,   M?c - stereoAB,   M?a - stereoA,   M?b - stereoB\n"));						MPRINT(("M?s - SCARTin,      M?1 - I2S1,       M?2 - I2S2\n"));						break;					}					if( ms == 0xFF )						break;										switch( aBuffer[3] )					{					case 'a':						mm = matrix_mode_soundAMono;						MPRINT(("Matrix mode sound A Mono\n"));						break;					case 'b':						mm = matrix_mode_soundBMono;						MPRINT(("Matrix mode sound B Mono\n"));						break;					case 's':						mm = matrix_mode_stereo;						MPRINT(("Matrix mode stereo\n"));						break;					case 'm':						mm = matrix_mode_mono;						MPRINT(("Matrix mode mono\n"));						break;					case '+':						mm = matrix_mode_sumDiff;						MPRINT(("Matrix mode sumDiff\n"));						break;					case 'x':						mm = matrix_mode_abXchange;						MPRINT(("Matrix mode abXchange\n"));						break;					case 'B':						mm = matrix_mode_phaseChangeB;						MPRINT(("Matrix mode phase change B\n"));						break;					case 'A':						mm = matrix_mode_phaseChangeA;						MPRINT(("Matrix_mode phase change A\n"));						break;					case '1':						mm = matrix_mode_onlyA;						MPRINT(("Matrix mode only A\n"));						break;					case '2':						mm = matrix_mode_onlyB;						MPRINT(("Matrix mode only B\n"));						break;					default:						MPRINT(("Matrix mode\n"));						MPRINT(("M??a - soundAMono,    M??b - soundBMono,    M??s - stereo,        M??+ - sumDiff\n"));						MPRINT(("M??x - abXchange,     M??B - phasechangeB   M??A - phasechangeA   M??1 - onlyA\n"));						MPRINT(("M??2 - onlyB\n"));						break;					}					if( mm == 0xFF )						break;											s = msp34x5g_matrix_SelectSource(&mspConfig, m, ms);					MPRINT(("msp34x5g_matrix_SelectSource(0x%x, 0x%x) RM_OK %c s = %d\n", m, ms, (s == RM_OK)?'y':'n', s));										s = msp34x5g_matrix_SelectMode(&mspConfig, m, mm);					MPRINT(("msp34x5g_matrix_SelectMode(0x%x, 0x%x) RM_OK %c s = %d\n", m, mm, (s == RM_OK)?'y':'n', s));				}				break;							// SAP detection example			case 'S':				switch( aBuffer[1] )				{				RMuint16 status;								// detect				case 'd':					s = msp34x5g_demod_getStatus(&mspConfig, &status);					MPRINT(("demod_getStatus() RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));					// you must check both bits because SAP is second carrier					MPRINT(("status = 0x%x, SAP present = %c\n", status, ( MSP_IS_SECOND_CARRIER(status) & MSP_SAP_AVAILABLE(status) )?'y':'n'));					break;								// output SAP, refer to spec sheet, page 11, table 2-2, sound modes for demod source channels with auto select				case '2':					MPRINT(("Setting SAP ONLY for output, SCART1 DA matrix\n"));					s = msp34x5g_demod_selectStandard(&mspConfig, msp_standard_btscmonosap);					MPRINT(("msp34x5g_selectStandard(msp_standard_btscmonosap) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));					// normally stereo or A, which will output the mono part of the dual signal, so we have to switch to B					// other modes available, refer to spec					s = msp34x5g_matrix_SelectSource(&mspConfig, matrix_sc1DA, matrix_src_stereoB);					MPRINT(("msp34x5g_matrix_SelectSource(matrix_sc1DA, matrix_src_stereoB) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));					break;								// output back to normal				case 'n':					MPRINT(("Setting SCART1DA matrix back to stereo only\n"));					s = msp34x5g_demod_selectStandard(&mspConfig, msp_standard_btscstereo);					MPRINT(("msp34x5g_selectStandard(msp_standard_btscstereo) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));					s = msp34x5g_matrix_SelectSource(&mspConfig, matrix_sc1DA, matrix_src_stereoA);					MPRINT(("msp34x5g_matrix_SelectSource(matrix_sc1DA, matrix_src_stereoA) RM_OK %c s = %d\n", (s == RM_OK)?'y':'n', s));					break;									default:					MPRINT(("SAP Polling and Configuration\n"));					MPRINT(("d - detect SAP\n2 - set SAP output, SCART1 DA\nn - set normal output, SCART1 DA\n"));					break;				}				break;										//			// Generic Reads and Writes			case 'r':				switch(aBuffer[1])				{				case 'C':					s = msp34x5g_readControl(&mspConfig, &Data16);					MPRINT(("msp34x5g_readControl() RM_OK %c s = %d, Data = 0x%x\n", (s == RM_OK)?'y':'n', s, Data16 ));					break;				case 'P':					if( sscanf(aBuffer+3, "%lx", &uBuffer1) != 1)					{						MPRINT(("rP(readDsp) [16/regAddr]\n"));						break;					}									s = msp34x5g_readDsp(&mspConfig, uBuffer1 & 0xFFFF, &Data16);					MPRINT(("msp34x5g_readDsp() RM_OK = %c s = %d, Data = 0x%x\n", (s == RM_OK)?'y':'n', s, Data16 ));					break;									case 'M':					if( sscanf(aBuffer+3, "%lx", &uBuffer1) != 1)					{						MPRINT(("rM(readdeMod) [16/regAddr]\n"));						break;					}									s = msp34x5g_readDemod(&mspConfig, uBuffer1 & 0xFFFF, &Data16);					MPRINT(("msp34x5g_readDemod() RM_OK = %c s = %d, Data = 0x%x\n", (s == RM_OK)?'y':'n', s, Data16 ));					break;								case ' ':					if( sscanf(aBuffer+2, "%lx", &uBuffer1) != 1)					{						MPRINT(("r [8/SubAddress] [16/data]\n"));						break;					}					s = msp34x5g_read(&mspConfig, uBuffer1 & 0xFF, &Data16);					MPRINT(("msp34x5g_read() RM_OK = %c s = %d, Data = 0x%x\n", (s == RM_OK)?'y':'n', s, Data16 ));					break;									case 'R':					if( sscanf(aBuffer+3, "%lx %lx", &uBuffer1, &uBuffer2) != 2)					{						MPRINT(("rR [8/SubAddress] [16/address]\n"));						break;					}									s = msp34x5g_readReg(&mspConfig, uBuffer1 & 0xFF, uBuffer2 & 0xFFFF, &Data16);					MPRINT(("msp34x5g_readReg() RM_OK = %c s = %d, Data = 0x%x\n", (s == RM_OK)?'y':'n', s, Data16 ));					break;									default:					MPRINT(("r (read) or rR (readReg)\n"));					MPRINT(("rC (control)  rP (dsp)   rM (demod)\n"));					break;				}				break;						case 's':				if( sscanf(aBuffer+2, "%lx", &uBuffer1) != 1 )				{					MPRINT(("s [SlaveAddress]\n"));					break;				}								mspConfig.i2cConfig.WrAddr = uBuffer1 & 0xFE;				mspConfig.i2cConfig.RdAddr = uBuffer1 | 0x01;				break;							case 'w':				switch(aBuffer[1])				{				case 'C':					if( sscanf(aBuffer+3, "%lx", &uBuffer1) != 1)					{						MPRINT(("rC(writeControl) [16/data]\n"));						break;					}									s = msp34x5g_writeControl(&mspConfig, uBuffer1 & 0xFFFF);					MPRINT(("msp34x5g_writeControl() RM_OK = %c s = %d\n", (s == RM_OK)?'y':'n', s));					break;									case 'P':					if( sscanf(aBuffer+3, "%lx %lx", &uBuffer1, &uBuffer2) != 2)					{						MPRINT(("wP(writeDsp) [16/regAddr] [16/data]\n"));						break;					}					s = msp34x5g_writeDsp(&mspConfig, uBuffer1 & 0xFFFF, uBuffer2 & 0xFFFF);					MPRINT(("msp34x5g_writeDsp() RM_OK = %c s = %d\n", (s == RM_OK)?'y':'n', s));					break;									case 'M':					if( sscanf(aBuffer+3, "%lx %lx", &uBuffer1, &uBuffer2) != 2)					{						MPRINT(("wM(writedeMod) [16/regAddr] [16/data]\n"));						break;					}					s = msp34x5g_writeDemod(&mspConfig, uBuffer1 & 0xFFFF, uBuffer2 & 0xFFFF);					MPRINT(("msp34x5g_writeDemod() RM_OK = %c s = %d\n", (s == RM_OK)?'y':'n', s));					break;								case ' ':					if( sscanf(aBuffer+2, "%lx %lx", &uBuffer1, &uBuffer2) != 2)					{						MPRINT(("w [8/SubAddress] [16/data]\n"));						break;					}					s = msp34x5g_write(&mspConfig, uBuffer1 & 0xFF, uBuffer2 & 0xFFFF);					MPRINT(("msp34x5g_write() RM_OK = %c s = %d\n", (s == RM_OK)?'y':'n', s));					break;								case 'R':					if( sscanf(aBuffer+3, "%lx %lx %lx", &uBuffer1, &uBuffer2, &uBuffer3) != 3)					{						MPRINT(("wR [8/SubAddress] [16/regAddr] [16/data]\n"));						break;					}					s = msp34x5g_writeReg(&mspConfig, uBuffer1 & 0xFF, uBuffer2 & 0xFFFF, uBuffer3 & 0xFFFF);					MPRINT(("msp34x5g_writeReg() RM_OK = %c s = %d\n", (s == RM_OK)?'y':'n', s));					break;								default:					MPRINT(("w or wR\n"));					break;				}				break;															case 'q':				goto main_exit;				break;							default:				show_commands();				break;			}		}			}	main_exit:	mum_exit(pGBus, pLLAD);	return 0;}

⌨️ 快捷键说明

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