save 2022-11-08 readout parameters still does not work...

This commit is contained in:
Iocuser
2022-11-08 17:31:25 +01:00
parent 97a79d1cdf
commit a9d35e911c

View File

@@ -330,21 +330,32 @@ return int(status);
}
//============================================================================
int Hama::getParameter(int propertyID){
printf("\n[DEBUG] *** Function:getProperty\n");
asynStatus status = asynSuccess;
double dvalue = 0;
// status |= getIntegerParam(ADMinX, &minH);
// m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHPOS, &dminH);
switch (propertyID){
case DETECTOR_PIXEL_NUM_HORZ:
m_err = dcamprop_getvalue(m_hdcam, DETECTOR_PIXEL_NUM_HORZ, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "DETECT)R_PIXEL_SIZE_HORZ", "IDPROP:0x%08x, VALUE:%f\n", propertyID, dvalue);
}
status = setIntegerParam(ADMaxSizeX, dvalue);
printError(m_hdcam, m_err, "DETECT)R_PIXEL_SIZE_HORZ", "IDPROP:0x%08x, dVALUE:%f, status:%d\n", propertyID, dvalue, status);
break;
case DETECTOR_PIXEL_NUM_VERT:
m_err = dcamprop_getvalue(m_hdcam, DETECTOR_PIXEL_NUM_VERT, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "DETECT)R_PIXEL_SIZE_VERT", "IDPROP:0x%08x, VALUE:%f\n", propertyID, dvalue);
}
status = setIntegerParam(ADMaxSizeY, dvalue);
printError(m_hdcam, m_err, "DETECT)R_PIXEL_SIZE_VERT", "IDPROP:0x%08x, dVALUE:%f, status:%d\n", propertyID, dvalue, status);
break;
case DCAM_IDPROP_IMAGE_PIXELTYPE:
@@ -354,12 +365,20 @@ int Hama::getParameter(int propertyID){
case DCAM_IDPROP_IMAGE_WIDTH:
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_WIDTH, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "IMAGE WIDTH", "IDPROP:0x%08x, VALUE:%f\n", propertyID, dvalue);
}
status = setIntegerParam(hImageWidth, dvalue);
printError(m_hdcam, m_err, "IMAGE WIDTH", "IDPROP:0x%08x, dVALUE:%f, status:%d\n", propertyID, dvalue, status);
break;
case DCAM_IDPROP_IMAGE_HEIGHT:
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_HEIGHT, &dvalue);
if(failed(m_err)) {
printError(m_hdcam, m_err, "IMAGE HEIGHT", "IDPROP:0x%08x, VALUE:%f\n", propertyID, dvalue);
}
status = setIntegerParam(hImageHeight, dvalue);
printError(m_hdcam, m_err, "IMAGE HEIGHT", "IDPROP:0x%08x, dVALUE:%f, status:%d\n", propertyID, dvalue, status);
break;
case DCAM_IDPROP_IMAGE_ROWBYTES:
@@ -475,6 +494,9 @@ int Hama::getParameter(int propertyID){
printError(m_hdcam, m_err, "dcamprop_getvalue()", "IDPROP:0x%08x, VALUE:%s\n", propertyID, text);
}
printf("---------------------------------------STATUS: %d\n", status);
status = setIntegerParam(propertyID, dvalue);
/* Do callbacks so higher layers see any changes */
status = (asynStatus) callParamCallbacks();
return int(status);
@@ -727,7 +749,6 @@ void Hama::temperatureTask(){
callParamCallbacks();
epicsThreadSleep(1.0);
}
}
@@ -1416,14 +1437,16 @@ int Hama::updateSensorSize(){
dminV = minV;
dsizeH = sizeH;
dsizeV = sizeV;
double mode = DCAMPROP_MODE__ON;
double modeON = DCAMPROP_MODE__ON;
double modeOFF = DCAMPROP_MODE__OFF;
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &mode);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeOFF);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_BINNING, &dbinning);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHPOS, &dminH);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVPOS, &dminV);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYHSIZE, &dsizeH);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYVSIZE, &dsizeV);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeON);
/*