blob: 7c3f919078ff58b0bb1f47d46eee7957bff5e078 [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 set-point RPM to reach its thermal set-point. 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.