UniSet  2.2.1
TDelay.h
00001 #ifndef TDelay_H_
00002 #define TDelay_H_
00003 // --------------------------------------------------------------------------
00004 #include "PassiveTimer.h"
00005 #include "Element.h"
00006 // ---------------------------------------------------------------------------
00007 // "ON" delay element
00008 // Сбрасывается без задержки.. а срабатывает с задержкой.
00009 class TDelay:
00010     public Element
00011 {
00012 
00013     public:
00014         TDelay( Element::ElementID id, timeout_t delayMS = 0, unsigned int inCount = 0 );
00015         virtual ~TDelay();
00016 
00017 
00018         virtual void tick() override;
00019         virtual void setIn( int num, bool state ) override;
00020         virtual bool getOut() override;
00021         virtual std::string getType() override
00022         {
00023             return "Delay";
00024         }
00025 
00026         void setDelay( timeout_t timeMS );
00027         inline timeout_t getDelay()
00028         {
00029             return delay;
00030         }
00031 
00032     protected:
00033         TDelay(): myout(false), delay(0) {};
00034 
00035         bool myout;
00036         PassiveTimer pt;
00037         timeout_t delay;
00038 
00039     private:
00040 };
00041 // ---------------------------------------------------------------------------
00042 #endif
00043 // ---------------------------------------------------------------------------
00044