Changeset 4588

Show
Ignore:
Timestamp:
07/08/07 12:01:50 (1 year ago)
Author:
khali
Message:

Use linear interpolation instead of quadratic to choose PWM values.
This is simpler and will work better in most cases. For example this
should address at least part of ticket #2224. It seems that quadratic
was used to lower the average noise level, but I don't think this is a
valid reason. The new MINPWM and MAXPWM parameters will also let the
user control the noise level if really needed.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • lm-sensors/trunk/CHANGES

    r4579 r4588  
    3232                      Support optional min and max PWM values 
    3333                      Better integration with init scripts 
     34                      Use linear control instead of quadratic 
    3435  Program pwmconfig: Use smaller steps for low PWM values 
    3536                     Support optional min and max PWM values 
  • lm-sensors/trunk/doc/fancontrol.txt

    r4438 r4588  
    121121kernel driver files and calculates new speeds depending on temperature 
    122122changes, but only if the temp is between MINTEMP and MAXTEMP. After that, the 
    123 new values are written to the pwm outputs.  Currently the speed increases 
    124 quadratically with rising temperature. This way you won't hear your fans most 
    125 of the time at best. 
     123new values are written to the pwm outputs.  The pwm value increases 
     124linearly with rising temperature. 
    126125 
    127126 
     
    130129rc-scripts for some gnu/linux-distributions 
    131130smoother regulation (temp interpolation) 
    132 other curve styles (linear, exponential) 
    133131gui for configuration 
    134132 
  • lm-sensors/trunk/prog/pwm/fancontrol

    r4439 r4588  
    325325                else  
    326326                  # calculate the new value from temperature and settings 
    327                   let pwmval="((${tval}-${mint})**2)*(${maxpwm}-${minso})/((${maxt}-${mint})**2)+${minso}" 
     327                  let pwmval="(${tval}-${mint})*(${maxpwm}-${minso})/(${maxt}-${mint})+${minso}" 
    328328                  if [ $pwmpval -eq 0 -o $fanval -eq 0 ] 
    329329                  then # if fan was stopped start it using a safe value 
  • lm-sensors/trunk/prog/pwm/fancontrol.pl

    r4341 r4588  
    391391       else 
    392392         { 
    393            $pwmval = eval ( ($tval - $mint) / ($maxt - $mint) )**2
     393           $pwmval = eval ( ($tval - $mint) / ($maxt - $mint) )
    394394           $pwmval *= (255 - $minso); 
    395395           $pwmval += $minso;