James Feist | ce6a3f3 | 2019-03-12 11:20:16 -0700 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | #include "pid/zone.hpp" |
| 4 | |
| 5 | #include <boost/asio/steady_timer.hpp> |
| 6 | |
| 7 | /** |
| 8 | * Main pid control loop for a given zone. |
| 9 | * This function calls itself indefinitely in an async loop to calculate |
| 10 | * fan outputs based on thermal inputs. |
| 11 | * |
| 12 | * @param[in] zone - ptr to the PIDZone for this loop. |
| 13 | * @param[in] timer - boost timer used for async callback. |
| 14 | * @param[in] first - boolean to denote if initialization needs to be run. |
| 15 | * @param[in] ms100cnt - loop timer counter. |
| 16 | */ |
| 17 | void pidControlLoop(PIDZone* zone, boost::asio::steady_timer& timer, |
| 18 | bool first = true, int ms100cnt = 0); |