Commit a6696dc3 authored by Roberto Arturo Homs-Regojo's avatar Roberto Arturo Homs-Regojo

Merge branch 'prepare-1.9' into 'master'

parents c77013bd d91713e6
Pipeline #14707 passed with stages
in 14 minutes and 38 seconds
......@@ -114,7 +114,7 @@ Standard: Cpp11
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
TabWidth: 4
UseTab: Never
...
......@@ -14,3 +14,5 @@ PcoGitVersion.*
*.h.*
*.sip.*
*Makefile.*
build/
tango/build/
......@@ -22,7 +22,7 @@ build-noarch:
<<: *build-conda
stage: build-noarch
script:
- conda build ./conda/tango --prefix-length=80 --output-folder=dist/ --channel=http://bcu-ci.esrf.fr/stable
- conda build ./conda/tango --prefix-length=80 --output-folder=dist/ -c tango-controls --channel=http://bcu-ci.esrf.fr/stable
dependencies:
- build-win
tags:
......@@ -45,7 +45,7 @@ deploy-devel:
only:
- branches
except:
- stable
- master
when: manual
deploy-stable:
......@@ -64,4 +64,3 @@ deploy-stable:
- linux
only:
- tags
- stable
###########################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2017
# Copyright (C) : 2009-2019
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# CS40220 38043 Grenoble Cedex 9
# FRANCE
#
# Contact: lima@esrf.fr
......@@ -26,8 +26,6 @@ cmake_minimum_required(VERSION 3.1)
project(pco)
set(NAME "pco") # This is used by LimaTools
# Include additional modules that are used inconditionnaly
include(GNUInstallDirs)
include(GenerateExportHeader)
......@@ -52,44 +50,28 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
endif()
if (CAMERA_MASTER_PROJECT)
find_package(Lima REQUIRED)
find_package(Lima REQUIRED COMPONENTS devel tools)
endif()
# CMake additional macros
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${LIMA_CMAKE_INCLUDE_DIRS} ${CMAKE_MODULE_PATH})
include(LimaTools)
# Set version
include(project_version)
# Enable git hash in the version
option(WITH_GIT_VERSION "compile python binding code?" OFF)
option(WITH_GIT_VERSION "include the git commit hash" OFF)
# Enable python binding code compilation using sip generator
option(CAMERA_ENABLE_PYTHON "compile python binding code?" LIMA_ENABLE_PYTHON)
if (CAMERA_ENABLE_PYTHON)
# Find python interpreter and libs
find_package(PythonInterp)
find_package(PythonLibs)
if(${PYTHONINTERP_FOUND})
# python site-packages folder
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"
OUTPUT_VARIABLE _PYTHON_SITE_PACKAGES_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
set(PYTHON_SITE_PACKAGES_DIR ${_PYTHON_SITE_PACKAGES_DIR} CACHE PATH "where should python modules be installed?")
find_package(SIP REQUIRED)
include(SIPMacros)
if(WIN32)
set(SIP_TAGS WIN32_PLATFORM)
elseif(UNIX)
set(SIP_TAGS POSIX_PLATFORM)
endif(WIN32)
set(SIP_EXTRA_OPTIONS -e -g)
if (CAMERA_MASTER_PROJECT)
option(LIMA_ENABLE_PYTHON "compile python binding code?" OFF)
option(LIMA_ENABLE_PYTANGO_SERVER "install python tango server?" OFF)
find_package(NumPy REQUIRED)
if (LIMA_ENABLE_PYTHON)
limatools_find_python_and_sip()
endif()
endif()
find_package(Pco REQUIRED)
......@@ -161,7 +143,7 @@ target_link_libraries(pco PUBLIC limacore)
target_compile_definitions(pco PUBLIC ${PCO_DEFINITIONS})
message("PCO_INCLUDE_DIRS: ${PCO_INCLUDE_DIRS}")
message("... PCO_INCLUDE_DIRS: ${PCO_INCLUDE_DIRS}")
target_include_directories(pco
PUBLIC "$<BUILD_INTERFACE:${PCO_INCLUDE_DIRS}>"
......@@ -177,8 +159,7 @@ if(WIN32)
endif()
# Binding code for python
if(CAMERA_ENABLE_PYTHON)
include(LimaTools)
if(LIMA_ENABLE_PYTHON)
limatools_run_sip_for_camera(pco)
endif()
......@@ -216,11 +197,16 @@ install(
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
if(CAMERA_ENABLE_PYTHON)
message("... LIMA_ENABLE_PYTHON: [${LIMA_ENABLE_PYTHON}]")
message("... PYTHON_SITE_PACKAGES_DIR: [${PYTHON_SITE_PACKAGES_DIR}]")
if(LIMA_ENABLE_PYTHON)
install(
FILES python/__init__.py
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/python/
DESTINATION "${PYTHON_SITE_PACKAGES_DIR}/Lima/Pco"
)
)
if (LIMA_ENABLE_PYTANGO_SERVER)
add_subdirectory(tango)
endif()
endif()
## Tests
......
......@@ -146,7 +146,7 @@ conda install -c esrf-bcu lima-camera-pco
### Camera tango device server
conda install -c esrf-bcu lima-camera-pco-tango
conda install -c tango-controls -c esrf-bcu lima-camera-pco-tango
# LImA
......@@ -156,5 +156,6 @@ Lima is a C++ library which can be used with many different cameras. The library
## Documentation
The documentation is available [here](https://lima1.readthedocs.io/)
The documentation is available [here](https://lima.blissgarden.org)
......@@ -31,6 +31,9 @@ set(PCO_SDKLIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/sdkPcoLin" CACHE PATH "location
if(WIN32)
find_path(PCO_INCLUDE_DIRS "PcoSdkVersion.h" ${PCO_SDKWIN_DIR})
list(APPEND PCO_INCLUDE_DIRS
${PCO_INCLUDE_DIRS}/include
)
find_library(PCO_LIBRARIES NAMES SC2_Cam.lib HINTS ${PCO_SDKWIN_DIR}/lib64)
else()
set(PCO_SDK_LIB_DIR "${PCO_SDKLIN_DIR}/pco_common/pco_lib" CACHE PATH "location of pco sdklib-lin")
......@@ -74,10 +77,10 @@ list(APPEND PCO_INCLUDE_DIRS
endif()
message("PCO_LIBRARIES ============================================")
message("PCO_INCLUDE_DIRS: ${PCO_INCLUDE_DIRS}")
message("PCO_LIBRARIES: ${PCO_LIBRARIES}")
message("==========================================================")
message("PCO_INCLUDE_DIRS: [${PCO_INCLUDE_DIRS}]")
message("PCO_LIBRARIES: [${PCO_LIBRARIES}]")
message("PCO_DEFINITIONS: [${PCO_DEFINITIONS}]")
message("==========================================================")
include(FindPackageHandleStandardArgs)
......
python get_git_log.py
echo "... [camera/bld.bat] enter"
rem cmake -Bbuild -H. -G "%CMAKE_GENERATOR%" -DCAMERA_ENABLE_PYTHON=1 -DCAMERA_ENABLE_TESTS=1 -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% -DPYTHON_SITE_PACKAGES_DIR=%SP_DIR% -DCMAKE_FIND_ROOT_PATH=%LIBRARY_PREFIX%
python get_git_log.py
rem cmake -Bbuild -H. -G "%CMAKE_GENERATOR%" -DCAMERA_ENABLE_PYTHON=1 -DWITH_GIT_VERSION=1 -DLIMA_ENABLE_DEBUG=0 -DCAMERA_ENABLE_TESTS=1 -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% -DPYTHON_SITE_PACKAGES_DIR=%SP_DIR% -DCMAKE_FIND_ROOT_PATH=%LIBRARY_PREFIX%
cmake -Bbuild -H. -G "%CMAKE_GENERATOR%" -DCAMERA_ENABLE_PYTHON=1 -DWITH_GIT_VERSION=1 -DLIMA_ENABLE_DEBUG=1 -DCAMERA_ENABLE_TESTS=1 -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% -DPYTHON_SITE_PACKAGES_DIR=%SP_DIR% -DCMAKE_FIND_ROOT_PATH=%LIBRARY_PREFIX%
echo "... [camera/bld.bat] cmake compile"
cmake -Bbuild -H. -G "%CMAKE_GENERATOR%" -DLIMA_ENABLE_PYTHON=1 -DWITH_GIT_VERSION=1 -DLIMA_ENABLE_DEBUG=1 -DCAMERA_ENABLE_TESTS=1 -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% -DPYTHON_SITE_PACKAGES_DIR=%SP_DIR% -DCMAKE_FIND_ROOT_PATH=%LIBRARY_PREFIX%
IF %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL%
rem cmake --build build --config Release --target install -- /verbosity:detailed
echo "... [camera/bld.bat] cmake build"
cmake --build build --config Release --target install -- /verbosity:minimal
IF %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL%
echo "... [camera/bld.bat] exit"
{% set version = GIT_DESCRIBE_TAG[1:] %}
# Strip the 'v' from the version tag
{% if GIT_DESCRIBE_TAG is defined %}
{% set version = GIT_DESCRIBE_TAG[1:] %}
{% else %}
{% set version = "0.0.0" %}
{% endif %}
package:
name: lima-camera-pco
......@@ -15,7 +20,7 @@ requirements:
- python {{ python }}
- numpy
- sip 4.19.8 # For compatibility with pyqt 5.9.2
- lima-core 1.8
- lima-core
- pco-sdk
build:
- git
......
xcopy tango\*.* %SP_DIR%\Lima\Server\camera\
echo "... [tango/bld.bat] enter"
cd tango
echo "... [tango/bld.bat] cmake compile"
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% -DPYTHON_SITE_PACKAGES_DIR=%SP_DIR% -DCMAKE_FIND_ROOT_PATH=%LIBRARY_PREFIX%
IF %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL%
echo "... [tango/bld.bat] cmake build"
cmake --build build --config Release --target install
IF %ERRORLEVEL% NEQ 0 exit /b %ERRORLEVEL%
echo "... [tango/bld.bat] exit"
mkdir -p $SP_DIR/Lima/Server/camera && cp tango/*.* $SP_DIR/Lima/Server/camera
#!/bin/bash
cd tango/
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=$PREFIX -DPYTHON_SITE_PACKAGES_DIR=$SP_DIR -DCMAKE_FIND_ROOT_PATH=$PREFIX
cmake --build build --target install
{% set version = GIT_DESCRIBE_TAG[1:] %}
# Strip the 'v' from the version tag
{% if GIT_DESCRIBE_TAG is defined %}
{% set version = GIT_DESCRIBE_TAG[1:] %}
{% else %}
{% set version = "0.0.0" %}
{% endif %}
package:
name: lima-camera-pco-tango
......@@ -12,6 +17,10 @@ build:
noarch: python
requirements:
build:
- cmake
- git
- lima-core
run:
- lima-tango-server
- lima-camera-pco
......
2019/09/20 - dummy commit to test sync gitlab/github
2019/06/27 19:32:22 ==========================================
#define PCO_SDK_WIN_VERSION "$Id: PCOSDK_WIN [1.23] $"
......
......@@ -96,12 +96,13 @@ clXferPar ro DevString General CameraLink param
cocRunTime ro DevDouble cocRunTime (s) - only valid after the camera is armed
coolingTemperature ro DevDouble Cooling Temperature
debugInt rw DevString PCO plugin internal debug level (hex format: 0x....)
debugIntTypes r0 DevString PCO plugin internal debug types
debugIntTypes ro DevString PCO plugin internal debug types
doubleImageMode rw DevLong Double Image Mode
- enabled/disabled = 1/0 (rw)
- not allowed = -1 (ro)
firmwareInfo ro DevString Firmware info
frameRate ro DevDouble Framerate, calculated as: 1/cocRunTime (1/s)
generalCAPS1 ro DevString General PCO CAPS1 value (hex and bin)
info ro DevString General camera parameters information
lastError ro DevString The last PCO error message
lastImgAcquired ro DevLong Last image acquired (during recording)
......@@ -109,18 +110,21 @@ lastImgRecorded ro DevLong Last image recorded (dur
logMsg ro DevString Last Log msgs
logPcoEnabled ro DevLong PCO logs are enabled
maxNbImages ro DevLong The maximum number of images which can be acquired by the camera (recording mode)
paramsInfo ro DevString Values of the PCO properties **params**
pixelRate ro DevLong Actual Pixel Rate (Hz)
pixelRateInfo ro DevString Pixel Rate information
pixelRateValidValues ro DevString Allowed Pixel Rates
recorderForcedFifo rw DevLong Forced Fifo Mode (**only for recording cams**)
roiInfo ro DevString PCO ROI info
roiLastFixed ro DevString Last fixed ROI info
rollingShutter rw DevLong Rolling Shutter Mode (**only for some types of EDGE**)
rollingShutter rw DevLong Rolling Shutter Mode as int (**only for some types of EDGE**)
- 1 = ROLLING
- 2 = GLOBAL
- 4 = GLOBAL RESET
rollingShutterInfo ro DevString Rolling Shutter info
rollingShutterStr rw DevLong Rolling Shutter Mode as str (**only for some types of EDGE**)
temperatureInfo ro DevString Temperature info
test rw DevString Debug test function (**do not use it**)
timestampMode rw DevLong Timestamp mode
- 0 = none
- 1 = BCD coded stamp in the first 14 pixel
......
......@@ -572,6 +572,9 @@ namespace lima
DWORD dwMaxImageCnt[4];
WORD wRoiX0Now, wRoiY0Now, wRoiX1Now, wRoiY1Now;
WORD m_wArmWidth, m_wArmHeight, m_wMaxWidth, m_wMaxHeight;
WORD m_wBitPerPixel;
WORD wCamType;
DWORD dwSerialNumber;
......
#from Lima import Core
#from limapco import *
#from Lima import Core
from limapco import Pco as _P
globals().update(_P.__dict__)
This diff is collapsed.
......@@ -77,38 +77,37 @@ const char *_timestamp_pcocamera()
}
#ifdef WITH_GIT_VERSION
#include "PcoGitVersion.h"
# include "PcoGitVersion.h"
char * _timestamp_gitversion(char *buffVersion, int len)
char *_timestamp_gitversion(char *buffVersion, int len)
{
__sprintfSExt(buffVersion, len,
#ifdef PCO_GIT_VERSION
PCO_GIT_VERSION "\n"
#endif
#ifdef PCO_SDK_VERSION
PCO_SDK_VERSION "\n"
#endif
#ifdef PROCLIB_GIT_VERSION
PROCLIB_GIT_VERSION "\n"
#endif
#ifdef LIBCONFIG_GIT_VERSION
LIBCONFIG_GIT_VERSION "\n"
#endif
#ifdef LIMA_GIT_VERSION
LIMA_GIT_VERSION "\n"
#endif
#ifdef TANGO_GIT_VERSION
TANGO_GIT_VERSION "\n"
#endif
#ifdef SPEC_GIT_VERSION
SPEC_GIT_VERSION "\n"
#endif
"\n");
return buffVersion;
__sprintfSExt(buffVersion, len,
# ifdef PCO_GIT_VERSION
PCO_GIT_VERSION "\n"
# endif
# ifdef PCO_SDK_VERSION
PCO_SDK_VERSION "\n"
# endif
# ifdef PROCLIB_GIT_VERSION
PROCLIB_GIT_VERSION "\n"
# endif
# ifdef LIBCONFIG_GIT_VERSION
LIBCONFIG_GIT_VERSION "\n"
# endif
# ifdef LIMA_GIT_VERSION
LIMA_GIT_VERSION "\n"
# endif
# ifdef TANGO_GIT_VERSION
TANGO_GIT_VERSION "\n"
# endif
# ifdef SPEC_GIT_VERSION
SPEC_GIT_VERSION "\n"
# endif
"\n");
return buffVersion;
}
#endif
//=========================================================================================================
//=========================================================================================================
......@@ -1141,10 +1140,20 @@ void Camera::prepareAcq()
//==========================================================================================================
const char *sPcoAcqStatus[] = {
"pcoAcqIdle", "pcoAcqStart", "pcoAcqRecordStart",
"pcoAcqRecordEnd", "pcoAcqTransferStart", "pcoAcqTransferEnd",
"pcoAcqStop", "pcoAcqTransferStop", "pcoAcqRecordTimeout",
"pcoAcqWaitTimeout", "pcoAcqWaitError", "pcoAcqError",
"pcoAcqOK",
"pcoAcqIdle",
"pcoAcqStart",
"pcoAcqRecordStart",
"pcoAcqRecordEnd",
"pcoAcqRecordStop",
"pcoAcqRecordTimeout",
"pcoAcqTransferStart",
"pcoAcqTransferEnd",
"pcoAcqStop",
"pcoAcqTransferStop",
"pcoAcqWaitTimeout",
"pcoAcqWaitError",
"pcoAcqError",
"pcoAcqPcoError",
};
......
......@@ -351,7 +351,13 @@ const char *Camera::_pco_SetRecordingState(int state, int &err)
usElapsedTimeSet(usStart);
#endif
// if(wRecState_new == wRecState_actual) {error = 0; return fnId; }
if (wRecState_new == wRecState_actual)
{
DEB_TRACE() << " SetRecordingState - BYPASSED "
<< DEB_VAR2(wRecState_new, wRecState_actual);
err = 0;
return fnId;
}
// ------------------------------------------ cancel images
if (wRecState_new == 0)
......@@ -3154,6 +3160,7 @@ void Camera::getBytesPerPixel(unsigned int &pixbytes)
void Camera::getBitsPerPixel(WORD &pixbits)
{
pixbits = m_pcoData->stcPcoDescription.wDynResDESC;
m_pcoData->m_wBitPerPixel = pixbits;
}
//=================================================================================================
......@@ -3200,10 +3207,20 @@ void Camera::_pco_GetSizes(WORD *wXResActual, WORD *wYResActual, WORD *wXResMax,
if (error)
{
DEB_ALWAYS() << "ERROR - PCO_GetSizes";
*wXResActual = *wYResActual = 0;
//*wXResActual = *wYResActual = 0;
*wXResActual = m_pcoData->m_wArmWidth;
*wYResActual = m_pcoData->m_wArmHeight;
*wXResMax = m_pcoData->m_wMaxWidth;
*wYResMax = m_pcoData->m_wMaxHeight;
}
#endif
m_pcoData->m_wArmWidth = *wXResActual;
m_pcoData->m_wArmHeight = *wYResActual;
m_pcoData->m_wMaxWidth = *wXResMax;
m_pcoData->m_wMaxHeight = *wYResMax;
return;
}
......
......@@ -1075,8 +1075,6 @@ void Camera::getGeneralCAPS1(std::string &o_sn)
dwGeneralCaps1 = m_pcoData->stcPcoDescription.dwGeneralCaps1;
#endif
int nib[8];
int i, j;
......
......@@ -168,7 +168,7 @@ time_t getTimestamp()
//(..\..\..\..\src\PcoCamera.cpp) $
#define LEN_BUFF_DATE 128
#define LEN_BUFF_PATH PATH_MAX // 260 in win
#define LEN_BUFF_PATH PATH_MAX // 260 in win
#define TOKNR_DT 5
int __xlat_date(char *s1, char &ptrTo, int lenTo)
......@@ -2419,7 +2419,7 @@ void print_hex_dump_buff(void *ptr_buff, size_t len)
BYTE *ptr = (BYTE *)ptr_buff;
;
//printf("dump buff / len: %ld\n", len);
// printf("dump buff / len: %ld\n", len);
printf("dump buff / len: %zd\n", len);
while (len > 0)
......
......@@ -406,11 +406,11 @@ void _pco_acq_thread_dimax(void *argin)
m_sync->setStarted(false);
#if 0
if(requestStop == stopRequest)
{
Event *ev = new Event(Hardware,Event::Error,Event::Camera,Event::CamFault, errMsg);
m_cam->_getPcoHwEventCtrlObj()->reportEvent(ev);
}
if (requestStop == stopRequest)
{
Event* ev = new Event(Hardware, Event::Error, Event::Camera, Event::CamFault, errMsg);
m_cam->_getPcoHwEventCtrlObj()->reportEvent(ev);
}
#endif
......@@ -636,11 +636,11 @@ void _pco_acq_thread_dimax_trig_single(void *argin)
m_sync->setStarted(false);
#if 0
if(requestStop == stopRequest)
{
Event *ev = new Event(Hardware,Event::Error,Event::Camera,Event::CamFault, errMsg);
m_cam->_getPcoHwEventCtrlObj()->reportEvent(ev);
}
if (requestStop == stopRequest)
{
Event* ev = new Event(Hardware, Event::Error, Event::Camera, Event::CamFault, errMsg);
m_cam->_getPcoHwEventCtrlObj()->reportEvent(ev);
}
#endif
......@@ -689,6 +689,9 @@ void _pco_acq_thread_edge(void *argin)
m_sync->setExposing(status);
// m_sync->stopAcq();
printf("=== %s [%d]> _pco_SetRecordingState(0)\n", fnId, __LINE__);
const char *msg = m_cam->_pco_SetRecordingState(0, error);
if (error)
{
......@@ -726,15 +729,18 @@ void _pco_acq_thread_edge(void *argin)
case pcoAcqPcoError:
errMsg = "pcoAcqPcoError";
break;
default:
errMsg = NULL;
}
if (errMsg)
if (errMsg != NULL)
{
Event *ev = new Event(Hardware, Event::Error, Event::Camera,
Event::CamFault, errMsg);
m_cam->_getPcoHwEventCtrlObj()->reportEvent(ev);
}
printf("=== %s [%d]> TRACE %s\n", fnId, __LINE__, "exit thread");
_endthread();
}
......@@ -762,6 +768,8 @@ void _pco_acq_thread_dimax_live(void *argin)
long msXfer;
int requestStop = stopNone;
pcoAcqStatus status;
m_cam->_sprintComment(true, fnId, "[ENTRY]");
HANDLE m_handle = m_cam->getHandle();
......@@ -772,7 +780,21 @@ void _pco_acq_thread_dimax_live(void *argin)
m_pcoData->msAcqRec = 0;
m_pcoData->msAcqRecTimestamp = getTimestamp();
pcoAcqStatus status = (pcoAcqStatus)m_buffer->_xferImag();
//status = (pcoAcqStatus)m_buffer->_xferImag();
if ( !(m_pcoData->testCmdMode & TESTCMDMODE_DIMAX_XFERMULTI))
{
// _xferImagMult [PCO_GetImageEx]
status = (pcoAcqStatus)m_buffer->_xferImagMult();
}
else
{
// TODO wDoubleImage
// _xferImag [WaitForMultipleObjects]
status = (pcoAcqStatus) m_buffer->_xferImag();
}
m_sync->setExposing(status);
// m_sync->stopAcq();
const char *msg = m_cam->_pco_SetRecordingState(0, error);
......@@ -1066,19 +1088,19 @@ void Camera::startAcq()
_beginthread(_pco_acq_thread_edge, 0, (void *)this);
#if 0
AutoMutex lock(m_cond.mutex());
bool resWait;
int retry = 3;
int val, val0; val0 = pcoAcqRecordStart;
while( ((val = m_sync->getExposing()) != val0) && retry--)
{
DEB_TRACE() << "+++ getExposing / pcoAcqRecordStart - WAIT - " << DEB_VAR3(val, val0, retry);
resWait = m_cond.wait(2.);
}
DEB_TRACE() << "+++ getExposing / pcoAcqRecordStart - EXIT - " << DEB_VAR3(val, val0, retry);
lock.unlock();
AutoMutex lock(m_cond.mutex());
bool resWait;
int retry = 3;
int val, val0; val0 = pcoAcqRecordStart;
while (((val = m_sync->getExposing()) != val0) && retry--)
{
DEB_TRACE() << "+++ getExposing / pcoAcqRecordStart - WAIT - " << DEB_VAR3(val, val0, retry);
resWait = m_cond.wait(2.);
}
DEB_TRACE() << "+++ getExposing / pcoAcqRecordStart - EXIT - " << DEB_VAR3(val, val0, retry);
lock.unlock();
#endif
m_pcoData->traceAcq.msStartAcqEnd = msElapsedTime(tStart);
......@@ -1086,11 +1108,11 @@ void Camera::startAcq()
}
#if 0
if(_isCameraType(Pco2k | Pco4k)){
_beginthread( _pco_acq_thread_ringBuffer, 0, (void*) this);
m_pcoData->traceAcq.msStartAcqEnd = msElapsedTime(tStart);
return;
}
if (_isCameraType(Pco2k | Pco4k)) {
_beginthread(_pco_acq_thread_ringBuffer, 0, (void*)this);
m_pcoData->traceAcq.msStartAcqEnd = msElapsedTime(tStart);
return;
}
#endif
if (_isCameraType(Dimax | Pco2k | Pco4k))
......
......@@ -611,7 +611,8 @@ void SyncCtrlObj::getStatus(HwInterface::StatusType &status)
case pcoAcqRecordEnd:
case pcoAcqTransferStart:
status.acq = AcqRunning;
status.det = DetIdle;
// status.det = DetIdle;
status.det = DetLatency;
break;
case pcoAcqRecordStop:
......
###########################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2019
# European Synchrotron Radiation Facility
# CS40220 38043 Grenoble Cedex 9
# FRANCE
#
# Contact: lima@esrf.fr
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
cmake_minimum_required(VERSION 3.1)
project(pco_tango NONE)
# use lima toolbox function,
# if cmake is ran out of camera mother project, check python environment
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
find_package(Lima REQUIRED COMPONENTS tools)
set(CMAKE_MODULE_PATH
${LIMA_CMAKE_INCLUDE_DIRS} ${CMAKE_MODULE_PATH})
include(LimaTools)
endif()
limatools_install_camera_tango("Pco.py")
......@@ -85,6 +85,7 @@ class Pco(PyTango.Device_4Impl):
'binInfo': 'BinningInfo',
'bitAlignment': 'BitAlignment',
'bytesPerPixel': 'BytesPerPixel',
'camerasFound': 'CamerasFound',
'camInfo': 'CamInfo',
'camName': 'CameraName',
'camNameBase': 'CameraNameBase',
......@@ -94,9 +95,12 @@ class Pco(PyTango.Device_4Impl):
'clXferPar': 'ClTransferParam',
'cocRunTime': 'CocRunTime',
'coolingTemperature': 'CoolingTemperature',
'debugInt': 'DebugInt',
'debugIntTypes': 'DebugIntTypes',
'doubleImageMode': 'DoubleImageMode',
'firmwareInfo': 'FirmwareInfo',
'frameRate': 'FrameRate',
'generalCAPS1': 'GeneralCAPS1',
'info': 'CamInfo',
'lastError': 'LastError',
'lastImgAcquired': 'LastImgAcquired',
......@@ -104,6 +108,7 @@ class Pco(PyTango.Device_4Impl):
'logMsg': 'MsgLog',
'logPcoEnabled': 'PcoLogsEnabled',
'maxNbImages': 'MaxNbImages',
'paramsInfo': 'ParamsInfo',
'pixelRate': 'PixelRate',
'pixelRateInfo': 'PixelRateInfo',
'pixelRateValidValues': 'PixelRateValidValues',
......@@ -112,18 +117,13 @@ class Pco(PyTango.Device_4Impl):
'roiLastFixed': 'LastFixedRoi',
'rollingShutter': 'RollingShutter',
'rollingShutterInfo': 'RollingShutterInfo',
'rollingShutterStr': 'RollingShutterStr',
'temperatureInfo': 'TemperatureInfo',
'test': 'Test',
'timestampMode': 'TimestampMode',
'traceAcq': 'TraceAcq',
'version': 'Version',
'versionSdk': 'SdkRelease',
'camerasFound': 'CamerasFound',
'debugInt': 'DebugInt',
'debugIntTypes': 'DebugIntTypes',
'test': 'Test',
'timestampMode': 'TimestampMode',
'generalCAPS1': 'GeneralCAPS1',
'rollingShutterStr': 'RollingShutterStr',
'paramsInfo': 'ParamsInfo',
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment