Extends the ITransportLayer interface by GigE Vision specific functionality. More...
#include <pylon/gige/GigETransportLayer.h>
Public Member Functions | |
virtual int | EnumerateAllDevices (DeviceInfoList_t &, bool addToList=false)=0 |
Enumerates all available GigE Vision devices. More... | |
virtual void | ForceIp (const String_t &MacAddress, const String_t &IpAddress, const String_t &SubnetMask, const String_t &DefaultGateway)=0 |
"Force" a static IP address configuration in a device identified by its MAC Address More... | |
virtual void | RestartIpConfiguration (const String_t &MacAddress)=0 |
Let a device restart the IP configuration cycle. More... | |
virtual bool | AnnounceRemoteDevice (const String_t &IpAddress, CDeviceInfo *pInfo=NULL)=0 |
Announce that a remote device is going to be used. More... | |
virtual bool | RenounceRemoteDevice (const String_t &IpAddress)=0 |
Stop using remote device. More... | |
virtual bool | BroadcastIpConfiguration (const String_t &MacAddress, bool EnablePersistentIp, bool EnableDhcp, const String_t &IpAddress, const String_t &SubnetMask, const String_t &DefaultGateway, const String_t &UserdefinedName)=0 |
Broadcast a new IP configuration. More... | |
virtual bool | IssueActionCommand (uint32_t deviceKey, uint32_t groupKey, uint32_t groupMask, const String_t &broadcastAddress="255.255.255.255", uint32_t timeoutMs=0, uint32_t *pNumResults=0, GigEActionCommandResult results[]=NULL)=0 |
Issue a broadcast action command. More... | |
virtual bool | IssueScheduledActionCommand (uint32_t deviceKey, uint32_t groupKey, uint32_t groupMask, uint64_t actionTimeNs, const String_t &broadcastAddress="255.255.255.255", uint32_t timeoutMs=0, uint32_t *pNumResults=0, GigEActionCommandResult results[]=NULL)=0 |
Issue a scheduled action command via broadcast. More... | |
virtual CDeviceInfo | CreateDeviceInfo ()=0 |
Creates and returns an 'empty' Device Info object appropriate for the transport layer. More... | |
virtual GenApi::INodeMap * | GetNodeMap ()=0 |
Returns the GenApi node map used for accessing parameters provided by the transport layer. More... | |
virtual int | EnumerateInterfaces (InterfaceInfoList_t &list, bool addToList=false)=0 |
Retrieves a list of available interfaces. More... | |
virtual int | EnumerateDevices (DeviceInfoList_t &list, bool addToList=false)=0 |
Retrieves a list of available devices. More... | |
virtual int | EnumerateDevices (DeviceInfoList_t &list, const DeviceInfoList_t &filter, bool addToList=false)=0 |
Retrieves a list of available devices filtered by given properties, usable for looking for specific devices. More... | |
virtual IPylonDevice * | CreateDevice (const CDeviceInfo &di)=0 |
Creates a camera object from a device info object. More... | |
virtual IPylonDevice * | CreateDevice (const CDeviceInfo &di, const StringList_t &InjectedXmlStrings)=0 |
virtual IPylonDevice * | CreateDevice (const String_t &)=0 |
virtual IPylonDevice * | CreateFirstDevice (const CDeviceInfo &di=CDeviceInfo())=0 |
virtual IPylonDevice * | CreateFirstDevice (const CDeviceInfo &di, const StringList_t &InjectedXmlStrings)=0 |
virtual void | DestroyDevice (IPylonDevice *)=0 |
Destroys a device. More... | |
virtual bool | IsDeviceAccessible (const CDeviceInfo &deviceInfo, AccessModeSet mode=Control, EDeviceAccessiblityInfo *pAccessibilityInfo=NULL)=0 |
This method can be used to check if a camera device can be created and opened. More... | |
Extends the ITransportLayer interface by GigE Vision specific functionality.
|
pure virtual |
Announce that a remote device is going to be used.
IpAddress | address of device in "dot notation" |
pInfo | This optional parameter holds the full device info iff found |
|
pure virtual |
Broadcast a new IP configuration.
MacAddress | MAC address as a string, no delimiters are used. e.g., 003053061a58 |
EnablePersistentIp | If true, a persistent Ip address will be set |
EnableDhcp | If true, DHCP is enabled |
IpAddress | Device's new IP address, "dot notation", e.g., 192.168.1.2 |
SubnetMask | Device's new SubnetMask, "dot notation", e.g. 255.255.255.0 |
DefaultGateway | Device's new DefaultGateway, "dot notation", e.g., 192.168.1.1 |
UserdefinedName | Device's new UserdefinedName, maximal 16 character |
|
pure virtualinherited |
Creates a camera object from a device info object.
This method accepts either a device info object from a device enumeration or a user-provided device info object. User-provided device info objects can be preset with properties required for a device, e.g. the user-provided name or the serial number. The implementation tries to find a matching camera by using device enumeration. When the device class property is set, the search is limited to the required transport layer.
If the device creation fails, a GenApi::GenericException will be thrown.
di | Device info object containing all information needed to identify exactly one device. |
Implemented in Pylon::CTlFactory.
|
pure virtualinherited |
Creates a camera object from a device info object, injecting additional GenICam XML definition strings. Currently only one injected xml string is supported.
Implemented in Pylon::CTlFactory.
|
pure virtualinherited |
This method is deprecated. Use CreateDevice receiving a CDeviceInfo object that contains the full name as property. Example: IPylonDevice* device = TlFactory.CreateDevice( CDeviceInfo().SetFullName( fullname)); Creates a device by its unique name (i.e. fullname as returned by CDeviceInfo::GetFullName ).
Implemented in Pylon::CTlFactory.
|
pure virtualinherited |
Creates and returns an 'empty' Device Info object appropriate for the transport layer.
Device Info objects returned by the CreateDeviceInfo() method are used to create devices from device info objects that are not the result of a device enumeration process but are provided by the user. The user is responsible for filling in the fields of the Device Info object that are needed to identify and create a device.
Example: To open a GigE device for which the IP address is known, the user lets the Transport Layer object create a Device Info object, specifies the IP address and passes the device info object to the CreateDevice() method.
|
pure virtualinherited |
If multiple devices match the provided properties, the first device found is created. The order in which the devices are found can vary from call to call.
Implemented in Pylon::CTlFactory.
|
pure virtualinherited |
Creates the first found camera device matching the provided properties, injecting additional GenICam XML definition strings. Currently only one injected xml string is supported.
Implemented in Pylon::CTlFactory.
|
pure virtualinherited |
Destroys a device.
Implemented in Pylon::CTlFactory.
|
pure virtual |
Enumerates all available GigE Vision devices.
In contrast to the ITransportLayer::EnumerateDevices method, devices having a subnet configured that is different from the subnet of the application will be listed.
|
pure virtualinherited |
Retrieves a list of available devices.
The list contains Pylon::CDeviceInfo objects used for the device creation.
By default, the list passed in will be cleared before the device discovery is started.
list | List to be filled with device info objects. |
addToList | If true, the found devices will be added to the list instead of deleting the list. |
Implemented in Pylon::CTlFactory.
|
pure virtualinherited |
Retrieves a list of available devices filtered by given properties, usable for looking for specific devices.
The list contains Pylon::CDeviceInfo objects used for the device creation. By default, the list passed in will be cleared before the device discovery is started. The filter list can contain a list of device info objects containing properties a device must have, e.g. the user-provided name or the serial number. A device is returned, if it matches the properties of any of the device info objects in the filter list. When the device class property is set in the filter device info objects, the search is limited to the required transport layers.
list | List to be filled with device info objects. |
filter | A list of device info objects with user-provided properties that a device can match. |
addToList | If true, found devices will be added to the list instead of deleting the list. |
Implemented in Pylon::CTlFactory.
|
pure virtualinherited |
Retrieves a list of available interfaces.
The concept of interfaces is not supported by all transport layers. Depending on the transport layer, an interface may represent a frame grabber board, a network card, etc.
By default, the list passed in will be cleared.
If the transport layer doesn't support the interface concept, EnumerateInterfaces() always returns 0.
list | The list to be filled with interface info objects |
addToList | If true, found devices will be added to the list instead of deleting the list |
|
pure virtual |
"Force" a static IP address configuration in a device identified by its MAC Address
MacAddress | MAC address as a string, no delimiters are used. e.g., 003053061a58 |
IpAddress | Temporary IP address, "dot notation", e.g., 192.168.1.2 |
SubnetMask | Temporary SubnetMask, "dot notation", e.g. 255.255.255.0 |
DefaultGateway | Temporary DefaultGateway, "dot notation", e.g., 192.168.1.1 |
|
pure virtualinherited |
Returns the GenApi node map used for accessing parameters provided by the transport layer.
|
pure virtualinherited |
This method can be used to check if a camera device can be created and opened.
This method accepts either a device info object from a device enumeration or a user-provided device info object. User-provided device info objects can be preset with properties required for a device, e.g. the user-provided name or the serial number. The implementation tries to find a matching camera by using device enumeration. When the device class property is set, the search is limited to the required transport layer.
[in] | deviceInfo | Properties of the camera device. |
[in] | mode | Used for defining how a device is accessed. The use of the mode information is transport layer-specific. For IIDC 1394 devices the mode information is ignored. For GigE devices the Exclusive and Control flags are used for defining how a device is accessed. |
[in] | pAccessibilityInfo | Optionally provides more information about why a device is not accessible. |
deviceInfo
object properties specify exactly one device. This is the case when the device info object has been obtained using device enumeration.Implemented in Pylon::CTlFactory.
|
pure virtual |
Issue a broadcast action command.
[in] | deviceKey | The device key addresses devices managed by an application. The device key is only known to the application controlling its camera devices and it ensures that only this application can trigger the camera devices. Therefore the device key cannot be read from a device. An exact match of the send deviceKey and the device key stored in a device is required for executing an action. |
[in] | groupKey | The group key is used to create groups of devices or actions. An exact match of the send groupKey and the group key stored in a device for an action is required for executing an action. |
[in] | groupMask | The groupMask is a bit mask that allows to send an action to a subgroup of the devices addressed by the deviceKey groupKey pair. The result of a bitwise AND operation of groupMask and the group mask stored in a device for an action must be non-zero for executing an action. |
[in] | broadcastAddress | BroadcastAddress in dot notation where the command will be broadcast to, e.g. 255.255.255.255 (all adapters, default), 192.168.1.255 (all devices in a single subnet 192.168.1.xxx), 192.168.1.38 (single device). See the note below. |
[in] | timeoutMs | Optional: Time in milliseconds the call is waiting for acknowledges of the addressed devices. Waiting for acknowledges is stopped if pNumResults have been received. This parameter can be 0 if a check of action command results is not required. |
[in,out] | pNumResults | Optional: The number of results in the results array. The value passed should be equal to the expected number of devices that acknowledge the command. Returns the number of received results. This parameter is ignored if timeoutMs is 0. Thus this parameter can be NULL if timeoutMs is 0. |
[out] | results | Optional: An Array with *pNumResults elements to hold the action command result status. The buffer is filled beginning from the start. Remaining results are not changed if less results are received than result items available. This parameter is ignored if timeoutMs is 0. Thus this parameter can be NULL if timeoutMs is 0. |
Status
of all results is GigEActionCommandStatus_Ok
. Returns true if no results have been requested.The action command feature lets you trigger actions in multiple devices (e.g. cameras) at roughly the same time or at a defined point in time (scheduled action command) by using a single broadcast protocol message (without extra cabling). Action commands are used in cameras in the same way as for example the digital input lines.
See Grab_UsingActionCommand and Pylon::CActionTriggerConfiguration for more information.
groupMask
must not be 0. pNumResult
, *pNumResult
and results
must not be 0 if a timeoutMs
value other than 0 is passed.
|
pure virtual |
Issue a scheduled action command via broadcast.
[in] | deviceKey | The device key addresses devices managed by an application. The device key is only known to the application controlling its camera devices and it ensures that only this application can trigger the camera devices. Therefore the device key cannot be read from a device. An exact match of the send deviceKey and the device key stored in a device is required for executing an action. |
[in] | groupKey | The group key is used to create groups of devices or actions. An exact match of the send groupKey and the group key stored in a device for an action is required for executing an action. |
[in] | groupMask | The groupMask is a bit mask that allows to send an action to a subgroup of the devices addressed by the deviceKey groupKey pair. The result of a bitwise AND operation of groupMask and the group mask stored in a device for an action must be non-zero for executing an action. |
[in] | broadcastAddress | BroadcastAddress in dot notation where the command will be broadcast to, e.g. 255.255.255.255 (all adapters, default), 192.168.1.255 (all devices in a single subnet 192.168.1.xxx), 192.168.1.38 (single device). See the note below. |
[in] | timeoutMs | Optional: Time in milliseconds the call is waiting for acknowledges of the addressed devices. Waiting for acknowledges is stopped if pNumResults have been received. This parameter can be 0 if a check of action command results is not required. |
[in,out] | pNumResults | Optional: The number of results in the results array. The value passed should be equal to the expected number of devices that acknowledge the command. Returns the number of received results. This parameter is ignored if timeoutMs is 0. Thus this parameter can be NULL if timeoutMs is 0. |
[out] | results | Optional: An Array with *pNumResults elements to hold the action command result status. The buffer is filled beginning from the start. Remaining results are not changed if less results are received than result items available. This parameter is ignored if timeoutMs is 0. Thus this parameter can be NULL if timeoutMs is 0. |
Status
of all results is GigEActionCommandStatus_Ok
. Returns true if no results have been requested.The action command feature lets you trigger actions in multiple devices (e.g. cameras) at roughly the same time or at a defined point in time (scheduled action command) by using a single broadcast protocol message (without extra cabling). Action commands are used in cameras in the same way as for example the digital input lines.
See Grab_UsingActionCommand and Pylon::CActionTriggerConfiguration for more information.
groupMask
must not be 0. pNumResult
, *pNumResult
and results
must not be 0 if a timeoutMs
value other than 0 is passed. [in] | actionTimeNs | Time in nanoseconds when the action is to be executed. The actual value depends on the used master clock. A master clock value can be obtained for instance for a set of synchronized camera devices by reading the timestamp value (GevTimestampValue) after latching the timestamp value (GevTimestampControlLatch) from one camera device of the set |
actionTimeNs
must be smaller than or equal INT64_MAX.
|
pure virtual |
Stop using remote device.
IpAddress | address of device in "dot notation" |
|
pure virtual |
Let a device restart the IP configuration cycle.
MacAddress | MAC address as a string, no delimiters are used, e.g., 003053061a58 |