blob: 7613530d04d53187963f0e1e1bb762c8aec277f6 [file] [log] [blame]
ThermalControllers and FanControllers are derived objects from a common PID
Controller object. The design implemented in this structure is a facsimile of
what was published in the Chrome OS source.
One has any number of ThermalControllers that run through a PID step to
generate a setpoint RPM to reach its thermal setpoint. The maximum output
from the set of ThermalControllers is taken as the input to all the
FanController PID loops.
Each group of these controllers is managed within a zone. A PIDZone object
helps manage them by providing a sensor value cache and overall execution.