mirror of
				https://github.com/rtlsdrblog/rtl-sdr-blog.git
				synced 2025-10-31 00:48:08 +01:00 
			
		
		
		
	uhf appears to work better for ads-b
Signed-off-by: Steve Markgraf <steve@steve-m.de>
This commit is contained in:
		
				
					committed by
					
						 Steve Markgraf
						Steve Markgraf
					
				
			
			
				
	
			
			
			
						parent
						
							259e61fb17
						
					
				
				
					commit
					b6652f33df
				
			| @@ -167,20 +167,29 @@ static int closest_arr_idx(const uint32_t *arr, unsigned int arr_size, uint32_t | ||||
| } | ||||
|  | ||||
| /* return 4-bit index as to which RF filter to select */ | ||||
| static int choose_rf_filter(uint32_t freq) | ||||
| static int choose_rf_filter(enum e4k_band band, uint32_t freq) | ||||
| { | ||||
| 	int rc; | ||||
|  | ||||
| 	if (freq < MHZ(350)) | ||||
| 		rc = 0; | ||||
| 	else if (freq < MHZ(1000)) | ||||
| 		rc = closest_arr_idx(rf_filt_center_uhf, | ||||
| 				     ARRAY_SIZE(rf_filt_center_uhf), | ||||
| 				     freq); | ||||
| 	else | ||||
| 		rc = closest_arr_idx(rf_filt_center_l, | ||||
| 				     ARRAY_SIZE(rf_filt_center_l), | ||||
| 				     freq); | ||||
| 	switch (band) { | ||||
| 		case E4K_BAND_VHF2: | ||||
| 		case E4K_BAND_VHF3: | ||||
| 			rc = 0; | ||||
| 			break; | ||||
| 		case E4K_BAND_UHF: | ||||
| 			rc = closest_arr_idx(rf_filt_center_uhf, | ||||
| 						 ARRAY_SIZE(rf_filt_center_uhf), | ||||
| 						 freq); | ||||
| 			break; | ||||
| 		case E4K_BAND_L: | ||||
| 			rc = closest_arr_idx(rf_filt_center_l, | ||||
| 						 ARRAY_SIZE(rf_filt_center_l), | ||||
| 						 freq); | ||||
| 			break; | ||||
| 		default: | ||||
| 			rc -EINVAL; | ||||
| 			break; | ||||
| 	} | ||||
|  | ||||
| 	return rc; | ||||
| } | ||||
| @@ -190,7 +199,7 @@ int e4k_rf_filter_set(struct e4k_state *e4k) | ||||
| { | ||||
| 	int rc; | ||||
|  | ||||
| 	rc = choose_rf_filter(e4k->vco.flo); | ||||
| 	rc = choose_rf_filter(e4k->band, e4k->vco.flo); | ||||
| 	if (rc < 0) | ||||
| 		return rc; | ||||
|  | ||||
| @@ -525,7 +534,7 @@ int e4k_tune_params(struct e4k_state *e4k, struct e4k_pll_params *p) | ||||
| 		e4k_band_set(e4k, E4K_BAND_VHF2); | ||||
| 	else if (e4k->vco.flo < MHZ(350)) | ||||
| 		e4k_band_set(e4k, E4K_BAND_VHF3); | ||||
| 	else if (e4k->vco.flo < MHZ(1000)) | ||||
| 	else if (e4k->vco.flo < MHZ(1135)) | ||||
| 		e4k_band_set(e4k, E4K_BAND_UHF); | ||||
| 	else | ||||
| 		e4k_band_set(e4k, E4K_BAND_L); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user