.

Average: 0
Rating Count: 0

Development status: New development
Information status: Updated
Repository: http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Acquisition/2D/Pco
Contact:



Class Description


The Tango PCO ccd class uses the software development kid (SDK) for Windows

from PCO to access the ccd devices.

http://www.pco.de/software/

The SDK is capable to handle a series of different ccd cameras. The server was tested with a Pco4000 camera but should work also for the other cameras supported by the SDK.

The camera dependent parameters like the maximum image size for example is read directly from the hardware via the camera description structure of the SDK. These parameters are displayed in the status text.

Actually the server works only with one camera. To handle several cameras on the same PC, some extension is necessary.

Device server for PCO ccd cameras Device Description Pco Class

Revision: - Author:

The Tango PCO ccd class uses the software development kid (SDK) for Windows from PCO to access the ccd devices.

http://www.pco.de/software/

The SDK is capable to handle a series of different ccd cameras. The server was tested with a Pco4000 camera but should work also for the other cameras supported by the SDK.

Families: Acquisition

Key words: 2D

Language: Cpp

License:

Contact:

Class interface


Attributes:

Name Description
ImageTimeStampScalar: DevBoolean
CoolingTempScalar: DevDouble
CoolingTempSetScalar: DevShort
ADCsScalar: DevShort
PixelrateScalar: DevLong
ROI_y_maxScalar: DevLong
ROI_y_minScalar: DevLong
ROI_x_maxScalar: DevLong
ROI_x_minScalar: DevLong
Binning_yScalar: DevShort
Binning_xScalar: DevShort
ImageCounterScalar: DevLong
HeigthScalar: DevLong
WidthScalar: DevLong
FilePostfixScalar: DevString
FileStartNumScalar: DevLong
FilePrefixScalar: DevString
FileDirScalar: DevString
FileSavingScalar: DevBoolean
TriggerModeScalar: DevShort
DelayTimeScalar: DevDouble
ExposureTimeScalar: DevDouble
ImageScalar: DevEncoded

Commands:

Name Description
LiveInput: DevVoid
Output: DevVoid
Start a live acquisition. Image are aquired in an endless loop with the prepositioned parameters. The Stop command ends the live acquisition.
StartStandardAcqInput: DevVoid
Output: DevVoid
Start an acquisition with the prepositioned parameters
StopInput: DevVoid
Output: DevVoid
Stop the current acquisition.
ResetInput: DevVoid
Output: DevVoid
Reset a FAULT state and set the binning to 1 and the ROI to the full image size.
StatusInput: DevVoid
Output: DevString
This command gets the device status (stored in its device_status data member) and returns it to the caller.
StateInput: DevVoid
Output: State
This command gets the device state (stored in its device_state data member) and returns it to the caller.

Pipes:

Properties:


Please log in to comment.

Generated

PDF generated from POGO



README

Before compiling, you will have to install: - The pco.sdk, available from http://www.pco.de/de/software/

System Message: ERROR/3 (<string>, line 3)

Unexpected indentation.
The Tango server was tested using SW_PCOSDKWIN_114_0002.zip: other releases should also work.

System Message: WARNING/2 (<string>, line 5)

Block quote ends without a blank line; unexpected unindent.
  • The Silicon Software Runtime Environment from http://www.silicon-software.com/download.html (eg RuntimeSetup_v5.1.4_IA32.exe or RuntimeSetup_v5.1.4_AMD64.exe, depending whether you want to compile a 32- or 64-bit application).
  • ImageMagick headers and libraries, available from http://www.imagemagick.org/script/binary-releases.php The Tango server was tested using ImageMagick-6.7.3-3-Q16-windows-x64-dll.exe (32-bit) and ImageMagick-6.7.3-3-Q16-windows-x64-dll.exe (64-bit): other releases should also work, but you will have to change the headers and libraries path in MAKEFILE.
  • HDF5 headers and libraries, available from http://www.hdfgroup.org/HDF5/ The Tango server was tested using HDF5-1.8.7_win_x86.zip (32-bit) and HDF5-1.8.7_win_x64.zip (64-bit); they were unzipped and moved respectively to "C:Program Files (x86)" and "C:Program Files". Other releases should also work, but you will have to change the headers and libraries path in MAKEFILE.
  • There is data type incompatibility between ImageMagick and HDF5 on Windows 32-bit. This might be solved by future releases of the packages. See below, "Known problems (and solutions)"
  • Tango must be installed. As of today, Tango for 64-bit windows only has lib, bin and headers. MAKEFILE assumes Tango has been unzipped in "C:Program Filestango-win-x64-bin-dist-msvc-2010". This may change in future.
  • The Tango server can be compiled using Visual Studio. As of today Tango 32-bit ships libraries for Visual C++ 2005 (VC8) and 2008 (VC9). This may change in future, in this case the MAKEFILE will need to be changed.

