mirror of
				https://github.com/f4exb/sdrangel.git
				synced 2025-10-31 13:00:26 -04:00 
			
		
		
		
	
		
			
	
	
		
			362 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			362 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /*
 | ||
|  |  * fcdproconst.h | ||
|  |  * | ||
|  |  *  Created on: Sep 7, 2015 | ||
|  |  *      Author: f4exb | ||
|  |  */ | ||
|  | 
 | ||
|  | #ifndef FCDLIB_FCDPROCONST_H_
 | ||
|  | #define FCDLIB_FCDPROCONST_H_
 | ||
|  | 
 | ||
|  | #include <string>
 | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TLG_N5_0DB=0, | ||
|  | 	FCDPRO_TLG_N2_5DB=1, | ||
|  | 	FCDPRO_TLG_P0_0DB=4, | ||
|  | 	FCDPRO_TLG_P2_5DB=5, | ||
|  | 	FCDPRO_TLG_P5_0DB=6, | ||
|  | 	FCDPRO_TLG_P7_5DB=7, | ||
|  | 	FCDPRO_TLG_P10_0DB=8, | ||
|  | 	FCDPRO_TLG_P12_5DB=9, | ||
|  | 	FCDPRO_TLG_P15_0DB=10, | ||
|  | 	FCDPRO_TLG_P17_5DB=11, | ||
|  | 	FCDPRO_TLG_P20_0DB=12, | ||
|  | 	FCDPRO_TLG_P25_0DB=13, | ||
|  | 	FCDPRO_TLG_P30_0DB=14 | ||
|  | } fcdpro_lna_gain_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_lna_gain_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_lna_gain; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TLE_OFF=0, | ||
|  | 	FCDPRO_TLE_0=1, | ||
|  | 	FCDPRO_TLE_1=3, | ||
|  | 	FCDPRO_TLE_2=5, | ||
|  | 	FCDPRO_TLE_3=7 | ||
|  | } fcdpro_lna_enhance_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_lna_enhance_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_lna_enhance; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TB_VHF2, | ||
|  | 	FCDPRO_TB_VHF3, | ||
|  | 	FCDPRO_TB_UHF, | ||
|  | 	FCDPRO_TB_LBAND | ||
|  | } fcdpro_band_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_band_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_band; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	// Band 0, VHF II
 | ||
|  | 	FCDPRO_TRF_LPF268MHZ=0, | ||
|  | 	FCDPRO_TRF_LPF299MHZ=8, | ||
|  | 	// Band 1, VHF III
 | ||
|  | 	FCDPRO_TRF_LPF509MHZ=0, | ||
|  | 	FCDPRO_TRF_LPF656MHZ=8, | ||
|  | 	// Band 2, UHF
 | ||
|  | 	FCDPRO_TRF_BPF360MHZ=0, | ||
|  | 	FCDPRO_TRF_BPF380MHZ=1, | ||
|  | 	FCDPRO_TRF_BPF405MHZ=2, | ||
|  | 	FCDPRO_TRF_BPF425MHZ=3, | ||
|  | 	FCDPRO_TRF_BPF450MHZ=4, | ||
|  | 	FCDPRO_TRF_BPF475MHZ=5, | ||
|  | 	FCDPRO_TRF_BPF505MHZ=6, | ||
|  | 	FCDPRO_TRF_BPF540MHZ=7, | ||
|  | 	FCDPRO_TRF_BPF575MHZ=8, | ||
|  | 	FCDPRO_TRF_BPF615MHZ=9, | ||
|  | 	FCDPRO_TRF_BPF670MHZ=10, | ||
|  | 	FCDPRO_TRF_BPF720MHZ=11, | ||
|  | 	FCDPRO_TRF_BPF760MHZ=12, | ||
|  | 	FCDPRO_TRF_BPF840MHZ=13, | ||
|  | 	FCDPRO_TRF_BPF890MHZ=14, | ||
|  | 	FCDPRO_TRF_BPF970MHZ=15, | ||
|  | 	// Band 2, L band
 | ||
