7 #ifndef __PVTRIGGERSELECTOR_H__
8 #define __PVTRIGGERSELECTOR_H__
13 #include <PvVirtualDeviceLib.h>
35 virtual void Start(
const uint32_t aHeight ) = 0;
36 virtual void Stop() = 0;
37 virtual void FireTrigger() = 0;
38 virtual void Rearm() = 0;
40 virtual void SetMode(
bool aIsEnabled ) = 0;
41 virtual bool GetMode()
const = 0;
42 virtual void SetSource( uint32_t aSource ) = 0;
43 virtual uint32_t GetSource()
const = 0;
44 virtual std::string GetName()
const = 0;
45 virtual State GetState()
const = 0;
46 virtual bool IsEnabled()
const = 0;
59 , mState( State_Disabled )
61 mName =
new std::string( aName );
65 void Start(
const uint32_t aHeight )
override { PVUNREFPARAM( aHeight ); }
66 void Stop()
override {}
67 void FireTrigger()
override {}
68 void Rearm()
override {};
70 void SetMode(
const bool aIsEnabled )
override { SetState( aIsEnabled ? State_Enabled : State_Disabled ); }
71 bool GetMode()
const override {
return IsEnabled(); }
72 void SetSource(
const uint32_t aSource)
override { mSource = aSource; }
73 uint32_t GetSource()
const override {
return mSource; }
74 std::string GetName()
const override {
return *mName; }
75 bool IsEnabled()
const override {
return State_Disabled != mState; }
79 void SetState(
const State aState ) { mState = aState; }
80 State GetState()
const override {
return mState; }
85 volatile State mState;
103 void Start(
const uint32_t aHeight )
override
105 PVUNREFPARAM( aHeight );
107 if ( State_Enabled == GetState() )
109 SetState( State_Armed );
115 if ( State_Disabled != GetState() )
117 SetState( State_Enabled );
121 void FireTrigger()
override
123 if ( State_Armed == GetState() )
125 SetState( State_OneShot );
145 void Rearm()
override
147 if ( GetState() == State_Fired )
149 SetState( State_Armed );
153 void FireTrigger()
override
155 if ( State_Armed == GetState() )
157 SetState( State_Fired );
180 void Start(
const uint32_t aHeight )
override
182 if ( State_Enabled == GetState() )
184 mTrigReload = aHeight;
185 mTrigCount = mTrigReload;
186 SetState( State_Armed );
190 void FireTrigger()
override
192 if ( State_Armed == GetState() )
197 SetState( State_Fired );
202 void Rearm()
override
204 if ( GetState() == State_Fired )
206 mTrigCount = mTrigReload;
207 SetState( State_Armed );
213 uint32_t mTrigReload;
216 #endif // __PVTRIGGERSELECTOR_H__