- replaced obsolete funcion PCO_SetCamLinkSetImageParameters by...

- replaced obsolete funcion PCO_SetCamLinkSetImageParameters by PCO_SetImageParameters / sdk 1.20 (not documented)
- roi - included min roi size (not documented)
- included "trigSingleMulti" in the property param to manage ext trig single (spec START) as ext trig multi
- minor / error handling during recording
- minor / extend metadata to any allowed camera
- minor / get the dlls version
- included sc2_clhs_v1.3.32.dll (new patched version for the clhs / with firmware 1.19
- edge HS -> start AFTER ASSIGN (when BEFORE about 5 frames are lost)
- updated folder bat and pco logs
- temp patch in xMinSize (roi) up to firmware 1.19 if fixed (param xMinSize)
parent efc780cb
call limasetdir
cd /D %GITLIMADIR%
cd install\Lima
@echo off
rem ================================================================================================================================
rem ================================================================================================================================
rem shortcut / tarjet:
rem %comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\lima_pco_ds_vc.bat"" install-2014-10-24_121113 160.103.36.67 edge
rem shortcut / start in : "C:\Program Files\Microsoft Visual Studio 9.0\"
rem this file MUST be located in C:\Program Files\Microsoft Visual Studio 9.0\VC\
rem the directory install (%1) must be located in c:\blissadm\
rem ================================================================================================================================
rem ================================================================================================================================
if not exist "%~dp0bin\vcvars32.bat" goto missing
call "%~dp0bin\vcvars32.bat"
goto doit
:missing
echo The specified configuration type is missing. The tools for the
echo configuration might not be installed.
pause
goto :eof
rem python LimaCCDs.py pcodimax1 -ORBendPoint giop:tcp:160.103.35.39:
:doit
c:
@echo on
rem cd c:\blissadm\lima\pco\%1
cd c:\blissadm\%1
python LimaCCDs.py %3 -ORBendPoint giop:tcp:%2:
pause
:eof
call limasetdir
cd /D %GITLIMADIR%
call limasetdir
robocopy %GITLIMADIR%\install %LIMAPCODIR% /S
call limasetdir
cd /D %GITLIMADIR%
cd install
dir *.py
python LimaCCDs.py pco > 1.txt
call limasetdir
cd /D %GITLIMADIR%
cd install
dir *.py
python LimaCCDs.py pco
call limasetdir
cd /D %GITLIMADIR%\install
dir *.py
call limasetdir
cd /D %GITLIMADIR%\third-party\Processlib
@echo off
c:
set GITLIMADIR=c:\blissadm\git\Lima
set LIMAPCODIR=c:\blissadm\lima\pco\install
IF NOT EXIST %LIMAPCODIR% mkdir %LIMAPCODIR%
IF not EXIST %GITLIMADIR%\install mkdir %GITLIMADIR%\install
IF not EXIST %GITLIMADIR%\install\lima mkdir %GITLIMADIR%\install\Lima
rem set GITLIMADIR="R:\dserver\classes\ccd\pco_rh\Lima\install\Lima"
@echo on
\ No newline at end of file
call limasetdir
cd /D %GITLIMADIR%\third-party\Processlib\sip
python configure.py
nmake clean
nmake
cd /D %GITLIMADIR%
windowsSipCompilation.py --config
windowsSipCompilation.py
call limasetdir
cd /D %LIMAPCODIR%
python LimaCCDs.py pco
import time
if __name__ == '__main__':
print time.strftime("%Y-%m-%d-%H%M%S")
@echo off
c:
cd C:\ProgramData\pco
set PCODIR="C:\ProgramData\pco"
set BATDIR="c:\blissadm\pco\bat"
set LOGSONDIR="%BATDIR%\pcoLogsON"
set APPLICATION="%BATDIR%\getDate.py"
set DATEFILE="%PCODIR%\enviroment.txt"
@echo off & for /F "tokens=1-4 delims=/ " %%A in ('date/t') do (
set DateDay=%%A
set DateMonth=%%B
set DateYear=%%C
)
@echo off & for /F "tokens=1-4 delims=: " %%D in ('time/t') do (
set DateHour=%%D
set DateMin=%%E
)
c:
cd %PCODIR%
set CurrentDate=%DateYear%-%DateMonth%-%DateDay%-%DateHour%%DateMin%
echo %CurrentDate%
python %APPLICATION% > %DATEFILE%
set /P CurrentDate=<%DATEFILE%
set >> %DATEFILE%
md %CurrentDate%
......
@echo off
c:
cd C:\ProgramData\pco
@echo off & for /F "tokens=1-4 delims=/ " %%A in ('date/t') do (
set DateDay=%%A
set DateMonth=%%B
set DateYear=%%C
)
@echo off & for /F "tokens=1-4 delims=: " %%D in ('time/t') do (
set DateHour=%%D
set DateMin=%%E
)
set PCODIR="C:\ProgramData\pco"
set BATDIR="c:\blissadm\pco\bat"
set LOGSONDIR="%BATDIR%\pcoLogsON"
set APPLICATION="%BATDIR%\getDate.py"
set DATEFILE="%PCODIR%\enviroment.txt"
set CurrentDate=%DateYear%-%DateMonth%-%DateDay%-%DateHour%%DateMin%
c:
cd %PCODIR%
echo %CurrentDate%
python %APPLICATION% > %DATEFILE%
set /P CurrentDate=<%DATEFILE%
set >> %DATEFILE%
md %CurrentDate%
move *.log %CurrentDate%
move *.txt %CurrentDate%
copy *.ini %CurrentDate%
rem =========================================
echo %CurrentDate% > PCO_CDlg.txt
echo %CurrentDate% > PCO_Conv.txt
echo %CurrentDate% > SC2_Cam.txt
copy *.ini %CurrentDate%
\ No newline at end of file
@echo off
c:
cd C:\ProgramData\pco
@echo off & for /F "tokens=1-4 delims=/ " %%A in ('date/t') do (
set DateDay=%%A
set DateMonth=%%B
set DateYear=%%C
)
@echo off & for /F "tokens=1-4 delims=: " %%D in ('time/t') do (
set DateHour=%%D
set DateMin=%%E
)
set PCODIR="C:\ProgramData\pco"
set BATDIR="c:\blissadm\pco\bat"
set LOGSONDIR="%BATDIR%\pcoLogsON"
set APPLICATION="%BATDIR%\getDate.py"
set DATEFILE="%PCODIR%\enviroment.txt"
set CurrentDate=%DateYear%-%DateMonth%-%DateDay%-%DateHour%%DateMin%
c:
cd %PCODIR%
echo %CurrentDate%
python %APPLICATION% > %DATEFILE%
set /P CurrentDate=<%DATEFILE%
md %CurrentDate%
move *.log %CurrentDate%
move *.txt %CurrentDate%
copy *.ini %CurrentDate%
rem =========================================
echo %CurrentDate% > PCO_CDlg.log
echo %CurrentDate% > PCO_Conv.log
echo %CurrentDate% > SC2_Cam.log
set >> %DATEFILE%
copy %LOGSONDIR%\*.ini .
copy %LOGSONDIR%\*.log .
@echo off
rem %comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\lima_pco_ds.bat"" install pco4k 160.103.35.39
rem %comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\lima_pco_ds.bat"" install-ok
rem if not exist "%~dp0bin\vcvars32.bat" goto missing
rem call "%~dp0bin\vcvars32.bat"
rem goto doit
@echo on
c:
cd "C:\Program Files\Microsoft Visual Studio 9.0\VC\"
if not exist ".\bin\vcvars32.bat" goto missing
call ".\bin\vcvars32.bat"
goto doit
:missing
echo The specified configuration type is missing. The tools for the
echo configuration might not be installed.
pause
goto :eof
:doit
c:
@echo on
cd c:\blissadm\lima\pco\%1
python LimaCCDs.py %2 -ORBendPoint giop:tcp:%3:
pause
:eof
[ExtLog]
EXTLOG=1
EXTLOG_BEFORE_CAMWARE=0
[Logging]
LOGGING=0x0000FFFF
[Logging]
LOGGING=0x000FFFFF
[Logging]
LOGGING=0x000FFFFF
[Logging]
LOGGING=0x000FFFFF
[Logging]
LOGGING=0x0000FFFF
[Logging]
LOGGING=0x000FFFFF
[Logging]
LOGGING=0x000FFFFF
[Logging]
LOGGING=0x000FFFFF
2017/02/24 11:53:59 ==========================================
#define PCO_SDK_VERSION "$Id: PCOSDK [1.20] $"
#define PCO_GIT_VERSION "$Id: PCO rev[2017-02-10 11:39:40 +0100] head[1cce602][1cce60282e3629d0579f76d7f82a6506bd44e84a] ref[ (HEAD, gitrh/pco-win64-1.702, gitlab/pco-win64-1.702, pco-win64-1.702, master)] at [2017/02/24 11:53:59] $"
#define LIMA_GIT_VERSION "$Id: LIMA rev[2017-02-21 15:20:27 +0100] head[89594f5][89594f5b7c13dfcbae33bb4c2e39aba60b2e6b07] ref[ (HEAD, github/core-1.7, core-1.7)] at [2017/02/24 11:53:59] $"
#define PROCLIB_GIT_VERSION "$Id: PROCLIB rev[2016-12-02 15:09:41 +0100] head[970d79b][970d79b4d3a163ecee61e1256cf6a7b10d10a32a] ref[ (HEAD, github/master, github/HEAD, master)] at [2017/02/24 11:53:59] $"
#define LIBCONFIG_GIT_VERSION "$Id: LIBCONFIG rev[2013-02-07 18:08:29 +0100] head[89c411a][89c411a541d4ab4d66257ccb85749853fd685cbb] ref[ (HEAD, github/master, github/HEAD, master)] at [2017/02/24 11:53:59] $"
#define TANGO_GIT_VERSION "$Id: TANGO rev[2017-01-16 16:06:15 +0100] head[66913b0][66913b0f965bbae3cb4eadc2368895a3c0495cb6] ref[ (HEAD, tag: tango-camera-pco-1.7.1, master)] at [2017/02/24 11:53:59] $"
#define SPEC_GIT_VERSION "$Id: SPEC rev[2017-01-04 17:36:22 +0100] head[47fed76][47fed76ed21740e99d294f4e1ee4464152bf8956] ref[ (HEAD, master)] at [2017/02/24 11:53:59] $"
- temp patch in xMinSize (roi) up to firmware 1.19 if fixed (param xMinSize)
2017/02/10 13:23:20 ==========================================
scp: copied local directory to segfs and /tmp_14_days:
from: [../../install/] and [./bat/]
to: [blissadm@lid00a:/segfs/bliss/projects/LIMA/build/depot_win/win_vc9/pco/install-2017-02-10_132314]
to: [/t/rhoms1/install-2017-02-10_132314]
to: [/t/rhoms1/install-beta]
2017/02/10 12:50:54 ==========================================
scp: copied local directory to segfs and /tmp_14_days:
from: [../../install/] and [./bat/]
to: [blissadm@lid00a:/segfs/bliss/projects/LIMA/build/depot_win/win_vc9/pco/install-2017-02-10_125048]
to: [/t/rhoms1/install-2017-02-10_125048]
to: [/t/rhoms1/install-beta]
2017/02/10 12:12:41 ==========================================
scp: copied local directory to segfs and /tmp_14_days:
from: [../../install/] and [./bat/]
to: [blissadm@lid00a:/segfs/bliss/projects/LIMA/build/depot_win/win_vc9/pco/install-2017-02-10_121234]
to: [/t/rhoms1/install-2017-02-10_121234]
to: [/t/rhoms1/install-beta]
2017/02/10 12:10:14 ==========================================
#define PCO_SDK_VERSION "$Id: PCOSDK [1.20] $"
#define PCO_GIT_VERSION "$Id: PCO rev[2017-02-10 11:39:40 +0100] head[1cce602][1cce60282e3629d0579f76d7f82a6506bd44e84a] ref[ (HEAD, gitrh/pco-win64-1.702, gitlab/pco-win64-1.702, pco-win64-1.702, master)] at [2017/02/10 12:10:13] $"
#define LIMA_GIT_VERSION "$Id: LIMA rev[2017-01-11 09:12:23 +0100] head[9a5be39][9a5be397ae9cdd85991621191279e0e0cd9debea] ref[ (HEAD, tag: pilatus-1.7.1, github/core-1.7, core-1.7)] at [2017/02/10 12:10:13] $"
#define PROCLIB_GIT_VERSION "$Id: PROCLIB rev[2016-12-02 15:09:41 +0100] head[970d79b][970d79b4d3a163ecee61e1256cf6a7b10d10a32a] ref[ (HEAD, github/master, github/HEAD, master)] at [2017/02/10 12:10:13] $"
#define LIBCONFIG_GIT_VERSION "$Id: LIBCONFIG rev[2013-02-07 18:08:29 +0100] head[89c411a][89c411a541d4ab4d66257ccb85749853fd685cbb] ref[ (HEAD, github/master, github/HEAD, master)] at [2017/02/10 12:10:13] $"
#define TANGO_GIT_VERSION "$Id: TANGO rev[2017-01-16 16:06:15 +0100] head[66913b0][66913b0f965bbae3cb4eadc2368895a3c0495cb6] ref[ (HEAD, tag: tango-camera-pco-1.7.1, github/master, github/HEAD, master)] at [2017/02/10 12:10:13] $"
#define SPEC_GIT_VERSION "$Id: SPEC rev[2017-01-04 17:36:22 +0100] head[47fed76][47fed76ed21740e99d294f4e1ee4464152bf8956] ref[ (HEAD, github/master, github/HEAD, master)] at [2017/02/10 12:10:13] $"
- replaced obsolete funcion PCO_SetCamLinkSetImageParameters by PCO_SetImageParameters / sdk 1.20 (not documented)
- roi - included min roi size (not documented)
- included "trigSingleMulti" in the property param to manage ext trig single (spec START) as ext trig multi
- temp patch in xMinSize (roi) up to firmware 1.19 if fixed (param xMinSize = xx)
- minor / error handling during recording
- minor / extend metadata to any allowed camera
- minor / get the dlls version
- included sc2_clhs_v1.3.32.dll (new patched version for the clhs / with firmware 1.19
- edge HS -> start AFTER ASSIGN (when BEFORE about 5 frames are lost)
- updated folder bat and pco logs
2017/02/09 17:20:38 ==========================================
scp: copied local directory to segfs and /tmp_14_days:
from: [../../install/] and [./bat/]
to: [blissadm@lid00a:/segfs/bliss/projects/LIMA/build/depot_win/win_vc9/pco/install-2017-02-09_172032]
to: [/t/rhoms1/install-2017-02-09_172032]
to: [/t/rhoms1/install-beta]
2017/02/06 18:34:56 ==========================================
scp: copied local directory to segfs and /tmp_14_days:
from: [../../install/] and [./bat/]
to: [blissadm@lid00a:/segfs/bliss/projects/LIMA/build/depot_win/win_vc9/pco/install-2017-02-06_183450]
to: [/t/rhoms1/install-2017-02-06_183450]
to: [/t/rhoms1/install-beta]
2017/01/17 10:27:17 ==========================================
#define PCO_SDK_VERSION "$Id: PCOSDK [1.20] $"
#define PCO_GIT_VERSION "$Id: PCO rev[2017-01-10 17:57:53 +0100] head[1ee4329][1ee43294dc62ed78da8b0bb3437a6f900dfd0b9d] ref[ (HEAD, tag: pco-win64-1.701, gitrh/pco-1.604, gitlab/pco-1.604, pco-1.604, master)] at [2017/01/17 10:27:17] $"
......
......@@ -128,6 +128,7 @@ typedef int tPvErr;
#define PCO_FN3(er,mg, fn, x1, x2, x3) {mg = #fn; er = PcoCheckError(__LINE__, __FILE__, fn ( (x1),(x2),(x3) ), #fn ) ; }
#define PCO_FN4(er,mg, fn, x1, x2, x3, x4) {mg = #fn; er = PcoCheckError(__LINE__, __FILE__, fn ( (x1),(x2),(x3),(x4) ), #fn ) ; }
#define PCO_FN5(er,mg, fn, x1, x2, x3, x4, x5) {mg = #fn; er = PcoCheckError(__LINE__, __FILE__, fn ( (x1),(x2),(x3),(x4),(x5) ), #fn ) ; }
#define PCO_FN6(er,mg, fn, x1, x2, x3, x4, x5, x6) {mg = #fn; er = PcoCheckError(__LINE__, __FILE__, fn ( (x1),(x2),(x3),(x4),(x5),(x6) ), #fn ) ; }
char * _sprintComment(char *comment, char *comment1 ="" , char *comment2 ="" );
int _get_imageNr_from_imageTimestamp(void *buf,int shift);
......
......@@ -352,11 +352,13 @@ enum enumInterfaceTypes {
ifFirewire = 1<<0,
ifCameralink = 1<<1,
ifCameralinkHS = 1<<2,
ifUsb = 1<<3,
ifUsb3 = 1<<4,
ifEth = 1<<5,
ifSerial = 1<<6,
ifCoaxpress = 1<<7,
ifCameralinkAll = 1<<3,
ifUsb = 1<<4,
ifUsb3 = 1<<5,
ifEth = 1<<6,
ifSerial = 1<<7,
ifCoaxpress = 1<<8,
};
enum enumRoiError {
......@@ -413,6 +415,7 @@ namespace lima
void getMaxWidthHeight(unsigned int &xMax, unsigned int &yMax);
void getXYsteps(unsigned int &xSteps, unsigned int &ySteps);
void getXYdescription(unsigned int &xSteps, unsigned int &ySteps, unsigned int &xMax, unsigned int &yMax, unsigned int &xMinSize, unsigned int &yMinSize);
// void getArmWidthHeight(WORD& width,WORD& height){width = m_pcoData->wXResActual, height = m_pcoData->wYResActual;}
void getArmWidthHeight(WORD& width,WORD& height);
......@@ -507,6 +510,8 @@ namespace lima
bool _isValid_pixelRate(DWORD dwPixelRate);
int _checkValidRoi(const Roi &new_roi, Roi &fixed_roi);
int _fixValidRoi(unsigned int &x0, unsigned int &x1, unsigned int xMax, unsigned int xSteps, unsigned int xMinSize, bool bSymX);
void _set_Roi(const Roi &roi, const Roi &roiRequested, int &error);
void _get_Roi(Roi &roi);
......@@ -597,7 +602,7 @@ namespace lima
char *_pco_SetStorageMode_SetRecorderSubmode(enumPcoStorageMode, int &error);
int _pco_GetStorageMode_GetRecorderSubmode();
char *_pco_SetDelayExposureTime(int &error);
char *_pco_SetCamLinkSetImageParameters(int &error);
char *_pco_SetImageParameters(int &error);
char *_pco_GetCameraType(int &error);
char *_pco_GetTemperatureInfo(int &error);
void _pco_GetPixelRate(DWORD &pixRate, DWORD &pixRateNext, int &error);
......
......@@ -114,6 +114,8 @@ namespace lima
Cond m_cond;
int m_requestStop, m_requestStopRetry;
bool m_extTrigSingle_eq_Multi;
};
} // namespace Pco
......
......@@ -337,15 +337,12 @@ int BufferCtrlObj::_assignImage2Buffer(DWORD &dwFrameFirst, DWORD &dwFrameLast,
DEB_ALWAYS() << "PCO_AddBufferEx -> " << DEB_VAR6(error, dwFrame, iPcoBufIdx, bufIdx,wArmWidth, wArmHeight);
}
if(error) {
printf("==== %s error [%s]\n", fnId, sErr);
printf("==== dwFrame[%d] dwFrameFirst[%d] dwFrameLast[%d]\n", dwFrame, dwFrameFirst, dwFrameLast);
printf("==== wArmWidth[%d] wArmHeight[%d] wBitPerPixel[%d]\n", wArmWidth, wArmHeight, wBitPerPixel);
DEB_TRACE() << sErr;
DEB_TRACE() << DEB_VAR2(dwFrameFirst, dwFrameLast);
DEB_TRACE() << DEB_VAR3(wArmWidth, wArmHeight, wBitPerPixel);
THROW_HW_ERROR(NotSupported) << sErr;
if(error)
{
DEB_ALWAYS() << "\n*** ERROR - SDK ***"
<< "\n " << sErr
<< "\n " << DEB_VAR6(dwFrame, dwFrameFirst, dwFrameLast, wArmWidth, wArmHeight, wBitPerPixel);
return -1;
}
#endif
......
This diff is collapsed.
......@@ -326,29 +326,52 @@ int Camera::_pco_GetImageTiming(double &frameTime, double &expTime, double &sysD
}
//=================================================================================================
//=================================================================================================
char *Camera::_pco_SetCamLinkSetImageParameters(int &error){
//SC2_SDK_FUNC int WINAPI PCO_SetImageParameters(HANDLE ph, WORD wxres, WORD wyres, DWORD dwflags, void* param, int ilen);
// Necessary while using a soft-roi enabled interface. It is recommended to use this function
// with all interface types of pco when soft-roi is enabled. This function can be used as a replacement for
// PCO_CamLinkSetImageParameters
// If there is a change in buffer size (ROI, binning) and/or ROI relocation this function must
// be called with the new x and y resolution. Additionally this function has to be called,
// if you switch to another camera internal memory segment with different x and y size or ROI and like to get images.
// In: HANDLE ph -> Handle to a previously opened camera.
// WORD wxres -> X Resolution of the images to be transferred
// WORD wyres -> Y Resolution of the images to be transferred
// DWORD dwflags -> Flags to select the correct soft-ROI for interface preparation
// Set IMAGEPARAMETERS_READ_FROM_SEGMENTS when the next image operation will read images
// from one of the camera internal memory segments (if available).
// Set IMAGEPARAMETERS_READ_WHILE_RECORDING when the next image operation is a recording
// void* param -> Pointer to a structure for future use (set to NULL); Currently not used.
// int ilen -> int to hold the length of the param structure for future use (set to 0); Currently not used.
// Out: int -> Error message.
char *Camera::_pco_SetImageParameters(int &error){
DEB_MEMBER_FUNCT();
DEF_FNID;
char *pcoFn;
WORD wXres, wYres;
// camLink -> imgPar
// GigE -> imgPar
switch (_getInterfaceType()) {
case INTERFACE_CAMERALINK:
case INTERFACE_ETHERNET:
WORD wXres, wYres;
void *param = NULL;
int iLenParam = 0;
DWORD dwFlags = 0;
wXres= m_pcoData->wXResActual;
wYres= m_pcoData->wYResActual;
DEB_ALWAYS() << "PCO_CamLinkSetImageParameters: " << DEB_VAR2(wXres, wYres);
dwFlags = _isCameraType(Edge) ?
IMAGEPARAMETERS_READ_WHILE_RECORDING :
IMAGEPARAMETERS_READ_FROM_SEGMENTS;
wXres= m_pcoData->wXResActual;
wYres= m_pcoData->wYResActual;
DEB_ALWAYS() << "PCO_SetImageParameters: " << DEB_VAR3(wXres, wYres, dwFlags);
PCO_FN3(error, pcoFn,PCO_CamLinkSetImageParameters, m_handle, wXres, wYres);
if(error) { throw LIMA_HW_EXC(Error, pcoFn); }
//error = PCO_SetImageParameters(m_handle, wXres, wYres, dwFlags, param, iLenParam);
default: break;
} // switch
PCO_FN6(error, pcoFn,PCO_SetImageParameters, m_handle, wXres, wYres, dwFlags, param, iLenParam);
if(error)
{
DEB_ALWAYS() << "ERROR: \n" << DEB_VAR2(pcoFn, error);
throw LIMA_HW_EXC(Error, pcoFn);
}
return fnId;
}
......@@ -376,7 +399,7 @@ char *Camera::_pco_SetTransferParameter_SetActiveLookupTable(int &error){
// PCO_CL_DATAFORMAT_5x12L 0x09 //extract data to 16Bit
// PCO_CL_DATAFORMAT_5x12R 0x0A //without extract
if ((_getInterfaceType()==INTERFACE_CAMERALINK) || (_getInterfaceType()==INTERFACE_CAMERALINKHS))
if (_isInterfaceType(ifCameralinkAll))
{
char *info = "[none]";
......@@ -393,7 +416,6 @@ char *Camera::_pco_SetTransferParameter_SetActiveLookupTable(int &error){
m_pcoData->clTransferParam.DataFormat=PCO_CL_DATAFORMAT_2x12; //=2
info = "DIMAX / 2x12 ";
} else
if(_isCameraType(EdgeGL)) {
m_pcoData->clTransferParam.Transmit = 1;
m_pcoData->clTransferParam.DataFormat=PCO_CL_DATAFORMAT_5x12 |
......@@ -403,7 +425,6 @@ char *Camera::_pco_SetTransferParameter_SetActiveLookupTable(int &error){
doLut = true;
info = "EDGE GL / 5x12 TOP_CENTER_BOTTOM_CENTER / LUT off";
} else
if(_isCameraType(EdgeHS)) {
m_pcoData->clTransferParam.Transmit = 1;
m_pcoData->clTransferParam.DataFormat=PCO_CL_DATAFORMAT_5x16 |
......@@ -412,29 +433,28 @@ char *Camera::_pco_SetTransferParameter_SetActiveLookupTable(int &error){
doLut = true;
info = "EDGE HS / 5x16 TOP_CENTER_BOTTOM_CENTER / LUT off";
} else
if(_isCameraType(EdgeRolling)){
m_pcoData->clTransferParam.Transmit = 1;
if(_isCameraType(EdgeRolling)){
m_pcoData->clTransferParam.Transmit = 1;
if(m_pcoData->dwPixelRate <= PCO_EDGE_PIXEL_RATE_LOW){
m_pcoData->clTransferParam.DataFormat=PCO_CL_DATAFORMAT_5x16 |
SCCMOS_FORMAT_TOP_CENTER_BOTTOM_CENTER;
m_pcoData->wLUT_Identifier = PCO_EDGE_LUT_NONE; // Switch LUT->off
info = "EDGE Rolling / 5x16 TOP_CENTER_BOTTOM_CENTER / LUT off";
} else
if( ((m_pcoData->dwPixelRate >= PCO_EDGE_PIXEL_RATE_HIGH) &
(wXResActual > PCO_EDGE_WIDTH_HIGH))) {
m_pcoData->clTransferParam.DataFormat=PCO_CL_DATAFORMAT_5x12L |
SCCMOS_FORMAT_TOP_CENTER_BOTTOM_CENTER;
m_pcoData->wLUT_Identifier = PCO_EDGE_LUT_SQRT; //Switch LUT->sqrt
info = "EDGE Rolling / 5x12L TOP_CENTER_BOTTOM_CENTER / LUT SQRT";
} else {
m_pcoData->clTransferParam.DataFormat = PCO_CL_DATAFORMAT_5x16 |
SCCMOS_FORMAT_TOP_CENTER_BOTTOM_CENTER;
m_pcoData->wLUT_Identifier = PCO_EDGE_LUT_NONE; // Switch LUT->off
info = "EDGE Rolling / 5x16 TOP_CENTER_BOTTOM_CENTER / LUT off";
}
doLut = true;
if(m_pcoData->dwPixelRate <= PCO_EDGE_PIXEL_RATE_LOW){
m_pcoData->clTransferParam.DataFormat=PCO_CL_DATAFORMAT_5x16 |
SCCMOS_FORMAT_TOP_CENTER_BOTTOM_CENTER;
m_pcoData->wLUT_Identifier = PCO_EDGE_LUT_NONE; // Switch LUT->off
info = "EDGE Rolling / 5x16 TOP_CENTER_BOTTOM_CENTER / LUT off";
} else
if( ((m_pcoData->dwPixelRate >= PCO_EDGE_PIXEL_RATE_HIGH) &
(wXResActual > PCO_EDGE_WIDTH_HIGH))) {
m_pcoData->clTransferParam.DataFormat=PCO_CL_DATAFORMAT_5x12L |
SCCMOS_FORMAT_TOP_CENTER_BOTTOM_CENTER;
m_pcoData->wLUT_Identifier = PCO_EDGE_LUT_SQRT; //Switch LUT->sqrt
info = "EDGE Rolling / 5x12L TOP_CENTER_BOTTOM_CENTER / LUT SQRT";
} else {
m_pcoData->clTransferParam.DataFormat = PCO_CL_DATAFORMAT_5x16 |
SCCMOS_FORMAT_TOP_CENTER_BOTTOM_CENTER;
m_pcoData->wLUT_Identifier = PCO_EDGE_LUT_NONE; // Switch LUT->off
info = "EDGE Rolling / 5x16 TOP_CENTER_BOTTOM_CENTER / LUT off";
}
doLut = true;
}
if((_pcoData.clTransferParam.baudrate != m_pcoData->clTransferParam.baudrate) ||
......@@ -451,7 +471,13 @@ char *Camera::_pco_SetTransferParameter_SetActiveLookupTable(int &error){
throw LIMA_HW_EXC(Error, msg);
}
_armRequired(true);
}
else
{
DEB_ALWAYS() << "PCO_SetTransferParameter (clTransferParam) NOT DONE@" << info ;
}
} // if cameralink
......@@ -885,9 +911,11 @@ char * Camera::_pco_SetRecordingState(int state, int &error){
PCO_PRINT_ERR(error, msg); if(error) return msg;
#endif
if(count) {
DEB_ALWAYS() << fnId << ": PCO_CancelImages";
DEB_ALWAYS() << ": PCO_CancelImages() - CALLING";
PCO_FN1(error, msg,PCO_CancelImages, m_handle);
PCO_PRINT_ERR(error, msg); if(error) return msg;
} else {
DEB_ALWAYS() << ": PCO_CancelImages() - BYPASSED";
}
}
......@@ -925,13 +953,29 @@ char *Camera::_pco_SetMetaDataMode(WORD wMetaDataMode, int &error){
DEB_MEMBER_FUNCT();
DEF_FNID;
char *msg;
WORD _wMetaDataMode, _wMetaDataSize, _wMetaDataVersion ;
m_pcoData->wMetaDataSize = m_pcoData->wMetaDataVersion = 0;
if(_isCameraType(Dimax)) {
m_pcoData->wMetaDataMode = wMetaDataMode;
PCO_FN4(error, msg,PCO_SetMetaDataMode, m_handle, wMetaDataMode, &m_pcoData->wMetaDataSize, &m_pcoData->wMetaDataVersion);
PCO_PRINT_ERR(error, msg); if(error) return msg;
}
m_pcoData->wMetaDataSize = m_pcoData->wMetaDataVersion = m_pcoData->wMetaDataMode = 0;
if(!m_pcoData->bMetaDataAllowed) return fnId;
PCO_FN4(error, msg, PCO_GetMetaDataMode, m_handle, &_wMetaDataMode, &_wMetaDataSize, &_wMetaDataVersion);
PCO_PRINT_ERR(error, msg); if(error) return msg;
m_pcoData->wMetaDataSize = _wMetaDataSize;
m_pcoData->wMetaDataVersion = _wMetaDataVersion;
m_pcoData->wMetaDataMode = _wMetaDataMode;
// now pco edge also allows metatada (not only dimax)
//if(_isCameraType(Dimax)) {
PCO_FN4(error, msg,PCO_SetMetaDataMode, m_handle, wMetaDataMode, &_wMetaDataSize, &_wMetaDataVersion);
PCO_PRINT_ERR(error, msg); if(error) return msg;
m_pcoData->wMetaDataSize = _wMetaDataSize;
m_pcoData->wMetaDataVersion = _wMetaDataVersion;
m_pcoData->wMetaDataMode = wMetaDataMode;
return fnId;
}
//=================================================================================================
......
......@@ -275,6 +275,20 @@ char *Camera::_talk(char *_cmd, char *output, int lg){
keys_desc[ikey++] = "(R) detailed cam info (type, if, sn, hw & fw ver, ...)";
if(_stricmp(cmd, key) == 0){
_camInfo(ptr, ptrMax, CAMINFO_ALL);
return output;
}
//----------------------------------------------------------------------------------------------------------
#define BUFFER_LEN 256
key = keys[ikey] = "getVersionDLL";
keys_desc[ikey++] = "(R) get verions of loaded DLLs";
if(_stricmp(cmd, key) == 0){
char buff[BUFFER_LEN+1];
ptr += sprintf_s(ptr, ptrMax - ptr, "%s", _getPcoSdkVersion(buff, BUFFER_LEN, "sc2_cam.dll"));
ptr += sprintf_s(ptr, ptrMax - ptr, "%s", _getPcoSdkVersion(buff, BUFFER_LEN, "sc2_cl_me4.dll"));
ptr += sprintf_s(ptr, ptrMax - ptr, "%s", _getPcoSdkVersion(buff, BUFFER_LEN, "sc2_clhs.dll"));
return output;
}
......@@ -1912,77 +1926,11 @@ char * _getUserName(char *infoBuff, DWORD bufCharCount )
#include <winver.h>
#pragma comment(lib, "version.lib")