Skip to content

Transport Layer#

The Transport Layer Factory or a Transport Layer object are used to enumerate and create pylon Devices. More…

Namespaces#

Name
Pylon::Key
This namespace contains keys for accessing the properties of pylon info objects.

Classes#

Name
class Pylon::DeviceInfoList
STL std::vector like container for Pylon::CDeviceInfo objects.
class Pylon::TlInfoList
STL std::vector like container for Pylon::CTlInfo objects.
class Pylon::AccessModeSet
Collection of access mode bits.
class Pylon::CDeviceInfo
Holds information about an enumerated device.
class Pylon::CTlFactory
the Transport Layer Factory
class Pylon::CTlInfo
Class used for storing the result of the transport layer enumeration process.
struct Pylon::GigEActionCommandResult
Optional result structure of IGigETransportLayer::IssueActionCommand and IGigETransportLayer::IssueScheduledActionCommand.
interface Pylon::IDeviceFactory
Interface to be implemented by device factories used to create devices.
interface Pylon::IInterface
An interface is used to represent a frame grabber board, a network card, etc.
interface Pylon::ITransportLayer
The interface of Transport Layer objects.
interface Pylon::IGigETransportLayer
Extends the ITransportLayer interface by GigE Vision specific functionality.

Types#

Name
enum EDeviceAccessMode { Control = 0x1, Stream = 0x3, Event = 0x4, Exclusive = 0x5, _NumModes}
The available access modes when opening a camera object.
enum EDeviceAccessiblityInfo { Accessibility_Unknown = 0, Accessibility_Ok = 1, Accessibility_Opened = 2, Accessibility_OpenedExclusively = 3, Accessibility_NotReachable = 4}
Information about the accessibility of a device.
enum EGigEActionCommandStatus { GigEActionCommandStatus_Ok = 0, GigEActionCommandStatus_NoRefTime = 0xE1018013, GigEActionCommandStatus_Overflow = 0xE1018015, GigEActionCommandStatus_ActionLate = 0xE1018016}
Lists possible status codes returned by IGigETransportLayer::IssueActionCommand or IGigETransportLayer::IssueScheduledActionCommand.

Functions#

