1ThermalControllers and FanControllers are derived objects from a common PID 2Controller object. The design implemented in this structure is a facsimile of 3what was published in the Chrome OS source. 4 5One has any number of ThermalControllers that run through a PID step to 6generate a set-point RPM to reach its thermal set-point. The maximum output 7from the set of ThermalControllers is taken as the input to all the 8FanController PID loops. 9 10Each group of these controllers is managed within a zone. A PIDZone object 11helps manage them by providing a sensor value cache and overall execution. 12