7 #ifndef __PVSTREAMINGCHANNELSOURCETRIGGER_H__ 8 #define __PVSTREAMINGCHANNELSOURCETRIGGER_H__ 14 #include <PvTriggerSelector.h> 15 #include <IPvSemaphore.h> 16 #include <PvSoftDeviceGEVInterfaces.h> 19 #define TRIGGERSELECTOR_ADDRESS( base, channel ) (base + 0x0 + ( 0x80 * (channel) ) ) 20 #define TRIGGERMODE_ADDRESS( base, channel ) (base + 0x4 + ( 0x80 * (channel) ) ) 21 #define TRIGGERSOURCE_ADDRESS( base, channel ) (base + 0x8 + ( 0x80 * (channel) ) ) 22 #define TRIGGERSOFTWARE_ADDRESS( base, channel ) (base + 0xc + ( 0x80 * (channel) ) ) 25 enum TriggerSelectorEnum
27 TRIGGER_SELECTOR_FRAMESTART = 0,
28 TRIGGER_SELECTOR_ACQUISITIONSTART,
29 TRIGGER_SELECTOR_ACQUISITIONEND,
30 TRIGGER_SELECTOR_ACQUISITIONACTIVE,
31 TRIGGER_SELECTOR_FRAMEBURSTSTART,
32 TRIGGER_SELECTOR_FRAMEBURSTEND,
33 TRIGGER_SELECTOR_FRAMEBURSTACTIVE,
34 TRIGGER_SELECTOR_FRAMEEND,
35 TRIGGER_SELECTOR_FRAMEACTIVE,
36 TRIGGER_SELECTOR_LINESTART,
37 TRIGGER_SELECTOR_EXPOSURESTART,
38 TRIGGER_SELECTOR_EXPOSUREEND,
39 TRIGGER_SELECTOR_EXPOSUREACTIVE,
40 TRIGGER_SELECTOR_LAST = TRIGGER_SELECTOR_EXPOSUREACTIVE
49 enum TriggerSourceEnum
51 TRIGGER_SOURCE_SOFTWARE = 0,
52 TRIGGER_SOURCE_USER = 1
85 typedef std::unique_ptr<IPvTriggerSelector> SelectorEntry;
109 virtual void FireTrigger()
const;
111 void AddSelector( TriggerSelectorEnum aIndex, SelectorEntry aSelector );
119 void AddSelectorTriggerCallback( TriggerSelectorEnum aIndex,
IPvTriggerCallback *aCallback);
120 void AddSource( uint32_t aIndex,
const PvString &aName );
122 bool GetMode()
const;
123 uint32_t GetSource()
const;
134 void SetSelector( uint32_t aIndex );
135 void SetMode( uint32_t aMode );
136 void SetSource( uint32_t aIndex );
138 bool IsSourceSoftware( uint32_t aIndex )
const;
143 uint32_t mRegisterBaseAddress;
145 uint32_t mSourceIndex;
146 std::map<uint32_t, std::string> *mSources;
147 std::map<uint32_t, SelectorEntry> *mSelectors;
151 uint32_t mCurrentSelector;
157 #endif // __PVSTREAMINGCHANNELSOURCETRIGGER_H__ Interface that is used to access the registers of the software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1573
Definition: PvResult.h:527
GenApi factory used to add custom GenApi parameters to a software-based GigE Vision Device GenICam XM...
Definition: PvSoftDeviceGEVInterfaces.h:2096
virtual PvResult PreWrite(IPvRegister *aRegister)
Pre-write register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1871
String class.
Definition: PvString.h:25
Result information.
Definition: PvResult.h:29
virtual bool PreQueueBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1246
virtual PvResult Persist(IPvRegister *aRegister, IPvRegisterStore *aStore)
Peristence request for selected registers for user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1912
Interface that is used by PvSoftDeviceGEV to query and report information from a streaming source imp...
Definition: PvSoftDeviceGEVInterfaces.h:787
virtual void OnStreamingStop()=0
Notification that the GigE Vision controller has requested that the device stop streaming on this cha...
virtual void OnStreamingStart()=0
Notification that the GigE Vision controller has requested that the device start streaming on this ch...
Class used with register persistence in the context of user-sets.
Definition: PvSoftDeviceGEVInterfaces.h:1762
PvResult GetTxNumBuffersToUse(uint32_t &aNumBuffer)
This method is requested by PvSoftDeviceGEV to limit the number of buffers used by the transmitter...
Definition: PvStreamingChannelSourceTrigger.h:101
Interface used by PvStreamingChannelSourceTrigger to support a trigger mechanism. ...
Definition: PvTriggerSelector.h:19
virtual void CreateGenApiFeatures(IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
When called, the streaming channel source should create its custom GenApi parameters if they are need...
Definition: PvSoftDeviceGEVInterfaces.h:1370
Definition: IPvSemaphore.h:14
virtual void CreateRegisters(IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory)
When called, the streaming channel source should create its custom registers if they are needed...
Definition: PvSoftDeviceGEVInterfaces.h:1304
virtual void PostRetrieveBufferProc()
Definition: PvSoftDeviceGEVInterfaces.h:1253
Register map interface for a software-based GigE Vision Device.
Definition: PvSoftDeviceGEVInterfaces.h:1981
An interface which provides a trigger callback function.
Definition: PvStreamingChannelSourceTrigger.h:67
An implementation providing Trigger support for the IPvStreamingChannelSource interface.
Definition: PvStreamingChannelSourceTrigger.h:80
Class used for register creation.
Definition: PvSoftDeviceGEVInterfaces.h:1925
Interface that is used to report the register activity of the software-based GigE Vision Device...
Definition: PvSoftDeviceGEVInterfaces.h:1804
virtual PvResult PreRead(IPvRegister *aRegister)
Pre-read register notification.
Definition: PvSoftDeviceGEVInterfaces.h:1834