我的粉丝有24个速度步。它认为热关断是105°C。空闲温度约为75°C。温度下限和温度上限并将其除以n个speedsteps是一个好的算法吗?什么是一个好的风扇速度算法?
编辑:ATM我用2个循环和85℃up_threshold不过那是以前,我知道大约24 speedsteps:
error |= ec_read(EC_RTMP, &ec_rtmp);
if ((ec_rtmp < FAN_UPTHRESHOLD_TEMP && sloop < 0) ||
(ec_rtmp < FAN_UPTHRESHOLD_TEMP && sloop == FAN_LOOP) ||
(ec_rtmp < FAN_UPTHRESHOLD_TEMP && speed_switch == 1)
)
{
speed_switch = 1;
sloop = FAN_LOOP; // 20 * 10 sec
printk("Temp %dC: disabling fan\n", ec_rtmp);
set_fan_disabled();
queue_delayed_work(my_workqueue, &work_object, FAN_JIFFIES_MS*HZ);
} else
{
speed_switch = 0;
printk("Temp %dC: enable fan\n", ec_rtmp);
set_fan_enable();
queue_delayed_work(my_workqueue, &work_object, 2*FAN_JIFFIES_MS*HZ);
}
编辑:我已经找到了一个很好的源代码:http://code.google.com/p/eeepc-fancontrol/wiki/Formular
*不听起来像一个编程的问题。* –
我GOOGLE了有2战略。 1是一种基于表格的方法。 – Bytemain
@尼克,我不同意。操作系统也是程序。询问如何更改内核是一个编程问题。 – TMS