1.修复adc不刷新问题
This commit is contained in:
		
							parent
							
								
									b26ce942c4
								
							
						
					
					
						commit
						15a9725668
					
				| 
						 | 
				
			
			@ -124,8 +124,12 @@ static UINT32 adc_mid3_first = 0; // mid2 first read ready
 | 
			
		|||
static u32 adc_base = 0;
 | 
			
		||||
static UINT32 adc_trim = 0;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
static UINT32 adc_avg_times = 50;
 | 
			
		||||
static UINT32 filter = 3 ;
 | 
			
		||||
*/
 | 
			
		||||
static UINT32 adc_avg_times = 1; /* nerver avg */
 | 
			
		||||
 | 
			
		||||
static UINT32 avg_sel = 3;
 | 
			
		||||
static UINT32 avg_sel_sts = 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -244,7 +248,8 @@ static void nvt_adc_read_avg(struct work_struct *work) //(struct nvt_adc_state *
 | 
			
		|||
 | 
			
		||||
			}else {
 | 
			
		||||
			
 | 
			
		||||
				if( (temp <= (adc_mid + filter)) && (temp >= (adc_mid - filter) )  ){
 | 
			
		||||
//				if( (temp <= (adc_mid + filter)) && (temp >= (adc_mid - filter) )  ){
 | 
			
		||||
				if(1){
 | 
			
		||||
					t_data[t_data_now] = temp;
 | 
			
		||||
					t_data_now++;
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -305,7 +310,8 @@ static void nvt_adc_read_avg(struct work_struct *work) //(struct nvt_adc_state *
 | 
			
		|||
				avg_sel_sts = 0;
 | 
			
		||||
 | 
			
		||||
			} else {
 | 
			
		||||
				if( (temp <= (adc_mid1 + filter)) && (temp >= (adc_mid1 - filter) )  ){
 | 
			
		||||
//				if( (temp <= (adc_mid1 + filter)) && (temp >= (adc_mid1 - filter) )  ){
 | 
			
		||||
				if(1){
 | 
			
		||||
					t_data1[t_data_now1] = temp;
 | 
			
		||||
					t_data_now1++;
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -366,7 +372,8 @@ static void nvt_adc_read_avg(struct work_struct *work) //(struct nvt_adc_state *
 | 
			
		|||
				avg_sel_sts = 0;
 | 
			
		||||
 | 
			
		||||
			} else {
 | 
			
		||||
				if( (temp <= (adc_mid2 + filter)) && (temp >= (adc_mid2 - filter) )  ){
 | 
			
		||||
//				if( (temp <= (adc_mid2 + filter)) && (temp >= (adc_mid2 - filter) )  ){
 | 
			
		||||
				if(1){
 | 
			
		||||
					t_data2[t_data_now2] = temp;
 | 
			
		||||
					t_data_now2++;
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -427,7 +434,8 @@ static void nvt_adc_read_avg(struct work_struct *work) //(struct nvt_adc_state *
 | 
			
		|||
				avg_sel_sts = 0;
 | 
			
		||||
 | 
			
		||||
			} else {
 | 
			
		||||
				if( (temp <= (adc_mid3 + filter)) && (temp >= (adc_mid3 - filter) )  ){
 | 
			
		||||
//				if( (temp <= (adc_mid3 + filter)) && (temp >= (adc_mid3 - filter) )  ){
 | 
			
		||||
				if(1){
 | 
			
		||||
					t_data3[t_data_now3] = temp;
 | 
			
		||||
					t_data_now3++;
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			@ -611,9 +619,16 @@ static int nvt_adc_read_raw(struct iio_dev *iio,
 | 
			
		|||
	case IIO_CHAN_INFO_AVERAGE_RAW:
 | 
			
		||||
		if ( avg_sel == 0 ){
 | 
			
		||||
			*value = adc_mid_vol;
 | 
			
		||||
		}else{
 | 
			
		||||
		}
 | 
			
		||||
		else if ( avg_sel == 1 ){
 | 
			
		||||
			*value = adc_mid1_vol;
 | 
			
		||||
		}
 | 
			
		||||
		else if( avg_sel == 2 ){
 | 
			
		||||
			*value = adc_mid2_vol;
 | 
			
		||||
		}
 | 
			
		||||
		else if( avg_sel == 3 ){
 | 
			
		||||
			*value = adc_mid3_vol;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		return IIO_VAL_INT;
 | 
			
		||||
		
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,28 +44,28 @@ sleep ${DELAY}
 | 
			
		|||
echo 0x5 > /proc/adc
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
echo 0x3 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
#sleep ${DELAY}
 | 
			
		||||
 | 
			
		||||
echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
echo 0x1 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
#echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
#echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
#sleep ${DELAY}
 | 
			
		||||
#cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
#echo 0x1 > /proc/adc
 | 
			
		||||
#sleep ${DELAY}
 | 
			
		||||
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
echo 0x0 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
#echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
#echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
#sleep ${DELAY}
 | 
			
		||||
#cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
#echo 0x0 > /proc/adc
 | 
			
		||||
#sleep ${DELAY}
 | 
			
		||||
 | 
			
		||||
echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
echo 0x2 > /proc/adc
 | 
			
		||||
sleep ${DELAY}
 | 
			
		||||
cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
#echo 0 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXA}/value
 | 
			
		||||
#echo 1 > /sys/devices/gpiochip0/gpio/gpio${SF_ADC_MUXB}/value
 | 
			
		||||
#sleep ${DELAY}
 | 
			
		||||
#echo 0x2 > /proc/adc
 | 
			
		||||
#sleep ${DELAY}
 | 
			
		||||
#cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user