Add Tomasz's changes
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -7,4 +7,6 @@ O.*
|
||||
*.db.*
|
||||
pv.list
|
||||
core.*
|
||||
.vscode
|
||||
.vscode
|
||||
list.txt
|
||||
.vscode/c_cpp_properties.json
|
||||
10
.vscode/c_cpp_properties.json
vendored
10
.vscode/c_cpp_properties.json
vendored
@@ -6,11 +6,11 @@
|
||||
"${workspaceFolder}/**",
|
||||
"${workspaceFolder}/ADHamaApp/src/**",
|
||||
"${workspaceFolder}/ADHamaApp/src/",
|
||||
"/home/iocuser/.conda/envs/hama/epics/include/**",
|
||||
"/home/iocuser/.conda/envs/hama/epics/include/",
|
||||
"/home/iocuser/.conda/envs/hama/modules/adcore/3.10.0/include/",
|
||||
"/home/iocuser/.conda/envs/hama/modules/**",
|
||||
"/home/iocuser/.conda/envs/hama/epics/include/os/Linux"
|
||||
"/home/iocuser/.conda/envs/hama-dev/epics/include/**",
|
||||
"/home/iocuser/.conda/envs/hama-dev/epics/include/",
|
||||
"/home/iocuser/.conda/envs/hama-dev/modules/adcore/3.10.0/include/",
|
||||
"/home/iocuser/.conda/envs/hama-dev/modules/**",
|
||||
"/home/iocuser/.conda/envs/hama-dev/epics/include/os/Linux"
|
||||
],
|
||||
"defines": [],
|
||||
"compilerPath": "/usr/bin/gcc",
|
||||
|
||||
@@ -988,10 +988,9 @@ return (asynStatus)status;
|
||||
|
||||
//============================================================================
|
||||
asynStatus Hama::readSensor(){
|
||||
|
||||
|
||||
asynStatus status = asynSuccess;
|
||||
|
||||
/*
|
||||
int minH=0, minV=0, sizeH=0, sizeV=0, binning=1, bitPerChannel = 0;
|
||||
double dminH=0, dminV=0, dsizeH=0, dsizeV=0, dbinning=1;
|
||||
double dFrameBytes = 0, dRowBytes = 0;
|
||||
@@ -1023,12 +1022,12 @@ asynStatus Hama::readSensor(){
|
||||
double dsensorH = 2048;
|
||||
double dsensorV = 2048;
|
||||
|
||||
/*
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeOFF);
|
||||
if(failed(m_err))
|
||||
printError(m_hdcam, m_err, "dcamprop_SubarrayMode()", " VALUE:%f\n", modeOFF);
|
||||
|
||||
//m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeOFF);
|
||||
//if(failed(m_err))
|
||||
// printError(m_hdcam, m_err, "dcamprop_SubarrayMode()", " VALUE:%f\n", modeOFF);
|
||||
|
||||
*/
|
||||
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_BINNING, &dbinning);
|
||||
if(failed(m_err))
|
||||
printError(m_hdcam, m_err, "dcamprop_Binning()", " VALUE:%f\n", dbinning);
|
||||
@@ -1120,12 +1119,12 @@ asynStatus Hama::readSensor(){
|
||||
|
||||
status = setIntegerParam(NDArraySize, bytes);
|
||||
|
||||
/*
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeON);
|
||||
*/
|
||||
|
||||
// m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeON);
|
||||
|
||||
|
||||
callParamCallbacks();
|
||||
|
||||
*/
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -1241,58 +1240,54 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
|
||||
}
|
||||
}
|
||||
else if (index == ADSizeX) {
|
||||
int sensorH = 2048, minH = 0, sizeH = 0;
|
||||
int sensorX = 2048, minX = 0, sizeX = 0;
|
||||
double dFrameBytes = 0;
|
||||
getIntegerParam(ADMinX, &minH);
|
||||
getIntegerParam(ADSizeX, &sizeH);
|
||||
printf("---1 sensorH = %d minH = %d sizeH = %d\n", sensorH, minH, sizeH);
|
||||
getIntegerParam(ADMinX, &minX);
|
||||
getIntegerParam(ADSizeX, &sizeX);
|
||||
|
||||
if(sizeH < sensorH - minH){
|
||||
double dsizeH = sizeH;
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHSIZE, &dsizeH);
|
||||
if(sizeX < sensorX - minX){
|
||||
double dsizeX = sizeX;
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHSIZE, &dsizeX);
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &dFrameBytes);
|
||||
status = setIntegerParam(hImageFramebytes, dFrameBytes);
|
||||
status = setIntegerParam(ADSizeX, (int)dsizeX);
|
||||
printf("1-Status = %d\n", status);
|
||||
}
|
||||
else{
|
||||
|
||||
double dsizeH = sensorH - minH;
|
||||
printf("---2 sensorH = %d minH = %d sizeH = %f\n", sensorH, minH, dsizeH);
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHSIZE, &dsizeH);
|
||||
if(failed(m_err)) printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%d\n", index, (int)dsizeH);
|
||||
|
||||
double dsizeX = sensorX - minX;
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHSIZE, &dsizeX);
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &dFrameBytes);
|
||||
if(failed(m_err)) printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%d\n", index, (int)dFrameBytes);
|
||||
|
||||
printf("---3 dFrameBuffer = %f\n", dFrameBytes);
|
||||
status = setIntegerParam(ADSizeX, sizeX);
|
||||
printf("2-Status = %d\n", status);
|
||||
status = setIntegerParam(hImageFramebytes, dFrameBytes);
|
||||
//status = setIntegerParam(ADSizeX, dsizeH);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (index == ADSizeY) {
|
||||
int sensorV = 2048, minV = 0, sizeV = 0;
|
||||
int sensorY = 2048, minY = 0, sizeY = 0;
|
||||
double dFrameBytes = 0;
|
||||
getIntegerParam(ADMinY, &minV);
|
||||
getIntegerParam(ADSizeY, &sizeV);
|
||||
getIntegerParam(ADMinY, &minY);
|
||||
getIntegerParam(ADSizeY, &sizeY);
|
||||
|
||||
if(sizeV < sensorV - minV){
|
||||
double dsizeV = sizeV;
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVSIZE, &dsizeV);
|
||||
if(sizeY < sensorY - minY){
|
||||
double dsizeY = sizeY;
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVSIZE, &dsizeY);
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &dFrameBytes);
|
||||
status = setIntegerParam(ADSizeX, (int)dsizeY);
|
||||
status = setIntegerParam(hImageFramebytes, dFrameBytes);
|
||||
}
|
||||
else{
|
||||
|
||||
double dsizeV = sizeV;
|
||||
printf("---4 sensor = %d min = %d size = %d\n", sensorV, minV, sizeV);
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVSIZE, &dsizeV);
|
||||
if(failed(m_err)) printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%d\n", index, (int)dsizeV);
|
||||
double dsizeY = sizeY;
|
||||
//printf("---4 sensor = %d min = %d size = %d\n", sensorY, minY, sizeY);
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVSIZE, &dsizeY);
|
||||
//if(failed(m_err)) printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%d\n", index, (int)dsizeY);
|
||||
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &dFrameBytes);
|
||||
if(failed(m_err)) printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%d\n", index, (int)dFrameBytes);
|
||||
//if(failed(m_err)) printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%d\n", index, (int)dFrameBytes);
|
||||
|
||||
status = setIntegerParam(hImageFramebytes, dFrameBytes);
|
||||
status = setIntegerParam(ADSizeX, dsizeV);
|
||||
status = setIntegerParam(ADSizeX, (int)dsizeY);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user