Process speed increase requests

Speed increases are made providing a target speed delta. The increase is
made when the delta is higher than the current increase that may be
occurring. When no increase is currently happening, the increase delta
requested is accepted. All resulting target increases will not go above
a defined ceiling speed.

Change-Id: Ia19c71a023cf5b897d5ba92974ff98451f34d5a3
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/zone.hpp b/control/zone.hpp
index 20b9ac9..cc05959 100644
--- a/control/zone.hpp
+++ b/control/zone.hpp
@@ -178,6 +178,14 @@
             return _incSpeedDelta;
         };
 
+        /**
+         * @brief Calculate the requested target speed from the given delta
+         * and increase the fan speeds, not going above the ceiling.
+         *
+         * @param[in] targetDelta - The delta to increase the target speed by
+         */
+        void requestSpeedIncrease(uint64_t targetDelta);
+
     private:
 
         /**
@@ -226,6 +234,11 @@
         bool _isActive = true;
 
         /**
+         * Target speed for this zone
+         */
+        uint64_t _targetSpeed = _fullSpeed;
+
+        /**
          * Speed increase delta
          */
         uint64_t _incSpeedDelta = 0;