Skip to content

Pylon::CActionTriggerConfiguration#

Module: Instant Camera / Universal Instant Camera for All Basler Devices

Changes the configuration of the camera so that it is triggered by the first available action command. More…

#include <pylon/gige/ActionTriggerConfiguration.h>

Inherits from Pylon::CConfigurationEventHandler

Public Classes#

Name
struct ActionParameter

Public Functions#

Name
virtual void OnAttach(CInstantCamera & camera)
This method is called before a Pylon Device (Pylon::IPylonDevice) is attached by calling the Instant Camera object's Attach() method.
virtual void OnAttached(CInstantCamera & camera)
This method is called after a Pylon Device (Pylon::IPylonDevice) has been attached by calling the Instant Camera object's Attach() method.
virtual void OnDetach(CInstantCamera & camera)
This method is called before the attached Pylon Device is detached from the Instant Camera object.
virtual void OnDetached(CInstantCamera & camera)
This method is called after the attached Pylon Device has been detached from the Instant Camera object.
virtual void OnDestroy(CInstantCamera & camera)
This method is called before the attached Pylon Device is destroyed.
virtual void OnDestroyed(CInstantCamera & camera)
This method is called after the attached Pylon Device has been destroyed.
virtual void OnOpen(CInstantCamera & camera)
This method is called before the attached Pylon Device is opened.
virtual void OnClose(CInstantCamera & camera)
This method is called before the attached Pylon Device is closed.
virtual void OnClosed(CInstantCamera & camera)
This method is called after the attached Pylon Device has been closed.
virtual void OnGrabStart(CInstantCamera & camera)
This method is called before a grab session is started.
virtual void OnGrabStarted(CInstantCamera & camera)
This method is called after a grab session has been started.
virtual void OnGrabStop(CInstantCamera & camera)
This method is called before a grab session is stopped.
virtual void OnGrabStopped(CInstantCamera & camera)
This method is called after a grab session has been stopped.
virtual void OnGrabError(CInstantCamera & camera, const char * errorMessage)
This method is called when an exception has been triggered during grabbing.
virtual void OnCameraDeviceRemoved(CInstantCamera & camera)
This method is called when a camera device removal from the PC has been detected.
virtual void OnConfigurationRegistered(CInstantCamera & camera)
This method is called when the configuration event handler has been registered.
virtual void OnConfigurationDeregistered(CInstantCamera & camera)
This method is called when the configuration event handler has been deregistered.
virtual void DestroyConfiguration()
Destroys the configuration event handler.
void ApplyConfiguration(GenApi::INodeMap & deviceNodeMap, const ActionParameter & p)
Apply action trigger configuration to a given camera device node map.
void ApplyConfiguration(GenApi::INodeMap & deviceNodeMap, uint32_t DeviceKey, uint32_t GroupKey, uint32_t GroupMask =AllGroupMask)
Apply action trigger configuration to a given camera device node map.

Additional inherited members#

Public Functions inherited from Pylon::CConfigurationEventHandler

Name
CConfigurationEventHandler()
Create.
CConfigurationEventHandler(const CConfigurationEventHandler & )
Copy.
CConfigurationEventHandler & operator=(const CConfigurationEventHandler & )
Assign.
virtual ~CConfigurationEventHandler()
Destruct.

Detailed Description#

class Pylon::CActionTriggerConfiguration;

Changes the configuration of the camera so that it is triggered by the first available action command.

This configuration enables the frame start trigger and disables all other trigger types. As trigger source the first available action command is selected, i.e., the camera will be triggered by action commands issued by the application.

In contrast to using the software trigger triggering with action commands allows to trigger multiple cameras simultaneously.

Either register this configuration as an Instant Camera's event handler or apply the configuration to the node map of an opened pylon device using one of the ApplyConfiguration methods.

The CActionTriggerConfiguration is provided as header-only file. The code can be copied and modified for creating own configuration classes.

Public Functions Documentation#

function OnAttach#

inline virtual void OnAttach(
    CInstantCamera & camera
)

This method is called before a Pylon Device (Pylon::IPylonDevice) is attached by calling the Instant Camera object's Attach() method.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

This method can not be used for detecting that a camera device has been attached to the PC. The camera's Attach() method must not be called from here or from subsequent calls to avoid infinite recursion.

function OnAttached#

inline virtual void OnAttached(
    CInstantCamera & camera
)

This method is called after a Pylon Device (Pylon::IPylonDevice) has been attached by calling the Instant Camera object's Attach() method.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

This method can not be used for detecting that a camera device has been attached to the PC. The camera's Attach() method must not be called from here or from subsequent calls to avoid infinite recursion.

function OnDetach#

inline virtual void OnDetach(
    CInstantCamera & camera
)

This method is called before the attached Pylon Device is detached from the Instant Camera object.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