|  | 	FCDPRO_TRF_BPF1300MHZ=0, | ||
|  | 	FCDPRO_TRF_BPF1320MHZ=1, | ||
|  | 	FCDPRO_TRF_BPF1360MHZ=2, | ||
|  | 	FCDPRO_TRF_BPF1410MHZ=3, | ||
|  | 	FCDPRO_TRF_BPF1445MHZ=4, | ||
|  | 	FCDPRO_TRF_BPF1460MHZ=5, | ||
|  | 	FCDPRO_TRF_BPF1490MHZ=6, | ||
|  | 	FCDPRO_TRF_BPF1530MHZ=7, | ||
|  | 	FCDPRO_TRF_BPF1560MHZ=8, | ||
|  | 	FCDPRO_TRF_BPF1590MHZ=9, | ||
|  | 	FCDPRO_TRF_BPF1640MHZ=10, | ||
|  | 	FCDPRO_TRF_BPF1660MHZ=11, | ||
|  | 	FCDPRO_TRF_BPF1680MHZ=12, | ||
|  | 	FCDPRO_TRF_BPF1700MHZ=13, | ||
|  | 	FCDPRO_TRF_BPF1720MHZ=14, | ||
|  | 	FCDPRO_TRF_BPF1750MHZ=15 | ||
|  | } fcdpro_rf_filter_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_rf_filter_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_rf_filter; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TMG_P4_0DB=0, | ||
|  | 	FCDPRO_TMG_P12_0DB=1 | ||
|  | } fcdpro_mixer_gain_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_mixer_gain_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_mixer_gain; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TBC_LBAND=0, | ||
|  | 	FCDPRO_TBC_1=1, | ||
|  | 	FCDPRO_TBC_2=2, | ||
|  | 	FCDPRO_TBC_VUBAND=3 | ||
|  | } fcdpro_bias_current_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_bias_current_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_bias_current; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TMF_27_0MHZ=0, | ||
|  | 	FCDPRO_TMF_4_6MHZ=8, | ||
|  | 	FCDPRO_TMF_4_2MHZ=9, | ||
|  | 	FCDPRO_TMF_3_8MHZ=10, | ||
|  | 	FCDPRO_TMF_3_4MHZ=11, | ||
|  | 	FCDPRO_TMF_3_0MHZ=12, | ||
|  | 	FCDPRO_TMF_2_7MHZ=13, | ||
|  | 	FCDPRO_TMF_2_3MHZ=14, | ||
|  | 	FCDPRO_TMF_1_9MHZ=15 | ||
|  | } fcdpro_mixer_filter_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_mixer_filter_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_mixer_filter; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIG1_N3_0DB=0, | ||
|  | 	FCDPRO_TIG1_P6_0DB=1 | ||
|  | } fcdpro_if_gain1_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_gain1_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_gain1; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIGM_LINEARITY=0, | ||
|  | 	FCDPRO_TIGM_SENSITIVITY=1 | ||
|  | } fcdpro_if_gain_mode_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_gain_mode_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_gain_mode; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIRF_21_4MHZ=0, | ||
|  | 	FCDPRO_TIRF_21_0MHZ=1, | ||
|  | 	FCDPRO_TIRF_17_6MHZ=2, | ||
|  | 	FCDPRO_TIRF_14_7MHZ=3, | ||
|  | 	FCDPRO_TIRF_12_4MHZ=4, | ||
|  | 	FCDPRO_TIRF_10_6MHZ=5, | ||
|  | 	FCDPRO_TIRF_9_0MHZ=6, | ||
|  | 	FCDPRO_TIRF_7_7MHZ=7, | ||
|  | 	FCDPRO_TIRF_6_4MHZ=8, | ||
|  | 	FCDPRO_TIRF_5_3MHZ=9, | ||
|  | 	FCDPRO_TIRF_4_4MHZ=10, | ||
|  | 	FCDPRO_TIRF_3_4MHZ=11, | ||
|  | 	FCDPRO_TIRF_2_6MHZ=12, | ||
|  | 	FCDPRO_TIRF_1_8MHZ=13, | ||
|  | 	FCDPRO_TIRF_1_2MHZ=14, | ||
|  | 	FCDPRO_TIRF_1_0MHZ=15 | ||
|  | } fcdpro_if_rc_filter_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_rc_filter_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_rc_filter; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIG2_P0_0DB=0, | ||
|  | 	FCDPRO_TIG2_P3_0DB=1, | ||
|  | 	FCDPRO_TIG2_P6_0DB=2, | ||
|  | 	FCDPRO_TIG2_P9_0DB=3 | ||
|  | } fcdpro_if_gain2_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_gain2_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_gain2; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIG3_P0_0DB=0, | ||
|  | 	FCDPRO_TIG3_P3_0DB=1, | ||
|  | 	FCDPRO_TIG3_P6_0DB=2, | ||
|  | 	FCDPRO_TIG3_P9_0DB=3 | ||
|  | } fcdpro_if_gain3_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_gain3_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_gain3; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIG4_P0_0DB=0, | ||
|  | 	FCDPRO_TIG4_P1_0DB=1, | ||
|  | 	FCDPRO_TIG4_P2_0DB=2 | ||
|  | } fcdpro_if_gain4_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_gain4_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_gain4; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIF_5_50MHZ=0, | ||
|  | 	FCDPRO_TIF_5_30MHZ=1, | ||
|  | 	FCDPRO_TIF_5_00MHZ=2, | ||
|  | 	FCDPRO_TIF_4_80MHZ=3, | ||
|  | 	FCDPRO_TIF_4_60MHZ=4, | ||
|  | 	FCDPRO_TIF_4_40MHZ=5, | ||
|  | 	FCDPRO_TIF_4_30MHZ=6, | ||
|  | 	FCDPRO_TIF_4_10MHZ=7, | ||
|  | 	FCDPRO_TIF_3_90MHZ=8, | ||
|  | 	FCDPRO_TIF_3_80MHZ=9, | ||
|  | 	FCDPRO_TIF_3_70MHZ=10, | ||
|  | 	FCDPRO_TIF_3_60MHZ=11, | ||
|  | 	FCDPRO_TIF_3_40MHZ=12, | ||
|  | 	FCDPRO_TIF_3_30MHZ=13, | ||
|  | 	FCDPRO_TIF_3_20MHZ=14, | ||
|  | 	FCDPRO_TIF_3_10MHZ=15, | ||
|  | 	FCDPRO_TIF_3_00MHZ=16, | ||
|  | 	FCDPRO_TIF_2_95MHZ=17, | ||
|  | 	FCDPRO_TIF_2_90MHZ=18, | ||
|  | 	FCDPRO_TIF_2_80MHZ=19, | ||
|  | 	FCDPRO_TIF_2_75MHZ=20, | ||
|  | 	FCDPRO_TIF_2_70MHZ=21, | ||
|  | 	FCDPRO_TIF_2_60MHZ=22, | ||
|  | 	FCDPRO_TIF_2_55MHZ=23, | ||
|  | 	FCDPRO_TIF_2_50MHZ=24, | ||
|  | 	FCDPRO_TIF_2_45MHZ=25, | ||
|  | 	FCDPRO_TIF_2_40MHZ=26, | ||
|  | 	FCDPRO_TIF_2_30MHZ=27, | ||
|  | 	FCDPRO_TIF_2_28MHZ=28, | ||
|  | 	FCDPRO_TIF_2_24MHZ=29, | ||
|  | 	FCDPRO_TIF_2_20MHZ=30, | ||
|  | 	FCDPRO_TIF_2_15MHZ=31 | ||
|  | } fcdpro_if_filter_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_filter_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_filter; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIG5_P3_0DB=0, | ||
|  | 	FCDPRO_TIG5_P6_0DB=1, | ||
|  | 	FCDPRO_TIG5_P9_0DB=2, | ||
|  | 	FCDPRO_TIG5_P12_0DB=3, | ||
|  | 	FCDPRO_TIG5_P15_0DB=4 | ||
|  | } fcdpro_if_gain5_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_gain5_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_gain5; | ||
|  | 
 | ||
