This sample program, PXR_TRIGGER_CS, illustrates the use of the Imagenation PXR800 with
the new programming language C#. It shows you how to perform a triggered grab. The program waits for a trigger
from one of four inputs. The most recently triggered image will be captured and then displayed in a window. Notice that we are
using the TimedWaitFinished() function in this example. Without this call the program can stall forever waiting for a trigger
to finish the Grab. One way to detect and handle stalled Grabs is to use the IW_QUEUED option to add the Grab to the frame
grabber’s queue, and then use TimedWaitFinished() to wait for the Grab to complete. If the operation being waited on does not finish
within the requested number of milliseconds TimedWaitFinished() will return and allow the program to continue.
Whether you use our sample as a starting point or not, you will need the interface file
contained in this package if you want to work in C#.
This is what you need for C# development:
In order to develop a C# application for the PXR800, you
need to have an interface file that redefines all of the PXR800 functions and links the new definitions
to the existing PXR800 DLLs.
This is what we are giving you in this package:
The interface file containing the following three types of data:
| 1. | The DLL function redefinitions - Redefines all the functions that
are explained in the the PXR800 Frame Grabber User's Guide and contained in the PXR800 DLLs. |
2. | Global variable definitions – A set of common static variable names used by the PXR800 API. |
3. | Classes - Some useful class functions for initializing libraries, displaying images, and reading and writing BMP files.
You may want to use these functions as your beginning class library to avoid building one from scratch.
|
A sample C# program that illustrates the following concepts:
| 1. | Library initialization - Proper initialization of the PXR800 libraries. |
2. | Display - Done by getting a pointer to the acquired image using the
PXR800 FrameBuffer() function and then creating a bitmap by calling the Bitmap() function. |
3. | Continuous image update - Uses a timer to cause the image window to be continuously updated.
|
4. | Triggers - Do a triggered grab.
|
This is how you use it:
Download this package into a directory where you want to work.
Unzip it into that same directory. Build the sample and execute it to make sure it works. Then modify it for your
application. If you are building a new C# application, you might want to start with our sample code and
classes. If you already have an application that you are porting, you may just want to use our interface
file.