The camera's Detach() method must not be called from here or from subsequent calls to avoid infinite recursion.

function OnDetached#

inline virtual void OnDetached(
    CInstantCamera & camera
)

This method is called after the attached Pylon Device has been detached from the Instant Camera object.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

function OnDestroy#

inline virtual void OnDestroy(
    CInstantCamera & camera
)

This method is called before the attached Pylon Device is destroyed.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

Camera DestroyDevice must not be called from here or from subsequent calls to avoid infinite recursion.

function OnDestroyed#

inline virtual void OnDestroyed(
    CInstantCamera & camera
)

This method is called after the attached Pylon Device has been destroyed.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

function OnOpen#

inline virtual void OnOpen(
    CInstantCamera & camera
)

This method is called before the attached Pylon Device is opened.

Parameters:

  • camera The source of the call.

Error Safety:

Exceptions from this call will propagate through. The notification of event handlers stops when an exception is triggered.

Thread Safety:

This method is called inside the lock of the camera object.

function OnClose#

inline virtual void OnClose(
    CInstantCamera & camera
)

This method is called before the attached Pylon Device is closed.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

Camera Close must not be called from here or from subsequent calls to avoid infinite recursion.

function OnClosed#

inline virtual void OnClosed(
    CInstantCamera & camera
)

This method is called after the attached Pylon Device has been closed.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

function OnGrabStart#

inline virtual void OnGrabStart(
    CInstantCamera & camera
)

This method is called before a grab session is started.

Parameters:

  • camera The source of the call.

Error Safety:

Exceptions from this call will propagate through. The notification of event handlers stops when an exception is triggered.

Thread Safety:

This method is called inside the lock of the camera object.

Camera StartGrabbing must not be called from here or from subsequent calls to avoid infinite recursion.

function OnGrabStarted#

inline virtual void OnGrabStarted(
    CInstantCamera & camera
)

This method is called after a grab session has been started.

Parameters:

  • camera The source of the call.

Error Safety:

Exceptions from this call will propagate through. The notification of event handlers stops when an exception is triggered.

Thread Safety:

This method is called inside the lock of the camera object.

function OnGrabStop#

inline virtual void OnGrabStop(
    CInstantCamera & camera
)

This method is called before a grab session is stopped.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

Camera StopGrabbing must not be called from here or from subsequent calls to avoid infinite recursion.

function OnGrabStopped#

inline virtual void OnGrabStopped(
    CInstantCamera & camera
)

This method is called after a grab session has been stopped.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

function OnGrabError#

inline virtual void OnGrabError(
    CInstantCamera & camera,
    const char * errorMessage
)

This method is called when an exception has been triggered during grabbing.

Parameters:

  • camera The source of the call.
  • errorMessage The message of the exception that signaled an error during grabbing.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object.

An exception has been triggered by a grab thread. The grab will be stopped after this event call.

function OnCameraDeviceRemoved#

inline virtual void OnCameraDeviceRemoved(
    CInstantCamera & camera
)

This method is called when a camera device removal from the PC has been detected.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored. All event handlers are notified.

Thread Safety:

This method is called inside the lock of the camera object from an additional thread.

The Pylon Device attached to the Instant Camera is not operable after this event. After it is made sure that no access to the Pylon Device or any of its node maps is made anymore the Pylon Device should be destroyed using InstantCamera::DeviceDestroy(). The access to the Pylon Device can be protected using the lock provided by GetLock(), e.g. when accessing parameters.

function OnConfigurationRegistered#

inline virtual void OnConfigurationRegistered(
    CInstantCamera & camera
)

This method is called when the configuration event handler has been registered.

Parameters:

  • camera The source of the call.

Error Safety:

Exceptions from this call will propagate through.

Thread Safety:

This method is called inside the lock of the camera object.

function OnConfigurationDeregistered#

inline virtual void OnConfigurationDeregistered(
    CInstantCamera & camera
)

This method is called when the configuration event handler has been deregistered.

Parameters:

  • camera The source of the call.

Error Safety:

C++ exceptions from this call will be caught and ignored.

Thread Safety:

This method is called inside the lock of the camera object.

The configuration event handler is automatically deregistered when the Instant Camera object is destroyed.

function DestroyConfiguration#

inline virtual void DestroyConfiguration()

Destroys the configuration event handler.

Error Safety:

C++ exceptions from this call will be caught and ignored.

function ApplyConfiguration#

static inline void ApplyConfiguration(
    GenApi::INodeMap & deviceNodeMap,
    const ActionParameter & p
)

Apply action trigger configuration to a given camera device node map.

function ApplyConfiguration#

static inline void ApplyConfiguration(
    GenApi::INodeMap & deviceNodeMap,
    uint32_t DeviceKey,
    uint32_t GroupKey,
    uint32_t GroupMask =AllGroupMask
)

Apply action trigger configuration to a given camera device node map.