|  | typedef enum | ||
|  | { | ||
|  | 	FCDPRO_TIG6_P3_0DB=0, | ||
|  | 	FCDPRO_TIG6_P6_0DB=1, | ||
|  | 	FCDPRO_TIG6_P9_0DB=2, | ||
|  | 	FCDPRO_TIG6_P12_0DB=3, | ||
|  | 	FCDPRO_TIG6_P15_0DB=4 | ||
|  | } fcdpro_if_gain6_value; | ||
|  | 
 | ||
|  | typedef struct | ||
|  | { | ||
|  | 	fcdpro_if_gain6_value value; | ||
|  | 	std::string label; | ||
|  | } fcdpro_if_gain6; | ||
|  | 
 | ||
|  | class FCDProConstants | ||
|  | { | ||
|  | public: | ||
|  | 	static const fcdpro_lna_gain lna_gains[]; | ||
|  | 	static const fcdpro_lna_enhance lna_enhances[]; | ||
|  | 	static const fcdpro_band bands[]; | ||
|  | 	static const fcdpro_rf_filter rf_filters[]; | ||
|  | 	static const fcdpro_mixer_gain mixer_gains[]; | ||
|  | 	static const fcdpro_bias_current bias_currents[]; | ||
|  | 	static const fcdpro_mixer_filter mixer_filters[]; | ||
|  | 	static const fcdpro_if_gain_mode if_gain_modes[]; | ||
|  | 	static const fcdpro_if_rc_filter if_rc_filters[]; | ||
|  | 	static const fcdpro_if_filter if_filters[]; | ||
|  | 	static const fcdpro_if_gain1 if_gains1[]; | ||
|  | 	static const fcdpro_if_gain2 if_gains2[]; | ||
|  | 	static const fcdpro_if_gain3 if_gains3[]; | ||
|  | 	static const fcdpro_if_gain4 if_gains4[]; | ||
|  | 	static const fcdpro_if_gain5 if_gains5[]; | ||
|  | 	static const fcdpro_if_gain6 if_gains6[]; | ||
|  | 
 | ||
|  | 	static int fcdpro_lna_gain_nb_values(); | ||
|  | 	static int fcdpro_lna_enhance_nb_values(); | ||
|  | 	static int fcdpro_band_nb_values(); | ||
|  | 	static int fcdpro_rf_filter_nb_values(); | ||
|  | 	static int fcdpro_mixer_gain_nb_values(); | ||
|  | 	static int fcdpro_bias_current_nb_values(); | ||
|  | 	static int fcdpro_mixer_filter_nb_values(); | ||
|  | 	static int fcdpro_if_gain_mode_nb_values(); | ||
|  | 	static int fcdpro_if_rc_filter_nb_values(); | ||
|  | 	static int fcdpro_if_filter_nb_values(); | ||
|  | 	static int fcdpro_if_gain1_nb_values(); | ||
|  | 	static int fcdpro_if_gain2_nb_values(); | ||
|  | 	static int fcdpro_if_gain3_nb_values(); | ||
|  | 	static int fcdpro_if_gain4_nb_values(); | ||
|  | 	static int fcdpro_if_gain5_nb_values(); | ||
|  | 	static int fcdpro_if_gain6_nb_values(); | ||
|  | }; | ||
|  | 
 | ||
|  | #endif /* FCDLIB_FCDPROCONST_H_ */
 |