Add tach sensor functional delay

Add ability to define a delay to marking a tach sensor as functional
when it transitions from a nonfunctional state. Essentially this gives
the option to wait a given amount of time that a tach sensor must be
within the allowed deviation before being updated to functional.

Default functional delay = 0 seconds

Tested: Current fan definition values function the same

Change-Id: I58bf70d2335e27c06037b755cbee8dae81528a5a
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/monitor/tach_sensor.hpp b/monitor/tach_sensor.hpp
index 2cd0f4a..ed8caf8 100644
--- a/monitor/tach_sensor.hpp
+++ b/monitor/tach_sensor.hpp
@@ -62,6 +62,7 @@
          * @param[in] id - the id of the sensor
          * @param[in] hasTarget - if the sensor supports
          *                        setting the speed
+         * @param[in] funcDelay - Delay to mark functional
          * @param[in] interface - the interface of the target
          * @param[in] factor - the factor of the sensor target
          * @param[in] offset - the offset of the sensor target
@@ -73,6 +74,7 @@
                    Fan& fan,
                    const std::string& id,
                    bool hasTarget,
+                   size_t funcDelay,
                    const std::string& interface,
                    size_t factor,
                    size_t offset,
@@ -247,6 +249,11 @@
         const bool _hasTarget;
 
         /**
+         * @brief Amount of time to delay updating to functional
+         */
+        const size_t _funcDelay;
+
+        /**
          * @brief The interface that the target implements
          */
         const std::string _interface;