-
Notifications
You must be signed in to change notification settings - Fork 0
/
sample.yaml
70 lines (66 loc) · 2.87 KB
/
sample.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# The configuration file for the particular device
# --- Device info ---
# Firmware version: 1.1
# Channels number: 2
# Channel 0 mode: PWM
# Channel 1 mode: PWM
# Sensors amount: 4
# Sensor IDs:
# 0x07 0xA2 0x92 0xC9
# --- Sensor binding ---
# Sensor types:
# 1. DS18B20
# 2. LM75
# Both types of sensors are match by the 'id' property.
# The hardware supports up 4 sensors of each type, 8 sensors in total.
# LM75 id directly corresponds to I2C address of the particular IC
# DS18B20 id is an abstract index that depends on the 1-Wire ROM search procedure.
# It can be matched with the real sensor via utility: fanutil.py -p [COM PORT] -s
sensors: {S0: {type: LM75, id: 0x07}, S1: {type: DS18B20, id: 0xA2}, S2: {type: DS18B20,
id: 0x92}, S3: {type: DS18B20, id: 0xC9}}
# --- PWM channel binding ---
# 1. channel
# Channel binding, the controller supports two pwm channels: 0 and 1
# 2. minpwm
# Minimum PWM value in % for the selected channel
# Default: 0
# 3. maxpwm
# Maximum PWM value in % for the selected channel
# Default: 100
# 4. fanstop_hyst
# Fan start/stop hysteresis value in degrees Celsius,
# e.g. if controller defines lowest temperature setting as 50 and hysteresis equals to 5,
# the fan will be stopped after reaching 45 degrees and then will be started at 50 degrees.
# Set to 0 to disable fan stop function (default value)
pwms: {OUT0: {channel: 0, minpwm: 0, maxpwm: 100}, OUT1: {channel: 1, minpwm: 25,
maxpwm: 88, fanstop_hyst: 3}}
# --- Controller binding ---
# Links sensor declarations to pwm declarations with defined control algorithm
# Can link multiple sensors to the single pwm.
# sensor: Sensor binding entry. Can be multiple (up to 4), highest temperature will be used as a reference
# pwm: PWM channel binding entry
# 1. mode
# Control algorithm, possible values:
# two_point - simple 2 point curve transformation
# pi - proportional-integral control algorithm
#
# 2. poll_time
# Sampling time in seconds
# 3. set
# Special options for selected control algorithm (mode)
#
# For 'two_point' it contains min and max allowed temperature: 'tmin', 'tmax'
# - min temperature maps to the 'minpwm' sensor value
# - max temperature maps to the 'maxpwm' sensorvalue
#
# For 'pi' it contains:
# t - desired temperature setting
# kp - proportional coefficient, maximum allowed value = 20, higher values will be truncated to this limit
# ki - integral coefficient, maximum allowed value = 2.5, higher values will be truncated to this limit
# max_i - maximum allowed value for I component in percents, default value = 50
#
# 4. k_ema
# α coefficient of EMA filter, default value = 1 (Disabled)
controllers: {CTRL0: {sensor: [S0, S1], pwm: OUT0, mode: two_point, set: {tmin: 35,
tmax: 55}, poll: 1, k_ema: 1.0}, CTRL1: {sensor: [S0], pwm: OUT1, mode: pi,
set: {t: 40, kp: 1.25, ki: 0.625, max_i: 50}, poll: 1, k_ema: 1.0}}