diff --git a/ADHamaApp/src/hama.cpp b/ADHamaApp/src/hama.cpp index 33b3451..58e9230 100644 --- a/ADHamaApp/src/hama.cpp +++ b/ADHamaApp/src/hama.cpp @@ -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); /*