Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions py_modules/fan.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ def __init__(self):
self.ram_reg_data = None # 风扇ecRam寄存器数据
self.ram_manual_offset = None # 风扇自动控制ecRam地址
self.ram_pwm_write_offset = None # 风扇写入转速ecRam地址
self.ram_pwm_write_offset_2 = None # 风扇写入转速ecRam地址
self.ram_pwm_read_offset = None # 风扇读取转速ecRam地址
self.ram_pwm_read_length = 0 # 风扇实际转速值长度 0为需要通过计算获得转速

Expand Down Expand Up @@ -263,6 +264,12 @@ def __parse_fan_configuration_EC(self):
if "ram_rpmwrite_offset" in ec_info
else None
)
# 风扇写入转速ecRam地址
fc.ram_pwm_write_offset_2 = (
ec_info["ram_rpmwrite_offset_2"]
if "ram_rpmwrite_offset_2" in ec_info
else None
)
# 风扇读取转速ecRam地址
fc.ram_pwm_read_offset = (
ec_info["ram_rpmread_offset"]
Expand Down Expand Up @@ -807,13 +814,13 @@ def __set_fanPercent_ECRAM(self, fc: FanConfig, value: int):
try:
addr = fc.ram_reg_addr
data = fc.ram_reg_data
offset = fc.ram_pwm_write_offset
rpm_write_max = fc.pwm_write_max

fanWriteValue = max(min(int(value / 100 * rpm_write_max), rpm_write_max), 0)
EC.RamWrite(addr, data, offset, fanWriteValue)
EC.RamWrite(addr, data, fc.ram_pwm_write_offset, fanWriteValue)
if fc.ram_pwm_write_offset_2:
EC.RamWrite(addr, data, fc.ram_pwm_write_offset_2, fanWriteValue)
logger.info(
f"写入ECRAM数据 写入EC地址:{hex(offset)} 风扇转速百分比{value} 风扇最大值{rpm_write_max} 风扇转速写入值:{fanWriteValue}"
f"写入ECRAM数据 写入EC地址:{hex(fc.ram_pwm_write_offset)} 风扇转速百分比{value} 风扇最大值{rpm_write_max} 风扇转速写入值:{fanWriteValue}"
)
return True
except Exception:
Expand Down
13 changes: 13 additions & 0 deletions py_modules/fan_config/ec/gpd_win5.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
product_name:
- G1618-05
fans:
- ram_reg_addr: 0x4E
ram_reg_data: 0x4F
ram_manual_offset: 0x479
ram_rpmwrite_offset: 0x47A
ram_rpmwrite_offset_2: 0x47B
ram_rpmread_offset: 0x478
ram_rpmread_length: 2

rpm_write_max: 184
rpm_value_max: 6500