EDT PDV SDK Documentation 6.2.0
|
Functions | |
int | pdv_close (PdvDev pdv_p) |
Closes the specified device and frees the image memory and other resources associated with the device handle. More... | |
EDT_CHECK_RETURN PdvDev | pdv_open (const char *dev_name, int unit) |
Opens channel 0 of an EDT Framegrabber for application access. More... | |
EDT_CHECK_RETURN PdvDev | pdv_open_device (const char *dev_name, int unit, int channel, int verbose) |
Open the pdv device, with option to suppress non-existent device console output. More... | |
EDT_CHECK_RETURN PdvDev | pdv_open_channel (const char *dev_name, int unit, int channel) |
Opens an EDT Framegrabber channel for application access. More... | |
To open and close the EDT digital imaging device. pdv_open() and pdv_open_channel() differ only in the channel argument. Since many applications are written for single channel boards (for example, the VisionLink F1) pdv_open will often suffice for opening a handle to the device. However it is just as easy to use pdv_open_channel() with zero-assigned variable in the channel argument, providing for future possible expansion to multiple channel boards.
int pdv_close | ( | PdvDev | pdv_p | ) |
Closes the specified device and frees the image memory and other resources associated with the device handle.
pdv_p | The open PDV device handle. |
EDT_CHECK_RETURN PdvDev pdv_open | ( | const char * | dev_name, |
int | unit | ||
) |
Opens channel 0 of an EDT Framegrabber for application access.
To open a specific channel on multi-channel device, see pdv_open_channel().
dev_name | The name of the device. For EDT imaging boards use EDT_INTERFACE. |
unit | The unit number of the device (board). The first device is 0. |
EDT_CHECK_RETURN PdvDev pdv_open_device | ( | const char * | dev_name, |
int | unit, | ||
int | channel, | ||
int | verbose | ||
) |
Open the pdv device, with option to suppress non-existent device console output.
dev_name | The name of the device. For EDT imaging boards use EDT_INTERFACE. |
unit | The unit number of the device (board). The first device is 0. |
channel | The channel of the specified unit to open. The first channel is 0. |
verbose | Enable verbose output (1) or not (0). |
pdv_open_channel() calls this subroutine with the verbose argument set to 1, so this subroutine can be directly instead with verbose set to 0 if you want to suppress the console warning message that gets output if attempting to open a non-existent device. Since that's not a bad thing to know (and usually doesn't show up in Windows non-console apps anyway), we recommend using pdv_open_channel() unless you specifically want to suppress those messages.
Other than the verbose argument, this is the same as pdv_open_channel() see that subroutine for a full description.
EDT_CHECK_RETURN PdvDev pdv_open_channel | ( | const char * | dev_name, |
int | unit, | ||
int | channel | ||
) |
Opens an EDT Framegrabber channel for application access.
dev_name | The name of the device. For EDT imaging boards use EDT_INTERFACE. |
unit | The unit number of the device (board). The first device is 0. |
channel | The channel of the specified unit to open. The first channel is 0. |
Opens the device, which is the first step in accessing the hardware. Allocates the memory for the device struct, as defined in libpdv.h (included through edtinc.h), and host memory required to store a captured image.
If you only want to use channel 0 on a multi-channel board, you can use pdv_open(), but using pdv_open_channel with 0 in the channel
argument is preferred.
pdv_open_channel provides for multiple cameras on separate channels, on boards that have multiple channels. Calling pdv_open_channel with using a specified board and channel returns a pointer to a software structure representing the connection to a specific camera – channel 0 for the camera on the connector closest to the PCI bus, channel 1 for the next connector up, and so on. Each call to pdv_open_channel with a unique channel number returns a discrete pointer, which is handled separately from any others, just as if each camera were connected to separate boards.
Example: