VisionBox Interface Library
1.7.9.0 (2023-09-08)
|
|
The factory for devices.
See also Device Factory for a detailed description.
|
bool | CloseDevice (iDevice *pDevice) |
| Closes a device. More...
|
|
bool | GetAPIVersion (Version4Parts &APIVersion) |
| Returns the version of this library. More...
|
|
bool | GetDeviceInfo (DeviceInfo *pDeviceInfoList, unsigned int MaxNumberItems, unsigned int &NumberOfListItems) |
| Returns a list of available devices for this hardware entity. More...
|
|
bool | GetFirmwareVersion (Version4Parts &FirmwareVersion, unsigned int Index=0) |
| Returns the firmware version for this hardware entity. More...
|
|
bool | GetHardwareType (eHardwareType &HardwareType) |
| Returns the type of the underlying hardware platform for this factory. More...
|
|
bool | GetNumberOfDeviceTypes (unsigned int &NumberOfDeviceTypes) |
| Returns the number of different device types for this hardware entity. More...
|
|
bool | GetVersionString (char *pText, unsigned int MaxStringSize) |
| Returns a string with version data from all components. (DLL, driver, FPGA, ...) More...
|
|
bool | IsOpen (eDeviceType Type, int Index, bool &DeviceState) |
| Checks if the device open. More...
|
|
bool | OpenDevice (class CameraLinkIn *&pCameraLinkIn, int Index=0) |
| Opens a CameraLinkIn device and returns the new device object. More...
|
|
bool | OpenDevice (class CameraTrigger *&pCameraTrigger, int Index=0) |
| Opens a CameraTrigger device and returns the new device object. More...
|
|
bool | OpenDevice (class DigitalInput *&pDigitalInput, int Index=0) |
| Opens a DigitalInput device and returns the new device object. More...
|
|
bool | OpenDevice (class DigitalOutput *&pDigitalOutput, int Index=0) |
| Opens a DigitalOutput device and returns the new device object. More...
|
|
bool | OpenDevice (class IOScheduler *&pIOScheduler, int Index=0) |
| Opens a IOScheduler device and returns the new device object. More...
|
|
bool | OpenDevice (class LCD *&pLCD) |
| Opens a LCD device and returns the new device object. More...
|
|
bool | OpenDevice (class Led *&pLed) |
| Opens a Led device and returns the new device object. More...
|
|
bool | OpenDevice (class Multiplexer *&pMultiplexer, int Index=0) |
| Opens a Multiplexer device and returns the new device object. More...
|
|
bool | OpenDevice (class PowerOverEthernet *&pPowerOverEthernet) |
| Opens a PowerOverEthernet device and returns the new device object. More...
|
|
bool | OpenDevice (class Rs232 *&pRs232, int Index=0) |
| Opens a Rs232 device and returns the new device object. More...
|
|
bool | OpenDevice (class Rs422 *&pRs422, int Index=0) |
| Opens a Rs422 device and returns the new device object. More...
|
|
bool | OpenDevice (class Service *&pService) |
| Opens a Service device and returns the new device object. More...
|
|
bool | OpenDevice (class Strobe *&pStrobe, int Index=0) |
| Opens a Strobe device and returns the new device object. More...
|
|
bool | OpenDevice (class TriggerGenerator *&pTriggerGenerator) |
| Opens a TriggerGenerator device and returns the new device object. More...
|
|
bool | OpenDevice (class TriggerOverEthernet *&pTriggerOverEthernet) |
| Opens a TriggerOverEthernet device and returns the new device object. More...
|
|
bool | OpenDevice (eDeviceType Type, int Index, iDevice **ppNewDevice) |
| Opens a device and returns a new device object. More...
|
|
◆ CloseDevice()
bool VIB::VIBSystem::CloseDevice |
( |
iDevice * |
pDevice | ) |
|
Closes a device.
Theoretically it is possible to use another factory to clean up the device as previously used for creation.
- Parameters
-
pDevice | Previously opened device class object |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ CreateInstance() [1/3]
bool VIB::VIBSystem::CreateInstance |
( |
VIBSystem ** |
ppVIBSystem | ) |
|
|
static |
Creates a factory instance for the mainboard.
This function call is identical to CreateInstance(ppVIBSystem
, SYST_BASEBOARD, 0
).
- Parameters
-
ppVIBSystem | Double pointer which contains the pointer to the new VIBSystem instance. |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ CreateInstance() [2/3]
bool VIB::VIBSystem::CreateInstance |
( |
VIBSystem ** |
ppVIBSystem, |
|
|
const eSystemType |
SysType, |
|
|
const unsigned int |
Index |
|
) |
| |
|
static |
Creates a factory instance for the specified hardware entity.
See Hardware support for a mapping of eSystemType to the actual hardware entity for each platform.
- Parameters
-
ppVIBSystem | Double pointer which is used to store the pointer to the new instance |
SysType | Desired system type |
Index | Index for the specified system type, 0 ... (SystemInfo::GetNumberEntities() - 1) |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
char ErrorText[1024] = {"?"};
{
printf("Error: %s\n", ErrorText);
return -1;
}
◆ CreateInstance() [3/3]
bool VIB::VIBSystem::CreateInstance |
( |
VIBSystem ** |
ppVIBSystem, |
|
|
eHardwareType |
HardwareType, |
|
|
unsigned int |
Index |
|
) |
| |
|
static |
◆ DeleteInstance()
bool VIB::VIBSystem::DeleteInstance |
( |
VIBSystem * |
pObj | ) |
|
|
static |
Releases the device object.
The function deletes only the factory. The call will not fail or block until all open devices are closed.
- Parameters
-
pObj | Pointer to VIBSystem object |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ GetAPIVersion()
Returns the version of this library.
- Parameters
-
APIVersion | Version data (major/minor/patch/build) |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ GetDeviceInfo()
bool VIB::VIBSystem::GetDeviceInfo |
( |
DeviceInfo * |
pDeviceInfoList, |
|
|
unsigned int |
MaxNumberItems, |
|
|
unsigned int & |
NumberOfListItems |
|
) |
| |
Returns a list of available devices for this hardware entity.
The function returns an array of DeviceInfo containing all devices for the associated system (hardware entity).
- Parameters
-
pDeviceInfoList | Device list |
MaxNumberItems | Maximum number of list items |
NumberOfListItems | Number of returned items |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
unsigned int NumTypes;
goto error;
unsigned int NumberOfListItems;
if ( !pVIBSystem->
GetDeviceInfo(pDeviceList, NumTypes, NumberOfListItems) )
goto error;
for(unsigned int i=0; i<NumberOfListItems; i++)
{
printf("Number of strobe devices: %d\n", pDeviceList[i].GetNumberEntities());
}
◆ GetFirmwareVersion()
bool VIB::VIBSystem::GetFirmwareVersion |
( |
Version4Parts & |
FirmwareVersion, |
|
|
unsigned int |
Index = 0 |
|
) |
| |
Returns the firmware version for this hardware entity.
There can be a different number of firmware components for each hardware type. The following table lists the different firmware components:
Platform | Hardware component
(see eHardwareType) | Firmware component
index | Description |
VisionBox AGE-X1 | Mainboard | 0 | FPGA (RTCC) |
VisionBox AGE-X2 | Mainboard | 0 | FPGA (RTCC) |
Smart NIC | 0 | Microcontroller |
Camera Link | 0 | FPGA |
VisionBox AGE-X3 | Mainboard | 0 | FPGA (RTCC) |
1 | Microcontroller |
VisionBox AGE-X4 | Mainboard | not available, only VisionBoards are supported |
VisionBox AGE-X5 | Mainboard | 0 | FPGA (RTCC) |
Smart NIC | 0 | Microcontroller |
Camera Link | 0 | FPGA |
VisionBox LE MANS | Mainboard | 0 | FPGA (RTCC) |
VisionBox DAYTONA | Mainboard | 0 | FPGA (RTCC) |
VisionBoards | Machine Vision Controller | 0 | FPGA (RTCC) |
PCIe Smart NIC board | 0 | Microcontroller |
PCIe Camera Link board | 0 | FPGA |
VisionCam XM | Mainboard | 0 | FPGA (RTCC) |
VisionSensor PV / PV2 | Mainboard | 0 | PRU (programmable real-time unit) |
VisionSensor PV3 | Mainboard | 0 | FPGA |
Machine Vision Manager | Mainboard | 0 | FPGA (RTCC) |
1 | Microcontroller |
- Parameters
-
FirmwareVersion | Firmware version structure |
Index | Index of the firmware component |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ GetHardwareType()
bool VIB::VIBSystem::GetHardwareType |
( |
eHardwareType & |
HardwareType | ) |
|
Returns the type of the underlying hardware platform for this factory.
- Parameters
-
HardwareType | Hardware type |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ GetLastErrorString()
void VIB::VIBSystem::GetLastErrorString |
( |
char & |
pText, |
|
|
unsigned int |
MaxStringSize |
|
) |
| |
|
static |
Returns the last error message.
All library functions return a bool
to indicate the status of a call. In the case of an error, this function returns a readable error description.
See CreateInstance() for an example.
- Parameters
-
pText | Array of char for storing the string |
MaxStringSize | Maximum string length |
◆ GetNumberOfDeviceTypes()
bool VIB::VIBSystem::GetNumberOfDeviceTypes |
( |
unsigned int & |
NumberOfDeviceTypes | ) |
|
Returns the number of different device types for this hardware entity.
For example, if the VisionBox has two Strobe units and one RS-422 interface, the function returns a value of 2.
- Parameters
-
NumberOfDeviceTypes | Number of unique device types |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ GetNumberOfSystemTypes()
bool VIB::VIBSystem::GetNumberOfSystemTypes |
( |
unsigned int & |
NumberOfSystemTypes | ) |
|
|
static |
Gets number of different system types.
For example, a VisionBox with two smart network cards returns the value 2, one for the mainboard and one for both NICs.
- Parameters
-
NumberOfSystemTypes | Number of system types |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ GetSystemInfo()
bool VIB::VIBSystem::GetSystemInfo |
( |
SystemInfo * |
pSystemInfoList, |
|
|
unsigned int |
MaxNumberItems, |
|
|
unsigned int & |
NumberOfListItems |
|
) |
| |
|
static |
Returns information about the installed system types.
The function returns an array of SystemInfo objects containing all installed systems or hardware entities. Each item holds information about a different system type.
- Parameters
-
pSystemInfoList | Valid pointer for storing the list |
MaxNumberItems | Maximum number of list items |
NumberOfListItems | Number of valid items returned |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
unsigned int NumTypes;
goto error;
unsigned int NumberOfListItems;
goto error;
for(unsigned int i=0; i<NumberOfListItems; i++)
{
printf("Number of CL-Cards: %d\n", pSystemList[i].GetNumberEntities());
}
◆ GetVersionString()
bool VIB::VIBSystem::GetVersionString |
( |
char * |
pText, |
|
|
unsigned int |
MaxStringSize |
|
) |
| |
Returns a string with version data from all components. (DLL, driver, FPGA, ...)
Do not parse or interpret this string to do any assumption. Use the string only to give the user a human readable overview about the versions. The layout and 'keywords' can be different for each hardware type.
- Parameters
-
pText | String for version data |
MaxStringSize | Maximum size of pText |
- Returns
- Since API version 1.2.x.x the call returns false if the buffer is to short, earlier releases generate a structured exception.
- Example:
char VerText[4096] = "?";
goto error;
printf("\t<== Versions ==>\n%s", VerText);
◆ IsOpen()
bool VIB::VIBSystem::IsOpen |
( |
eDeviceType |
Type, |
|
|
int |
Index, |
|
|
bool & |
DeviceState |
|
) |
| |
Checks if the device open.
The function returns the system wide state of the device. If a program has opened the device the function will return true.
- Note
- This function does not work with VIB::DT_SERVICE.
- Even if the result indicates that the device is closed, it's possible that another thread or process opens the device immediately after the call.
- Parameters
-
Type | Type of device |
Index | Index of device |
DeviceState | Device state, true for open |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
◆ OpenDevice() [1/16]
bool VIB::VIBSystem::OpenDevice |
( |
class CameraLinkIn *& |
pCameraLinkIn, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a CameraLinkIn device and returns the new device object.
- Parameters
-
pCameraLinkIn | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [2/16]
bool VIB::VIBSystem::OpenDevice |
( |
class CameraTrigger *& |
pCameraTrigger, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a CameraTrigger device and returns the new device object.
- Parameters
-
pCameraTrigger | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [3/16]
bool VIB::VIBSystem::OpenDevice |
( |
class DigitalInput *& |
pDigitalInput, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a DigitalInput device and returns the new device object.
- Parameters
-
pDigitalInput | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [4/16]
bool VIB::VIBSystem::OpenDevice |
( |
class DigitalOutput *& |
pDigitalOutput, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a DigitalOutput device and returns the new device object.
- Parameters
-
pDigitalOutput | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [5/16]
bool VIB::VIBSystem::OpenDevice |
( |
class IOScheduler *& |
pIOScheduler, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a IOScheduler device and returns the new device object.
- Parameters
-
pIOScheduler | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [6/16]
bool VIB::VIBSystem::OpenDevice |
( |
class LCD *& |
pLCD | ) |
|
Opens a LCD device and returns the new device object.
- Parameters
-
pLCD | Pointer for storing the new device object |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [7/16]
bool VIB::VIBSystem::OpenDevice |
( |
class Led *& |
pLed | ) |
|
Opens a Led device and returns the new device object.
- Parameters
-
pLed | Pointer for storing the new device object |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [8/16]
bool VIB::VIBSystem::OpenDevice |
( |
class Multiplexer *& |
pMultiplexer, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a Multiplexer device and returns the new device object.
- Parameters
-
pMultiplexer | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [9/16]
◆ OpenDevice() [10/16]
bool VIB::VIBSystem::OpenDevice |
( |
class Rs232 *& |
pRs232, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a Rs232 device and returns the new device object.
- Parameters
-
pRs232 | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [11/16]
bool VIB::VIBSystem::OpenDevice |
( |
class Rs422 *& |
pRs422, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a Rs422 device and returns the new device object.
- Parameters
-
pRs422 | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [12/16]
bool VIB::VIBSystem::OpenDevice |
( |
class Service *& |
pService | ) |
|
Opens a Service device and returns the new device object.
- Parameters
-
pService | Pointer for storing the new device object |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [13/16]
bool VIB::VIBSystem::OpenDevice |
( |
class Strobe *& |
pStrobe, |
|
|
int |
Index = 0 |
|
) |
| |
Opens a Strobe device and returns the new device object.
- Parameters
-
pStrobe | Pointer for storing the new device object |
Index | Index of the device on this hardware entity |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
◆ OpenDevice() [14/16]
◆ OpenDevice() [15/16]
◆ OpenDevice() [16/16]
Opens a device and returns a new device object.
After this call there is no relationship between the factory and the device instance. Closing the factory will not close the device, it must be closed manually.
Each device can only be opened once at the same time. This is ensured for all processes running on the system. A device must be closed before it can be reopened again.
- Parameters
-
Type | Type of the device |
Index | Index of the device on this hardware entity, use GetDeviceInfo() to obtain the number of available devices |
ppNewDevice | Double pointer for storing the pointer to the new device object |
- Returns
true
for success, use VIBSystem::GetLastErrorString() for an error description
- Example:
-
static bool GetSystemInfo(SystemInfo *pSystemInfoList, unsigned int MaxNumberItems, unsigned int &NumberOfListItems)
Returns information about the installed system types.
Definition: VIBSystem.cpp:307
@ SYST_BASEBOARD
Definition: VIB_Interface.h:110
This class represents the Camera Link grabber module.
Definition: VIB_Interface.h:967
static bool CreateInstance(VIBSystem **ppVIBSystem)
Creates a factory instance for the mainboard.
Definition: VIBSystem.cpp:105
This class controls the I/O Scheduler which allows to store and emit output signals in hard real-time...
Definition: VIB_Interface.h:828
bool CloseDevice(iDevice *pDevice)
Closes a device.
Definition: VIBSystem.cpp:849
This class controls the digital camera trigger output.
Definition: VIB_Interface.h:628
bool GetDeviceInfo(DeviceInfo *pDeviceInfoList, unsigned int MaxNumberItems, unsigned int &NumberOfListItems)
Returns a list of available devices for this hardware entity.
Definition: VIBSystem.cpp:392
bool GetVersionString(char *pText, unsigned int MaxStringSize)
Returns a string with version data from all components. (DLL, driver, FPGA, ...)
Definition: VIBSystem.cpp:930
This class represents the TriggerOverEthernet (ToE) module which allows the generation of GigE Action...
Definition: VIB_Interface.h:1089
This class contains functions associated with the hardware component (serial number,...
Definition: VIB_Interface.h:576
This class represents the RS-232 interface which allows sending and receiving data over a RS-232 port...
Definition: VIB_Interface.h:1177
This class controls a group of digital output signals.
Definition: VIB_Interface.h:464
This class stores information about a specific device type
Definition: VIB_Interface.h:127
static bool GetNumberOfSystemTypes(unsigned int &NumberOfSystemTypes)
Gets number of different system types.
Definition: VIBSystem.cpp:263
@ HWT_AGEX5_POETOE
Quad Ethernet Smart NIC with PoE/ToE for the VisionBox AGE-X5
Definition: VIB_Interface.h:69
This class controls the FPGA Trigger Unit.
Definition: VIB_Interface.h:715
The interface for all device implementations
Definition: VIB_Interface.h:178
bool GetNumberOfDeviceTypes(unsigned int &NumberOfDeviceTypes)
Returns the number of different device types for this hardware entity.
Definition: VIBSystem.cpp:350
@ SYST_CL
Definition: VIB_Interface.h:111
This class controls the Multiplexer unit which connects signal sources and sinks with each other.
Definition: VIB_Interface.h:738
This class represents the PowerOverEthernet (PoE) module, which allows gathering information about th...
Definition: VIB_Interface.h:1136
bool OpenDevice(eDeviceType Type, int Index, iDevice **ppNewDevice)
Opens a device and returns a new device object.
Definition: VIBSystem.cpp:448
This class controls the RS-422 interface.
Definition: VIB_Interface.h:519
This class stores information about a specific system type
Definition: VIB_Interface.h:151
@ DT_STROBE
LED Strobe Controller → VIB::Strobe.
Definition: VIB_Interface.h:84
This class controls the status display of the Machine Vision Controller.
Definition: VIB_Interface.h:1201
This class controlls the LED Strobe Controller.
Definition: VIB_Interface.h:289
The factory for devices.
Definition: VIB_Interface.h:217
This class controls the status LEDs.
Definition: VIB_Interface.h:395
static void GetLastErrorString(char &pText, unsigned int MaxStringSize)
Returns the last error message.
Definition: VIBSystem.cpp:226