Skip to content

Pylon::IPylonGigEDevice#

Module: Low Level API

Low Level API: The interface for Basler GigE camera devices. More…

#include <pylon/gige/PylonGigEDevice.h>

Inherits from Pylon::IPylonDevice, Pylon::IDevice

Public Functions#

Name
virtual void ChangeIpConfiguration(bool EnablePersistentIp, bool EnableDhcp) =0
Enables/disables use of persistent IP address and DHCP usage.
virtual void GetPersistentIpAddress(String_t & IpAddress, String_t & SubnetMask, String_t & DefaultGateway) =0
Reads the persistent IP address from the device.
virtual void SetPersistentIpAddress(const String_t & IpAddress, const String_t & SubnetMask, const String_t & DefaultGateway) =0
Writes a persistent IP address to the device.
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.

Detailed Description#

class Pylon::IPylonGigEDevice;

Low Level API: The interface for Basler GigE camera devices.

This interface extends the IPylonDevice interface.

Public Functions Documentation#

function ChangeIpConfiguration#

virtual void ChangeIpConfiguration(
    bool EnablePersistentIp,
    bool EnableDhcp
) =0

Enables/disables use of persistent IP address and DHCP usage.

function GetPersistentIpAddress#

virtual void GetPersistentIpAddress(
    String_t & IpAddress,
    String_t & SubnetMask,
    String_t & DefaultGateway
) =0

Reads the persistent IP address from the device.

function SetPersistentIpAddress#

virtual void SetPersistentIpAddress(
    const String_t & IpAddress,
    const String_t & SubnetMask,
    const String_t & DefaultGateway
) =0

Writes a persistent IP address to the device.

Writing the persistent IP address does not change the IP configuration. Use the ChangeIpConfiguration() method to enable the usage of persistent IP addresses.

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