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
CActionTriggerConfiguration(uint32_t DeviceKey, uint32_t GroupKey, uint32_t GroupMask =AllGroupMask)
CActionTriggerConfiguration(const ActionParameter & p)
CActionTriggerConfiguration(const CActionTriggerConfiguration & other)
CActionTriggerConfiguration & operator=(const CActionTriggerConfiguration & rhs)
virtual ~CActionTriggerConfiguration()
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.
const long & DebugGetEventHandlerRegistrationCount()
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.
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#

CActionTriggerConfiguration#

inline CActionTriggerConfiguration(
    uint32_t DeviceKey,
    uint32_t GroupKey,
    uint32_t GroupMask =AllGroupMask
)

CActionTriggerConfiguration#

inline CActionTriggerConfiguration(
    const ActionParameter & p
)

CActionTriggerConfiguration#

inline CActionTriggerConfiguration(
    const CActionTriggerConfiguration & other
)

operator=#

inline CActionTriggerConfiguration & operator=(
    const CActionTriggerConfiguration & rhs
)

~CActionTriggerConfiguration#

inline virtual ~CActionTriggerConfiguration()

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

DestroyConfiguration#

inline virtual void DestroyConfiguration()

Destroys the configuration event handler.

Error Safety:

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

DebugGetEventHandlerRegistrationCount#

inline const long & DebugGetEventHandlerRegistrationCount()

ApplyConfiguration#

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

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

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.


Updated on 5 July 2022 at 15:30:01