This setup is tested for the following camera
- pco.edge 5.5 M CLHS rolling shutter
The frame grabber card (microEnable V MA-AF2) is installed in the PCI-E slot.
NOTE : On Debian 9, the kernel should be booted with option iomem = relaxed, otherwise the card cannot be recognized.
edit /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="iomem=relaxed" then $ update-grub
Softwares can be fetched from /nfs/fs/fsec/pco_driver/pcoclhsdriver10203.tar
OS : Debian 9 Kernel:4.17.0
- driver : menable 4.2.5 (in menable425)
- SISO run time : 5.5.0 (in siso550)
- Firmware version of Frame grabber card : 2.00
- PCO SDK: 1.02.03 (in pcosdk)
- pco_clhs_mgr : needed for running the third-party program ( in bin)
NOTE : For this camera, the firmware libAcq_DualCLHSx1AreaRAW needs to be flashed to the frame grabber card.
Debian Package installation
The camera type can be fetched by checking the property (CamInterface : 0 CLHS; 1 CamLink; 2 USB) in Jive or asking the beamline scientist.
For CLHS cameras: $ apt-get install siso550-devel pcosdk-dev libfsdaqwriter pco The reason is CLHS camera needs siso550 runtime instead of siso560. Installing vendor software (it is installed in /opt/pco/bin): $ apt-get install pco-vendor-bin
Following packages are installed:
<package name> : <description ( software/src location)>
menable-dkms : drivers ( /nfs/fs/fsec/pco_driver )
siso560 : runtime ( /nfs/fs/fsec/pco_driver )
siso560-devel : dev package of runtime ( /nfs/fs/fsec/pco_driver )
pcosdk-dev : camera SDK()
libfsdaqwriter : data writer for the tango server ( h
pco : pco tango server ( https://stash.desy.de/scm/tan/pco.git )
Run following commands with root to install the drivers:
$ make $ make install $ modprobe menable If everything runs without problem. The card should be recognized by the OS. Run $ dmesg|grep menable the example output is: $ dmesg|grep menable [ 7.410353] menable: probing device 0 [ 7.410449] menable menable0: device is a microEnable IV VD4-CL
The driver can be only be used by the users in video group. Thus it is necessary to add the user to video group.
#need root permission $ usermod -aG video <username>
Run the following command to install the SISO runtime. Depends on install path, root permission may be needed:
$ siso-installer.sh -d <install path>
Set environment variable
There is a script called setup-siso-env.sh in the install path of the runtime. Run this script to setup the environment. The runtime cannot work without running this.
Test the card
Once the driver and software runtime is installed for the card. It is possible to run the application microDiagnostics to check if the card is correctly recognized by the OS.
The application is located in <install path of runtime>/bin.
If everything works, it is like (an example taken from Debian 8 system):
Run the camera
Run the tango server
The PCO tango server binary is in /usr/lib/tango/server.
NOTE : for the PCO EDGE CLHS, the pco_clhs_mgr needs to be run before running the tango server, it is installed in /opt/pco/bin.
Run pco_clhs_mgr $ /opt/pco/bin/pco_clhs_mgr Wait until the camera information is shown. Start the PCO tango server $ /usr/lib/tango/server/Pco <instance> If everything works, the following example message is shown(taken from hasmpcoedge01 with PCO Edge 4.2). init camera camera type : 4864 - serial number:188 Camera: pco.edge rolling shutter Camera is ready... data writer version : 0.2 Ready to accept request
Once the tango server is running, there are following ways to operate the camera.
Operate tango server with ATK panel
Start Jive and ATK panel
Start jive: $ jive &
The properties needs to be added to the device entry
CamInterface : 0 CLHS; 1 CamLink; 2 USB
libpath: path of the libpcosdk.so, if it is installed via Debian Package, it is /usr/lib
LogLevel: 2 only error message is printed
memratio : between 0-1, percentage of RAM which is used for buffering the images
After that, as the screenshot shows, click the monitor device, the ATK panel will pop up in a moment
Take one HDF5 file with one image: ExposureTime=1.0 NbFrames=1 FileSaving=True FileDir="/file/save/path" FilePrefix="test" FilePostfix="nxs" Then StartAcq. Once the ImageCounter goes to 1. The file is saved in the /file/save/path specified before.
Operate tango sever with script
Example python script (PyTango required)
testpco.py - script for taking one HDF5 file with one image.
Liveview of the camera
During the acquisition, it is possible to view the image. The Liveview data is exported via tango attribute LiveImage.The frame rate of live view is set to 2 frames per second at maximum.
Lavue is recommended as the live view tool. Please read the Manual of Lavue for details.
Start Lavue $ lavue Select source : Tango Attribute Attribute(example) : hasmpcoedge01:10000/test/pco/1/LiveImage
Example taken from hasmpcoedge01 with PCO Edge 4.2