ThinkPad Fan Control 使用与安装教程

ThinkPad Fan Control 使用与安装教程

ThinkPad-Fan-ControlApp for managing fan speeds on ThinkPad laptops on Linux项目地址:https://gitcode.com/gh_mirrors/th/ThinkPad-Fan-Control

1. 项目目录结构及介绍

由于提供的引用内容不涉及特定于 https://github.com/Stanko/ThinkPad-Fan-Control.git 的详细目录结构,而是关于 Shuzhengz/TPFanCtrl2,我们将基于一般开源项目结构来构建一个假设的框架,并以这个框架为例进行说明。请注意,实际结构可能有所不同。

├── README.md         # 项目简介、快速开始指南和重要信息。
├── LICENSE           # 许可证文件,说明软件使用的版权条款。
├── src               # 源代码目录,存放C++或C等编程语言编写的项目主逻辑。
│   ├── main.cpp      # 启动文件,程序执行入口点。
│   └── ...           # 其他源文件。
├── include           # 头文件目录,存储类定义和函数声明。
│   └── tpfancontrol.h # 假设的核心接口文件。
├── config            # 配置文件目录,存放用户或系统级别的配置选项。
│   └── fanconfig.ini # 示例配置文件,用于自定义风扇控制参数。
├── doc               # 文档目录,可能包括API文档、用户手册等。
│   └── user_guide.md # 用户指南。
├── assets            # 资源文件夹,比如图标、帮助文档的图片等。
└── scripts           # 批处理脚本或shell脚本,辅助工具或自动化脚本。
    └── install.bat   # 安装脚本示例。

2. 项目的启动文件介绍

启动文件通常位于 src/main.cpp 或类似位置,是程序执行流程的起点。在这个假想的项目中,main.cpp 包含了应用程序初始化代码,例如设置日志记录器、读取配置、初始化硬件交互层(如与ThinkPad风扇控制相关的EC通信),并启动主要的应用逻辑循环。在实际项目中,它将调用不同的功能模块,启动服务,监听事件,或者启动用户界面等。

3. 项目的配置文件介绍

配置文件,例如 config/fanconfig.ini,是用户可以编辑以调整应用行为的文件。它可能包含了以下部分:

  • 智能模式配置:定义温度阈值,自动调整风扇速度的规则。
  • 手动模式设置:允许用户固定风扇的速度级别。
  • 高级设置:可能包括二进制转换(如将百分比转化为十六进制值)以适应底层硬件控制需求。
  • 启动模式:指定程序启动时默认采用的操作模式(智能模式或手动模式)。

示例配置文件内容可能如下所示:

[SMART_MODE]
temperature_threshold_exit_manual=65

[HIGH_LEVELS]
level_1_speed=40%
level_2_speed=60%
...

[ADVANCED]
use_custom_hex=true
custom_hex_level=0x80

:由于提供的链接和描述不匹配具体细节,上述内容为构想结构。对于实际项目,建议直接查看目标仓库的README.md和其他相关文档以获取准确信息。

ThinkPad-Fan-ControlApp for managing fan speeds on ThinkPad laptops on Linux项目地址:https://gitcode.com/gh_mirrors/th/ThinkPad-Fan-Control

