1*d8012181SPatrick VentureThermalControllers and FanControllers are derived objects from a common PID 2*d8012181SPatrick VentureController object. The design implemented in this structure is a facsimile of 3*d8012181SPatrick Venturewhat was published in the Chrome OS source. 4*d8012181SPatrick Venture 5*d8012181SPatrick VentureOne has any number of ThermalControllers that run through a PID step to 6*d8012181SPatrick Venturegenerate a set-point RPM to reach its thermal set-point. The maximum ouput 7*d8012181SPatrick Venturefrom the set of ThermalControllers is taken as the input to all the 8*d8012181SPatrick VentureFanController PID loops. 9*d8012181SPatrick Venture 10*d8012181SPatrick VentureEach group of these controllers is managed within a zone. A PIDZone object 11*d8012181SPatrick Venturehelps manage them by providing a sensor value cache and overall execution. 12