How to compile: - To compile a 64-bit executable Pco.exe, you will need the also MS Windows

System Message: ERROR/3 (<string>, line 35)

Unexpected indentation.
SDK. Open the "Windows SDK Command Prompt", go to the directory containing the Pco source files and then run "nmake win64".

System Message: WARNING/2 (<string>, line 37)

Block quote ends without a blank line; unexpected unindent.
  • To compile a 32-bit version of the Pco.exe, use Visual Studio C++ 2005 (VC8) or 2008 (VC9). Open e.g. the "Visual Studio 2008 Command Prompt", go to the source directory and then run "nmake win32".

How to run Pco.exe: - First of all, the pco.sdkbin (or pco.sdkbin64 for a 64-bit executable)

System Message: ERROR/3 (<string>, line 44)

Unexpected indentation.
directory must be in the path. This also applies to ImageMagick and HDF5 bin directories.

System Message: WARNING/2 (<string>, line 46)

Block quote ends without a blank line; unexpected unindent.
  • Open a command prompt, go to the directory containing the Pco.exe, and run the command "Pco.exe <device name>"

Known problems (and solutions):

  • With currently used versions of ImageMagick (ImageMagick-6.7.3-3-Q16) and HDF5 (HDF5-1.8.7) there is a data type incompatibility on Windows 32-bit. The first package defines ssize_t as type "long", whereas the latter as type "int". Even if the data types have the same size (sizeof(int) == sizeof(long) == 4) they are incompatible. On Windows 64-bit both packages define ssize_t to be "long long". The solution is to replace to follwing lines of "C:Program Files (x86)HDF5-1.8.7_win_x86includeH5public.h":

#if H5_SIZEOF_SSIZE_T==0 /* Undefine this size, we will re-define it in one of the sections below / #undef H5_SIZEOF_SSIZE_T #if H5_SIZEOF_SIZE_T==H5_SIZEOF_INT typedef int ssize_t; # define H5_SIZEOF_SSIZE_T H5_SIZEOF_INT #elif H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG typedef long ssize_t; # define H5_SIZEOF_SSIZE_T H5_SIZEOF_LONG #elif H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG_LONG typedef long long ssize_t; # define H5_SIZEOF_SSIZE_T H5_SIZEOF_LONG_LONG #else / Can't find matching type for ssize_t */ # error "nothing appropriate for ssize_t" #endif #endif

System Message: WARNING/2 (<string>, line 59); backlink

Inline emphasis start-string without end-string.
with

/* Define the ssize_t type if it not is defined / #if H5_SIZEOF_SSIZE_T==0 #undef H5_SIZEOF_SSIZE_T #if H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG_LONG typedef long long ssize_t; # define H5_SIZEOF_SSIZE_T H5_SIZEOF_LONG_LONG #elif H5_SIZEOF_SIZE_T==H5_SIZEOF_LONG typedef long ssize_t; # define H5_SIZEOF_SSIZE_T H5_SIZEOF_LONG #elif H5_SIZEOF_SIZE_T==H5_SIZEOF_INT typedef int ssize_t; # define H5_SIZEOF_SSIZE_T H5_SIZEOF_INT #else / Can't find matching type for ssize_t */ # error "nothing appropriate for ssize_t" #endif #endif

System Message: WARNING/2 (<string>, line 79); backlink

Inline emphasis start-string without end-string.
(This trick solves the conflict between ImageMagick and HDF5, but may introduce conflicts with other packages!)
  • There is also a problem with the pixel rate on pco.edge, on which the server was tested. Currently images cannot be acquired with a pixel rate of 286 MHz and full image size (2560 x 2160 pixels). The images will be corrupted, and moreover the camera will not be accessible any more and need to be switched off and on. For a full image size a pixel rate of 95 MHz must be used (leading to a maximum framerate of about 30 Hz). The 286 MHz pixel rate can only be used with 4 megapixels or less.

A. Parenti Hamburg, 20.01.2012

22 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



22 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



16 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



20 Apr 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .



23 Feb 2017, Piotr Goryl
Created:
The device class has been added to catalogue.
Added by:pgoryl2 on:23 Feb 2017, 10:17 a.m.