申明一下,TPFanControl是原大神写的.因长期找不到绿色版,所以我只是绿化了一下.方便像我这种喜欢绿色软件的朋友. 人格担保: 绿色版完全从安装版绿化而来,决不添加任何流氓插件等. 解压缩后,可以放入任何文件夹内,然后运行!)Green.bat一下,完成绿化,如果怕的话,可以手动将TVicPort.sys拷入c:\windows\system32\drivers完成绿化 之后就可以双击TPFanControl.exe运行了,其中TPFanControl-0.62.exe是0.62版的,经MD5检查,0.62版和0.63版只有这一个文件有区别. ini配置文件是我自己重新定义的,大家可以自行修改,搜索MenuLabelSM1=Smart Mode 1,然后下面的温度自己调. 为了方便大家阅读,把配置的内容贴在下面了,配合浅显易懂的中文翻译,纯手工翻译!!非直译,其中(* *)中间的注释是我本人的注释,非翻译. // !!! Temp of lowest Level > 79 -> switch to Fahrenheit !!! see below // 最低一级的温度值如果>79的话,则温度自动识别为华氏度. // ATTENTION: example temp values are for my T61, especially //BluetoothEDR=1, SensorName5=no5, IgnoreSensors=no5 too // temp levels 10 degrees centgrade higher than in T4x, R5x, // change for your purposes. // 注意,下面的温度设置是以我的T61为例,特别是蓝牙EDR设置为1,第五个传感器名称改为no5,并且忽略这个传感器的温度显示.在T4X,R5X机器上,温度设置要高个10°,总之以你自己实测的效果来调试. // advice for programmers: TPFanControl must acquire mutex named // "Access_Thinkpad_EC" to get access to embedded controller // 建议: TPFanControl必须获得"Access_Thinkpad_EC"才能得到温度值. // with Active=3 & ManFanSpeed=0 & ManModeExit=78 you can have a nice // quiet time until temps reaches 78 deg. centigrade :-)) // 当使用手动模式(Active=3),风速为0(ManFanSpeed=0),并且将"手动切换到智能的温度阀值"设定为78°(ManModeExit=78)的话,你的电脑将会异常安静,除非温度攀升到78°. // ----------------------------------------------------------------- // ----------------------------------------------------------------- // "Active=0" program just reads config. 程序仅读取配置 // "Active=1" allow program to modify fan. 允许程序修改风速 // "Active=2" program will come up in smart mode. 程序以智能模式启动 // "Active=3" program will come up in manual mode. 程序以手动模式启动 Active=2 // ----------------------------------------------------------------- // manual fan speed at program start // 程序启动时,手动风速的初始值.(*我发现我的T61上,64风速是最快的*) ManFanSpeed=64 // ----------------------------------------------------------------- // Program exits manual mode and switches to smart mode with last chosen // profile, if this temp (degrees Centigrade or Fahrenheit) is achieved. // default= 80 degrees Centigrade / 176 degrees Fahrenheit. // 当温度达到该值时,程序将自动退出手动模式,并切换到之前启用过的智能模式. ManModeExit=78 //ManModeExit=172 // with Fahrenheit // ----------------------------------------------------------------- // Window stays on Top if StayOnTop=1, normal behavior =0 // 窗口是否一直前置显示,1为前置,默认为0,不前置. StayOnTop=0 // ----------------------------------------------------------------- // Set to 1 for slim widget // 1为窗口细长型显示,0为窗口粗矮型显示,显示的信息量相应的多一些. SlimDialog=1 // ----------------------------------------------------------------- // set to 1 for bluetooth with enhanced data rate (i.e. T61, // X61 for T4x, R5x set BluetoothEDR=0 ) // 设置为1时增强蓝牙的传输速率,例如T61,X61.但是对于T4x,R5x,请设置为0 BluetoothEDR=1 // ----------------------------------------------------------------- // Windows Priority of Process (0-5, normal=2), increase if fancontrol has // big delays in response while other processes consume performance. // 程序的优先级,可以设定为0-5,正常是2,如果其他程序大量消耗系统资源导致TPFanControl有较大的延迟,请把这个数值加大. ProcessPriority=5 // ----------------------------------------------------------------- // Show no icon ballons: NoBallons=1, show icon ballons: NoBallons=0 // 禁止托盘处的程序图标显示提示信息时,设为1,反之设为0. NoBallons=1 // ----------------------------------------------------------------- // check temperatures every x seconds (default 5) // 每隔x秒检查温度,默认是5. Cycle=1 // ----------------------------------------------------------------- // For Thinkpads A2x,T2x,X2x set NoExtSensor=1 to exclude reading // of extended sensors to prevent program errors. Attention 570(E) // is NOT compatible. Fan speed is not available on all models. // 对于Thinkpad A2x,T2x,X2x,设为1可以避免因读取不存在的温度传感器而导致程序出错.注意,570(E)是不兼容的.所有的机型上都无法设定风速. NoExtSensor=0 // ----------------------------------------------------------------- // Minimize to systray immediately when starting // 设定为1时,当程序启动后,立即最小化到托盘. StartMinimized=1 // ----------------------------------------------------------------- // check icon of tpfcicon.exe (optional) every x seconds (default 1) // 每x秒检查tpfcicon.exe的图标(可选,默认是1秒). IconCycle=1 // ----------------------------------------------------------------- // Show new icon with max. temperature / sensor name // 显示最高的温度和芯片的名称 ShowTempIcon=1 // ----------------------------------------------------------------- // Save the icon by a start delay of the program/service of // "SecStartDelay" (sec.) within "SecWinUptime" (sec.) after (re)boot // Delete slashes '//' at next 3 parameters. // 在启动或重启后,设定程序的延时启动时间,将下面的'//'删掉就能启用(*这个没啥用,我不弄的*) //SecWinUptime=120 //"SecWinUptime" (sec.) after (re)boot //SecStartDelay=60 //start delay of the program (sec.) //NoWaitMessage=0 //set to 1 to avoid sleep message //ReIcCycle=600 //rebuild TempIcon every xxx secs. // ----------------------------------------------------------------- // Temperature thresholds for turning the taskbar icon // yellow orange red (Smart and Manual mode only and // only together with MinimizeToTray=1) // 对于不同的温度,系统托盘所显示的颜色,黄,橙,红.仅在智能和手动模式下生效,并且MinimizeToTray=1 IconLevels=50 60 65 // Fahrenheit: IconLevels=122 140 158 // ----------------------------------------------------------------- // Beep frequency and duration (in ms) for successful // fan state changes. (Set either or both to zero to // disable) // 当成功转换风扇状态时,蜂鸣器的频率和时长(毫秒),任何一个值设定为0时,禁止蜂鸣. FanBeep=0 0 // -------------------------------------------------------- // If this max number of consecutive EC read errors occur // program will switch fan back to bios mode and exit // 当读取温度传感器的错误次数达到改设定值后,程序将自动切换到bios控制并退出. MaxReadErrors= 10 // -------------------------------------------------------- // Log2File=1 enables, Log2File=0 disables writing to TPFanControl.log // Start program with admin rights. // 允许或禁止写入日志文件,这个需要管理员权限 Log2File=0 // -------------------------------------------------------- // Log2csv=1 enables, Log2csv=0 disables // writing to TPFanControl_csv.txt renamed to // TPFanControl_last_csv.txt after restart of TPFanControl // rename to *.csv for use with excel // Start program with admin rights. // 设定为1时,允许日志写入TPFanControl_csv.txt,程序重启后,自动更名为TPFanControl_last_csv.txt.将扩展名改成.csv时,可以用excel打开.(*这个需要在文件夹选项中,将"隐藏已知类型的扩展名"后面的勾去掉才能显示并更改扩展名*) Log2csv=0 // -------------------------------------------------------- // List (separated by comma) of sensors to ignore when // determining the max. temperature. (Use lower case, // e.g "IgnoreSensors=pci,aps") // 判断最高温度时,哪些芯片是不受监控的(相当于黑名单,多个名称用逗号隔开,并用小写字母). IgnoreSensors=cpu,aps,crd,bat,bus,pci,pwr // (*我的T61有显卡门,所以只监控gpu的温度,除了gpu,其他所有的芯片都列上去了.大家可以把cpu从黑名单中删除*) // --------------------------------------------------------- // List of new 3 letter sensor names, delete leading // slashes to activate. Don't use capital letters for readability // of temp icon. // 写3个新的字母来重新命名芯片的名称,把'//'删除就能启用.别用大写字母 //SensorName1=cpu //SensorName2=aps //SensorName3=pcm //SensorName4=gpu //SensorName5=no5 //SensorName6=x7d //SensorName7=bat //SensorName8=x7f //SensorName9=bus //SensorName10=pci //SensorName11=pwr //SensorName12=xc3 // --------------------------------------------------------- // calculating Highest Temp with: // temperature of sensor no. = real temp minus SensorOffsetno. // Default SensorOffset1-12=0 , Capital O in SensorOffset, // to activate delete slashes '//', // Negative SensorOffsetno. values increase temperature values. // 重新计算最高温度,传感器温度=实测温度-偏移量,默认的偏移量都为0,删除'//'可以启用计算.当偏移量为负数时,则增大温度值 //SensorOffset1=20 //SensorOffset2=20 //SensorOffset3=0 //SensorOffset4=2 //SensorOffset5=1 //SensorOffset6=5 //SensorOffset7=5 //SensorOffset8=4 //SensorOffset9=3 //SensorOffset10=2 //SensorOffset11=1 //SensorOffset12=5 // ----------------------------------------------------------------- // set to 1 to show calculated temps for sensors // 设定为1时,显示计算后的温度值 ShowBiasedTemps=1 // ----------------------------------------------------------------- // Show all/active sensors at start up. all=1 only active=0 // 在启动时,显示所有/激活的传感器温度值,1为所有,0为激活的 ShowAll=0 // -------------------------------------------------------- // temperature levels 'Level=' with associated fan levels // (for the fan to come back, temperature must fall // down to previous level). There may be more or // less levels in this list. The first one should // have a fan speed of zero and is the "turn off" // temperature. // Fan speed of 64 is extreme and may be an *unsupported* // and *damaging* mode. A fan speed of 128 setting is // not really a fan speed in itself but will instead switch // fan control to BIOS mode (0x80). The idea of this // is to let the program get out of the way and let the // BIOS handle extremes.(and then switch back to smart if // the temperature is okay again) // Temp of lowest Level (commonly set to fan speed zero) of profile // "Smart Mode 1" will switch from Celsius to Fahrenheit if set higher // than 79 degrees. Temps of higher levels have no influence on F/C. // // profile "Smart Mode 1" // change values and number of items for your needs // Celsius: // Fahrenheit: MenuLabelSM1=Smart Mode 1/ Label for Icon Menu, must be terminated by '/' Level=30 0 // Level=140 0 Level=40 1 // Level=150 1 Level=45 4 // Level=165 3 Level=49 7 // Level=175 7 Level=52 64 // Level=195 64 // (*这些是我的温度设定,分别设定了30°,40°,45°,49°,52°,可以自己改*) // optional 2nd profile "Smart Mode 2", switched by icon menue // change values and number of items for your needs // to deactivate, insert leading '//' into following lines MenuLabelSM2=Smart Mode 2/ Label for Icon Menu, must be terminated by '/' // (*智能模式2下的设定*) Level2=30 0 // Level=140 0 Level2=40 1 // Level=150 1 Level2=45 4 // Level=165 3 Level2=49 7 // Level=175 7 Level2=52 64 // Level=195 64 // ----------------------------------------------------------------- // IconColorFan=1 digital Icon will turn green while fan is running. // 设定为1时,当风扇转的时候,图标为绿色 IconColorFan=1 // ----------------------------------------------------------------- // Lev64Norm=1 : Fan level 64 acts as normal level with hysteresis, // fan will run till next lower temp step is reached (no pulsing fan). // If set to zero fan level 64 acts as emergency level without hysteresis, // fan will run till level64 temp is reached again (pulsing fan can happen). // 设定为1时,最高风速有延迟效应,也就是说,当温度下降到最高档温度值以下时,风速仍旧为最高,直到继续下降到下一档温度时,才调低到下一档风速.如果设置为0,则一旦下降到最高档温度以下时,就立马降低到下一档风速,直到温度再次超过最高档温度值时再调高到最高风速. Lev64Norm=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏承根

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值