Name
AccessModeSet & set(size_t pos)
Sets the bit at position pos.
AccessModeSet & reset()
Resets all bits to zero.
bool any() const
Returns whether any of the bits is set (i.e., whether at least one bit in the AccessModeSet is set to one).
bool none() const
Returns whether any of the bits is set (i.e., whether at least one bit in the AccessModeSet is set to one).
bool test(size_t pos) const
Returns whether the bit at position pos is set (i.e., whether it is one).
unsigned long to_ulong() const
Returns an unsigned long with the integer value that has the same bits set as the AccessModeSet.
AccessModeSet operator+(EDeviceAccessMode lhs, EDeviceAccessMode rhs)
Creates a set containing lhs and rhs operands.
AccessModeSet **[operator
AccessModeSet operator+(const AccessModeSet & lhs, EDeviceAccessMode rhs)
Adds the operand rhs to the set lhs.
AccessModeSet **[operator
bool operator==(const AccessModeSet & lhs, const AccessModeSet & rhs)
Check if the operand rhs is equal to lhs.
bool operator!=(const AccessModeSet & lhs, const AccessModeSet & rhs)
Check if the operand rhs is not equal to lhs.
std::ostream & operator<<(std::ostream & ostr, const Pylon::AccessModeSet & ams)

Attributes#

Name
const char *const BaslerGigEDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerCamEmuDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerIpCamDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerCameraLinkDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerGenTlDeviceClassPrefix
The actual device class string is made up of this prefix + '/' + [TL Vendor] + '/' + [TL Model].
const char *const BaslerGenTlCxpDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerGenTlBlazeDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerUsbDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

Detailed Description#

The Transport Layer Factory or a Transport Layer object are used to enumerate and create pylon Devices.

An Instant Camera uses a pylon Device internally for operation. The term 'transport layer' is used as an abstraction for a physical interface such as USB, GigE, or Camera Link. You can find more information here:

  • [Transport Layers]
  • [Transport Layer Factory]
  • [Creating a pylon Device]
  • [Enumerating and Creating pylon Devices]

Types Documentation#

enum EDeviceAccessMode#

Enumerator Value Description
Control 0x1 access the control and status registers
Stream 0x3 access a streaming data channel
Event 0x4 access the event data channel
Exclusive 0x5 exclusive access to the device
_NumModes

The available access modes when opening a camera object.

enum EDeviceAccessiblityInfo#

Enumerator Value Description
Accessibility_Unknown 0 The accessibility could not be determined. The state of accessibility is unknown.
Accessibility_Ok 1 The device could be opened.
Accessibility_Opened 2 The device is reachable, but can be opened in read only mode only.
Accessibility_OpenedExclusively 3 The device is reachable, but currently opened exclusively by another application.
Accessibility_NotReachable 4 The device could not be reached or does not exist. No connection to the device is possible.

Information about the accessibility of a device.

enum EGigEActionCommandStatus#

Enumerator Value Description
GigEActionCommandStatus_Ok 0 The device acknowledged the command.
GigEActionCommandStatus_NoRefTime 0xE1018013 The device is not synchronized to a master clock to be used as time reference. Typically used when scheduled action commands cannot be scheduled for a future time since the reference time coming from IEEE 1588 is not locked. The action command has been ignored by the device.
GigEActionCommandStatus_Overflow 0xE1018015 Returned when the scheduled action commands queue is full and the device cannot accept the additional request. The action command has been discarded by the device.
GigEActionCommandStatus_ActionLate 0xE1018016 The requested scheduled action command was requested at a point in time that is in the past. If the time tag of the scheduled action command is in the past (relative to the device timestamp), and if it is a valid action command, then the device will execute this action command immediately and return GigEActionCommandStatus_ActionLate. This status code is used as an indicator to the application requesting the action command that a mis-synchronization might have occurred.

Lists possible status codes returned by IGigETransportLayer::IssueActionCommand or IGigETransportLayer::IssueScheduledActionCommand.

Functions Documentation#

function set#

AccessModeSet & set(
    size_t pos
)

Sets the bit at position pos.

Parameters:

  • pos Order position of the bit whose value is modified. Order positions are counted from the rightmost bit, which is order position 0.

Return: *this

function reset#

AccessModeSet & reset()

Resets all bits to zero.

Return: *this

function any#

bool any() const

Returns whether any of the bits is set (i.e., whether at least one bit in the AccessModeSet is set to one).

Return: true if any of the bits in the AccessModeSet is set (to one), and false otherwise.

function none#

bool none() const

Returns whether any of the bits is set (i.e., whether at least one bit in the AccessModeSet is set to one).

Return: true if any of the bits in the AccessModeSet is set (to one), and false otherwise.

function test#

bool test(
    size_t pos
) const

Returns whether the bit at position pos is set (i.e., whether it is one).

Parameters:

  • pos Order position of the bit whose value is modified. Order positions are counted from the rightmost bit, which is order position 0.

Return: true if the bit at position pos is set, and false if it is not set.

function to_ulong#

unsigned long to_ulong() const

Returns an unsigned long with the integer value that has the same bits set as the AccessModeSet.

Return: Integer value with the same bit representation as the AccessModeSet object.

function operator+#

AccessModeSet operator+(
    EDeviceAccessMode lhs,
    EDeviceAccessMode rhs
)

Creates a set containing lhs and rhs operands.

Parameters:

  • lhs left operand
  • rhs right operand

Return: returns an AccessModeSet containing both operands

function operator|#

AccessModeSet operator|(
    EDeviceAccessMode lhs,
    EDeviceAccessMode rhs
)

Creates a set containing lhs and rhs operands.

Parameters:

  • lhs left operand
  • rhs right operand

function operator+#

AccessModeSet operator+(
    const AccessModeSet & lhs,
    EDeviceAccessMode rhs
)

Adds the operand rhs to the set lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional bit

function operator|#

AccessModeSet operator|(
    const AccessModeSet & lhs,
    EDeviceAccessMode rhs
)

Adds the operand rhs to the set lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional bit

function operator==#

bool operator==(
    const AccessModeSet & lhs,
    const AccessModeSet & rhs
)

Check if the operand rhs is equal to lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional set of bits.

function operator!=#

bool operator!=(
    const AccessModeSet & lhs,
    const AccessModeSet & rhs
)

Check if the operand rhs is not equal to lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional set of bits.

function operator<<#

inline std::ostream & operator<<(
    std::ostream & ostr,
    const Pylon::AccessModeSet & ams
)

STL operator out

Attributes Documentation#

variable BaslerGigEDeviceClass#

const char *const BaslerGigEDeviceClass = "BaslerGigE";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerCamEmuDeviceClass#

const char *const BaslerCamEmuDeviceClass = "BaslerCamEmu";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerIpCamDeviceClass#

const char *const BaslerIpCamDeviceClass = "BaslerIPCam";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerCameraLinkDeviceClass#

const char *const BaslerCameraLinkDeviceClass = "BaslerCameraLink";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerGenTlDeviceClassPrefix#

const char *const BaslerGenTlDeviceClassPrefix = "BaslerGTC";

The actual device class string is made up of this prefix + '/' + [TL Vendor] + '/' + [TL Model].

variable BaslerGenTlCxpDeviceClass#

const char *const BaslerGenTlCxpDeviceClass = "BaslerGTC/Basler/CXP";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerGenTlBlazeDeviceClass#

const char *const BaslerGenTlBlazeDeviceClass = "BaslerGTC/Basler/GenTL_Producer_for_Basler_blaze_101_cameras";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerUsbDeviceClass#

const char *const BaslerUsbDeviceClass = "BaslerUsb";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.