Changeset 6000 for lm-sensors/trunk/prog/pwm
- Timestamp:
- 12/04/11 17:53:10 (6 months ago)
- Files:
-
- 1 modified
-
lm-sensors/trunk/prog/pwm/fancontrol (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/prog/pwm/fancontrol
r5770 r6000 237 237 while (( $fcvcount < ${#AFCFAN[@]} )) # go through all fan inputs 238 238 do 239 fan=${AFCFAN[$fcvcount]} 240 if [ ! -r $fan ] 241 then 242 echo "Error: file $fan doesn't exist" 243 outdated=1 244 fi 239 # A given PWM output can control several fans 240 for fan in $(echo ${AFCFAN[$fcvcount]} | sed -e 's/+/ /') 241 do 242 if [ ! -r $fan ] 243 then 244 echo "Error: file $fan doesn't exist" 245 outdated=1 246 fi 247 done 245 248 let fcvcount=$fcvcount+1 246 249 done … … 406 409 if [[ -n ${fan} ]] 407 410 then 408 read fanval < ${fan} 409 if [ $? -ne 0 ] 410 then 411 echo "Error reading Fan value from $DIR/$fan" 412 restorefans 1 413 fi 411 min_fanval=100000 412 fanval= 413 # A given PWM output can control several fans 414 for one_fan in $(echo $fan | sed -e 's/+/ /') 415 do 416 read one_fanval < ${one_fan} 417 if [ $? -ne 0 ] 418 then 419 echo "Error reading Fan value from $DIR/$one_fan" 420 restorefans 1 421 fi 422 423 # Remember the minimum, it only matters if it is 0 424 if [ $one_fanval -lt $min_fanval ] 425 then 426 min_fanval=$one_fanval 427 fi 428 429 if [ -z "$fanval" ] 430 then 431 fanval=$one_fanval 432 else 433 fanval="$fanval/$one_fanval" 434 fi 435 done 414 436 else 415 437 fanval=1 # set it to a non zero value, so the rest of the script still works … … 431 453 echo "pwmpval=$pwmpval" 432 454 echo "fanval=$fanval" 455 echo "min_fanval=$min_fanval" 433 456 fi 434 457 … … 440 463 # calculate the new value from temperature and settings 441 464 pwmval="(${tval}-${mint})*(${maxpwm}-${minso})/(${maxt}-${mint})+${minso}" 442 if [ $pwmpval -eq 0 -o $ fanval -eq 0 ]465 if [ $pwmpval -eq 0 -o $min_fanval -eq 0 ] 443 466 then # if fan was stopped start it using a safe value 444 467 echo $minsa > $pwmo
