Skip to content

Pylon::IPylonDevice#

Module: Low Level API

Low Level API: Interface for camera objects.

#include <pylon/Device.h>

Inherits from Pylon::IDevice

Inherited by Pylon::IPylonGigEDevice

Public Functions#

Name
virtual uint32_t GetNumStreamGrabberChannels() const =0
Returns the number of stream grabbers the camera object provides.
virtual IStreamGrabber * GetStreamGrabber(uint32_t index) =0
Returns a pointer to a stream grabber.
virtual IEventGrabber * GetEventGrabber() =0
Returns a pointer to an event grabber.
virtual GenApi::INodeMap * GetNodeMap() =0
Returns the set of camera parameters.
virtual GenApi::INodeMap * GetTLNodeMap() =0
Returns the set of camera related transport layer parameters.
virtual Pylon::IChunkParser * CreateChunkParser() =0
Creates a chunk parser used to update those camera object members reflecting the content of additional data chunks appended to the image data.
virtual void DestroyChunkParser(Pylon::IChunkParser * pChunkParser) =0
Deletes a chunk parser.
virtual IEventAdapter * CreateEventAdapter() =0
Creates an Event adapter.
virtual void DestroyEventAdapter(IEventAdapter * ) =0
Deletes an Event adapter.
virtual ISelfReliantChunkParser * CreateSelfReliantChunkParser() =0
Creates a a self-reliant chunk parser, returns NULL if not supported.
virtual void DestroySelfReliantChunkParser(ISelfReliantChunkParser * ) =0
Deletes a self-reliant chunk parser.
virtual DeviceCallbackHandle RegisterRemovalCallback(DeviceCallback & d) =0
Registers a surprise removal callback object.
virtual bool DeregisterRemovalCallback(DeviceCallbackHandle h) =0
Deregisters a surprise removal callback object.
virtual void Open(AccessModeSet mode =([Stream](namespace_pylon.md
virtual void Close() =0
Closes a device.
virtual bool IsOpen() const =0
Checks if a device already is opened.
virtual AccessModeSet AccessMode(void ) const =0
Returns the access mode used to open the device.
virtual const CDeviceInfo & GetDeviceInfo() const =0
Returns the device info object storing information like the device's name.

Public Functions Documentation#

function GetNumStreamGrabberChannels#

virtual uint32_t GetNumStreamGrabberChannels() const =0

Returns the number of stream grabbers the camera object provides.

function GetStreamGrabber#

virtual IStreamGrabber * GetStreamGrabber(
    uint32_t index
) =0

Returns a pointer to a stream grabber.

Parameters:

  • index The number of the grabber to return

Return: A pointer to a stream grabber, NULL if index is out of range

Stream grabbers (IStreamGrabber) are the objects used to grab images from a camera device. A camera device might be able to send image data over more than one logical channel called stream. A stream grabber grabs data from one single stream.

function GetEventGrabber#

virtual IEventGrabber * GetEventGrabber() =0

Returns a pointer to an event grabber.

Event grabbers are used to handle events sent from a camera device.

function GetNodeMap#

virtual GenApi::INodeMap * GetNodeMap() =0

Returns the set of camera parameters.

Return: Pointer to the GenApi node map holding the parameters

function GetTLNodeMap#

virtual GenApi::INodeMap * GetTLNodeMap() =0

Returns the set of camera related transport layer parameters.

Return: Pointer to the GenApi node holding the transport layer parameter. If there are no transport layer parameters for the device, NULL is returned.

function CreateChunkParser#

virtual Pylon::IChunkParser * CreateChunkParser() =0

Creates a chunk parser used to update those camera object members reflecting the content of additional data chunks appended to the image data.

Return: Pointer to the created chunk parser

Note Don't try to delete a chunk parser pointer by calling free or delete. Instead, use the DestroyChunkParser() method

function DestroyChunkParser#

virtual void DestroyChunkParser(
    Pylon::IChunkParser * pChunkParser
) =0

Deletes a chunk parser.

Parameters:

  • pChunkParser Pointer to the chunk parser to be deleted

function CreateEventAdapter#

virtual IEventAdapter * CreateEventAdapter() =0

Creates an Event adapter.

function DestroyEventAdapter#

virtual void DestroyEventAdapter(
    IEventAdapter *
) =0

Deletes an Event adapter.

function CreateSelfReliantChunkParser#

virtual ISelfReliantChunkParser * CreateSelfReliantChunkParser() =0

Creates a a self-reliant chunk parser, returns NULL if not supported.

function DestroySelfReliantChunkParser#

virtual void DestroySelfReliantChunkParser(
    ISelfReliantChunkParser *
) =0

Deletes a self-reliant chunk parser.

function RegisterRemovalCallback#

virtual DeviceCallbackHandle RegisterRemovalCallback(
    DeviceCallback & d
) =0

Registers a surprise removal callback object.

Parameters:

  • d reference to a device callback object

Return: A handle which must be used to deregister a callback It is recommended to use one of the RegisterRemovalCallback() helper functions to register a callback.

Example how to register a C function

void MyRemovalCallback( Pylon::IPylonDevice* pDevice)
{
    // handle removal
}

DeviceCallbackHandle h =
    Pylon::RegisterRemovalCallback( m_pCamera, &MyRemovalCallback);

Example how to register a class member function

class C
{
    void MyRemovalCallback( Pylon::IPylonDevice* pDevice )
    {
      // handle removal
    }
} c;

DeviceCallbackHandle h =
    Pylon::RegisterRemovalCallback( m_pCamera, c, &C::MyRemovalCallback);

function DeregisterRemovalCallback#

virtual bool DeregisterRemovalCallback(
    DeviceCallbackHandle h
) =0

Deregisters a surprise removal callback object.

Parameters:

  • h Handle of the callback to be removed

function Open#

virtual void Open(
    AccessModeSet mode =(Stream|Control|Event)
) =0

Opens a device.

Parameters:

  • mode The desired device access mode

The open method initializes all involved drivers and establishes a connection to the device.

A device may support different access modes, e.g. EDeviceAccessMode::Exclusive providing an exclusive access to the device.

function Close#

virtual void Close() =0

Closes a device.

The close method closes all involved drivers and an existing connection to the device will be released. Other applications now can access the device.

function IsOpen#

virtual bool IsOpen() const =0

Checks if a device already is opened.

Return: true, when the device already has been opened by the calling application.

Note When a device has been opened an application A, IsOpen() will return false when called by an application B not having called the device's open method.

function AccessMode#

virtual AccessModeSet AccessMode(
    void
) const =0

Returns the access mode used to open the device.

function GetDeviceInfo#

virtual const CDeviceInfo & GetDeviceInfo() const =0

Returns the device info object storing information like the device's name.

Return: A reference to the device info object used to create the device by a device factory