Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



Loading...
Searching...
No Matches
PvStreamingChannelSourceTrigger Class Reference

Trigger-capable streaming source implementing IPvSWStreamingChannelSource. More...

#include <PvStreamingChannelSourceTrigger.h>

Public Member Functions

 PvStreamingChannelSourceTrigger (uint32_t mChannel, uint32_t aRegisterBaseAddress)
 Construct a trigger-capable streaming source for a channel.
 
virtual void OnStreamingStart ()
 IPvStreamingChannelSource interface implementation.
 
virtual void OnStreamingStop ()
 Notification that streaming stops on this channel.
 
virtual bool PreQueueBufferProc () final
 Pre-queue callback; may block until trigger conditions are satisfied.
 
virtual void PostRetrieveBufferProc ()
 Post-retrieve callback after a buffer is retrieved.
 
virtual void CreateRegisters (IPvRegisterMap *aRegisterMap, IPvRegisterFactory *aFactory)
 Create trigger-related registers.
 
virtual void CreateGenApiFeatures (IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
 Create GenApi features for trigger control.
 
PvResult GetTxNumBuffersToUse (uint32_t &aNumBuffer)
 Disabled transmitter buffer count query.
 
virtual PvResult PreRead (IPvRegister *aRegister)
 Pre-read notification for trigger-related registers.
 
virtual PvResult PreWrite (IPvRegister *aRegister)
 Pre-write notification for trigger-related registers.
 
virtual PvResult Persist (IPvRegister *aRegister, IPvRegisterStore *aStore)
 Persist trigger-related registers for user sets.
 
virtual void FireTrigger () const
 Fire a software trigger for the current selector when source is Software.
 
void AddSelector (TriggerSelectorEnum aIndex, SelectorEntry aSelector)
 Add or replace a trigger selector entry.
 
void AddSelectorTriggerCallback (TriggerSelectorEnum aIndex, IPvTriggerCallback *aCallback)
 Bind in an implementation of the IPvTriggerCallback class.
 
void AddSource (uint32_t aIndex, const PvString &aName)
 Register a trigger source entry.
 
bool GetMode () const
 Get trigger mode for the current selector.
 
uint32_t GetSource () const
 Get active trigger source index.
 
- Public Member Functions inherited from IPvSWStreamingChannelSource
virtual ~IPvSWStreamingChannelSource ()
 Virtual destructor.
 
virtual PvBufferAllocBuffer ()=0
 Request by the PvSoftDeviceGEV to allocate a PvBuffer.
 
virtual void FreeBuffer (PvBuffer *aBuffer)=0
 Request by the PvSoftDeviceGEV to free or release a buffer allocated with AllocBuffer.
 
virtual PvResult QueueBuffer (PvBuffer *aBuffer)=0
 Request by the PvSoftDeviceGEV to queue a buffer for acquisition.
 
virtual PvResult RetrieveBuffer (PvBuffer **aBuffer)=0
 Request by the PvSoftDeviceGEV to retrieve a buffer from the streaming source.
 
virtual void AbortQueuedBuffers ()=0
 Request by the PvSoftDeviceGEV to abort all buffers queued for acquisition.
 
- Public Member Functions inherited from IPvStreamingChannelSource
virtual ~IPvStreamingChannelSource ()
 Virtual destructor.
 
virtual uint32_t GetWidth () const =0
 Returns the current image width.
 
virtual uint32_t GetHeight () const =0
 Returns the current image height.
 
virtual uint32_t GetOffsetX () const =0
 Returns the current image offset X.
 
virtual uint32_t GetOffsetY () const =0
 Returns the current image offset Y.
 
virtual PvPixelType GetPixelType () const =0
 Returns the current pixel type.
 
virtual void GetWidthInfo (uint32_t &aMin, uint32_t &aMax, uint32_t &aInc) const =0
 Returns the stream channel width attributes.
 
virtual void GetHeightInfo (uint32_t &aMin, uint32_t &aMax, uint32_t &aInc) const =0
 Returns the stream channel height attributes.
 
virtual uint32_t GetChunksSize () const =0
 Gets the stream channel chunk size attributes.
 
virtual uint32_t GetPayloadSize () const =0
 Stream channel payload size in bytes. Return zero to have it inferred from width, height and pixel format.
 
virtual PvScanType GetScanType () const =0
 Returns the scan type that is used by the streaming source.
 
virtual bool GetChunkModeActive () const =0
 Indicates whether the current master chunk mode is active.
 
virtual bool GetChunkEnable (uint32_t aChunkID) const =0
 Returns the current chunk enabled state.
 
virtual PvResult GetSupportedPixelType (int aIndex, PvPixelType &aPixelType) const =0
 Obtains an index of supported pixel types. Used at PvSoftDeviceGEV::Start time to create the GenICam XML of the device.
 
virtual PvResult GetSupportedChunk (int aIndex, uint32_t &aID, PvString &aName) const =0
 Returns the indexed supported chunk type. Used at PvSoftDeviceGEV::Start time to create the GenICam XML of the device.
 
virtual PvResult GetGevSCPSPacketSizeInfo (uint32_t &aMax) const
 Get the customized max value for GevSCPSPacketSize. Used at PvSoftDeviceGEV::Start time to create the GenICam XML of the device.
 
virtual PvResult SetWidth (uint32_t aWidth)=0
 Request from the PvSoftDeviceGEV to change the image width.
 
virtual PvResult SetHeight (uint32_t aHeight)=0
 Request from the PvSoftDeviceGEV to change the image height.
 
virtual PvResult SetOffsetX (uint32_t aOffsetX)=0
 Request from the PvSoftDeviceGEV to change the image offset X.
 
virtual PvResult SetOffsetY (uint32_t aOffsetY)=0
 Request from the PvSoftDeviceGEV to change the image offset Y.
 
virtual PvResult SetPixelType (PvPixelType aPixelType)=0
 Request from the PvSoftDeviceGEV to change the image pixel type.
 
virtual PvResult SetChunkModeActive (bool aEnabled)=0
 Set the master chunk mode active state.
 
virtual PvResult SetChunkEnable (uint32_t aChunkID, bool aEnabled)=0
 Sets the chunk enabled state for a specific chunk type.
 
virtual void OnOpen (const PvString &aDestIP, uint16_t aDestPort)=0
 Notification from the PvSoftDeviceGEV that this streaming channel has been opened.
 
virtual void OnClose ()=0
 Notification from the PvSoftDeviceGEV that this streaming channel has been closed.
 
virtual bool IsPayloadTypeSupported (PvPayloadType aPayloadType)
 When called, the streaming source has to return whether the specificed payload type is supported or not.
 
virtual void SetMultiPartAllowed (bool aAllowed)
 Sets whether the streaming source is allowed or not, but not forced, to transmit multi-part data.
 
virtual void SetLargeLeaderTrailerEnabled (bool aEnabled, uint32_t aMaxMultiPartCount)
 Sets whether the streaming source which transmit multi-part data uses large data leader and trailer packets.
 
virtual PvResult SetTestPayloadFormatMode (PvPayloadType aPayloadType)
 When called, the streaming source has to ensure it can stream buffers of the specified payload type.
 
- Public Member Functions inherited from IPvRegisterEventSink
virtual ~IPvRegisterEventSink ()
 Virtual destructor.
 
virtual void PostRead (IPvRegister *aRegister)
 Post-read register notification.
 
virtual void PostWrite (IPvRegister *aRegister)
 Post-write register notification.
 

Protected Member Functions

virtual void CreateTriggerSelector (IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
 Build TriggerSelector GenApi feature.
 
virtual void CreateTriggerMode (IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
 Build TriggerMode GenApi feature.
 
virtual void CreateTriggerSource (IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
 Build TriggerSource GenApi feature.
 
virtual void CreateTriggerSoftware (IPvRegisterMap *aRegisterMap, IPvGenApiFactory *aFactory)
 Build TriggerSoftware GenApi command.
 

Detailed Description

Trigger-capable streaming source implementing IPvSWStreamingChannelSource.

Remarks
Provides TriggerSelector/TriggerSource support (AcquisitionStart, FrameStart, LineStart, etc.), allows registering custom selectors and sources, and exposes a low-latency software trigger path when TriggerSource is Software.

Constructor & Destructor Documentation

◆ PvStreamingChannelSourceTrigger()

PvStreamingChannelSourceTrigger::PvStreamingChannelSourceTrigger ( uint32_t  mChannel,
uint32_t  aRegisterBaseAddress 
)

Construct a trigger-capable streaming source for a channel.

Parameters
[in]mChannelStreaming channel index.
[in]aRegisterBaseAddressBase address for trigger-related registers.

Member Function Documentation

◆ AddSelector()

void PvStreamingChannelSourceTrigger::AddSelector ( TriggerSelectorEnum  aIndex,
SelectorEntry  aSelector 
)

Add or replace a trigger selector entry.

Parameters
[in]aIndexSelector identifier.
[in]aSelectorSelector instance to add.

◆ AddSelectorTriggerCallback()

void PvStreamingChannelSourceTrigger::AddSelectorTriggerCallback ( TriggerSelectorEnum  aIndex,
IPvTriggerCallback aCallback 
)

Bind in an implementation of the IPvTriggerCallback class.

Parameters
[in]aIndexWhich Trigger selector should this callback be for
[in]aCallbackClass which implements the IPvTriggerCallback interface

◆ AddSource()

void PvStreamingChannelSourceTrigger::AddSource ( uint32_t  aIndex,
const PvString aName 
)

Register a trigger source entry.

Parameters
[in]aIndexSource index (must be unique across sources).
[in]aNameDisplay name for the source.

◆ CreateGenApiFeatures()

virtual void PvStreamingChannelSourceTrigger::CreateGenApiFeatures ( IPvRegisterMap aRegisterMap,
IPvGenApiFactory aFactory 
)
virtual

Create GenApi features for trigger control.

Parameters
[in]aRegisterMapRegister map of the device.
[in]aFactoryGenApi factory used to create nodes.

Reimplemented from IPvStreamingChannelSource.

◆ CreateRegisters()

virtual void PvStreamingChannelSourceTrigger::CreateRegisters ( IPvRegisterMap aRegisterMap,
IPvRegisterFactory aFactory 
)
virtual

Create trigger-related registers.

Parameters
[in]aRegisterMapRegister map of the device.
[in]aFactoryRegister factory used to create registers.

Reimplemented from IPvStreamingChannelSource.

◆ CreateTriggerMode()

virtual void PvStreamingChannelSourceTrigger::CreateTriggerMode ( IPvRegisterMap aRegisterMap,
IPvGenApiFactory aFactory 
)
protectedvirtual

Build TriggerMode GenApi feature.

Parameters
[in]aRegisterMapRegister map of the device.
[in]aFactoryGenApi factory used to create nodes.

◆ CreateTriggerSelector()

virtual void PvStreamingChannelSourceTrigger::CreateTriggerSelector ( IPvRegisterMap aRegisterMap,
IPvGenApiFactory aFactory 
)
protectedvirtual

Build TriggerSelector GenApi feature.

Parameters
[in]aRegisterMapRegister map of the device.
[in]aFactoryGenApi factory used to create nodes.

◆ CreateTriggerSoftware()

virtual void PvStreamingChannelSourceTrigger::CreateTriggerSoftware ( IPvRegisterMap aRegisterMap,
IPvGenApiFactory aFactory 
)
protectedvirtual

Build TriggerSoftware GenApi command.

Parameters
[in]aRegisterMapRegister map of the device.
[in]aFactoryGenApi factory used to create nodes.

◆ CreateTriggerSource()

virtual void PvStreamingChannelSourceTrigger::CreateTriggerSource ( IPvRegisterMap aRegisterMap,
IPvGenApiFactory aFactory 
)
protectedvirtual

Build TriggerSource GenApi feature.

Parameters
[in]aRegisterMapRegister map of the device.
[in]aFactoryGenApi factory used to create nodes.

◆ GetMode()

bool PvStreamingChannelSourceTrigger::GetMode ( ) const

Get trigger mode for the current selector.

Returns
True if trigger mode is ON; otherwise false.

◆ GetSource()

uint32_t PvStreamingChannelSourceTrigger::GetSource ( ) const

Get active trigger source index.

Returns
Trigger source index.

◆ GetTxNumBuffersToUse()

PvResult PvStreamingChannelSourceTrigger::GetTxNumBuffersToUse ( uint32_t &  aNumBuffer)
inlinevirtual

Disabled transmitter buffer count query.

Parameters
[out]aNumBufferReceives the recommended buffer count.
Returns
Not implemented result code.

Implements IPvSWStreamingChannelSource.

◆ OnStreamingStart()

virtual void PvStreamingChannelSourceTrigger::OnStreamingStart ( )
virtual

IPvStreamingChannelSource interface implementation.

Notification that streaming starts on this channel.

Remarks
Invoked by the streaming framework when acquisition begins.
See also
IPvStreamingChannelSource::OnStreamingStart

Implements IPvStreamingChannelSource.

◆ OnStreamingStop()

virtual void PvStreamingChannelSourceTrigger::OnStreamingStop ( )
virtual

Notification that streaming stops on this channel.

Remarks
Invoked by the streaming framework when acquisition ends.
See also
IPvStreamingChannelSource::OnStreamingStop

Implements IPvStreamingChannelSource.

◆ Persist()

virtual PvResult PvStreamingChannelSourceTrigger::Persist ( IPvRegister aRegister,
IPvRegisterStore aStore 
)
virtual

Persist trigger-related registers for user sets.

Parameters
[in]aRegisterRegister to persist.
[in]aStoreRegister store used for persistence.
Returns
Result code.
See also
IPvRegisterEventSink::Persist

Reimplemented from IPvRegisterEventSink.

◆ PostRetrieveBufferProc()

virtual void PvStreamingChannelSourceTrigger::PostRetrieveBufferProc ( )
virtual

Post-retrieve callback after a buffer is retrieved.

See also
IPvSWStreamingChannelSource::PostRetrieveBufferProc

Reimplemented from IPvSWStreamingChannelSource.

◆ PreQueueBufferProc()

virtual bool PvStreamingChannelSourceTrigger::PreQueueBufferProc ( )
finalvirtual

Pre-queue callback; may block until trigger conditions are satisfied.

Returns
True to proceed with queuing; false to skip.
See also
IPvSWStreamingChannelSource::PreQueueBufferProc

Reimplemented from IPvSWStreamingChannelSource.

◆ PreRead()

virtual PvResult PvStreamingChannelSourceTrigger::PreRead ( IPvRegister aRegister)
virtual

Pre-read notification for trigger-related registers.

Parameters
[in]aRegisterRegister being read.
Returns
Result code.
See also
IPvRegisterEventSink::PreRead

Reimplemented from IPvRegisterEventSink.

◆ PreWrite()

virtual PvResult PvStreamingChannelSourceTrigger::PreWrite ( IPvRegister aRegister)
virtual

Pre-write notification for trigger-related registers.

Parameters
[in]aRegisterRegister being written.
Returns
Result code.
See also
IPvRegisterEventSink::PreWrite

Reimplemented from IPvRegisterEventSink.


The documentation for this class was generated from the following file:

Copyright (c) 2002-2026 Pleora Technologies Inc.
www.pleora.com