small update

This commit is contained in:
Iocuser
2023-02-09 09:20:07 +01:00
parent 27dabf4fdc
commit b01e13eb77

View File

@@ -385,84 +385,6 @@ int Hama::readParameterStr(int propertyID){
return status;
}
//============================================================================
asynStatus Hama::readAttributes(){
int status = 0;
readParameter( DCAM_IDPROP_COLORTYPE );
//status |= readParameter( DCAM_IDPROP_BITSPERCHANNEL );
status = readParameter( DCAM_IDPROP_IMAGE_ROWBYTES );
status = readParameter( DCAM_IDPROP_IMAGE_FRAMEBYTES );
status = readParameter( DCAM_IDPROP_IMAGE_TOPOFFSETBYTES );
//status |= readParameter( DCAM_IDPROP_IMAGE_PIXELTYPE );
status = readParameter( DCAM_IDPROP_BUFFER_ROWBYTES );
status = readParameter( DCAM_IDPROP_BUFFER_FRAMEBYTES );
status = readParameter( DCAM_IDPROP_BUFFER_TOPOFFSETBYTES );
status = readParameter( DCAM_IDPROP_BUFFER_PIXELTYPE );
status = readParameter( DCAM_IDPROP_RECORDFIXEDBYTES_PERFILE );
status = readParameter( DCAM_IDPROP_RECORDFIXEDBYTES_PERSESSION );
status = readParameter( DCAM_IDPROP_RECORDFIXEDBYTES_PERFRAME );
status = readParameter( DCAM_IDPROP_SYSTEM_ALIVE );
status = readParameter( DCAM_IDPROP_CONVERSIONFACTOR_COEFF );
status = readParameter( DCAM_IDPROP_CONVERSIONFACTOR_OFFSET );
status = readParameter( DCAM_IDPROP_NUMBEROF_VIEW );
return (asynStatus)status;
}
//============================================================================
asynStatus Hama::readSensor(){
asynStatus status = asynSuccess;
int minH=0, minV=0, sizeH=0, sizeV=0, binning=1;
double dminH=0, dminV=0, dsizeH=0, dsizeV=0, dbinning=1;
double dvalue = 0;
getIntegerParam(ADMinX, &minH);
getIntegerParam(ADMinY, &minV);
getIntegerParam(ADSizeX, &sizeH);
getIntegerParam(ADSizeY, &sizeV);
getIntegerParam(hBinning, &binning);
dbinning = binning;
dminH = minH;
dminV = minV;
dsizeH = sizeH;
dsizeV = sizeV;
double modeON = DCAMPROP_MODE__ON;
double modeOFF = DCAMPROP_MODE__OFF;
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_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_WIDTH, &dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_HEIGHT, &dvalue);
status = setIntegerParam(ADBinX, dvalue);
status = setIntegerParam(ADBinY, dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_ROWBYTES, &dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &dvalue);
//m_err = dcamprop_getvalue(m_hdcam, , &dvalue);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeON);
callParamCallbacks();
return status;
}
//============================================================================
int Hama::readParameter(int propertyID){
@@ -1035,6 +957,93 @@ void Hama::temperatureTask(){
}
//============================================================================
asynStatus Hama::readAttributes(){
int status = 0;
readParameter( DCAM_IDPROP_COLORTYPE );
//status |= readParameter( DCAM_IDPROP_BITSPERCHANNEL );
status = readParameter( DCAM_IDPROP_IMAGE_ROWBYTES );
status = readParameter( DCAM_IDPROP_IMAGE_FRAMEBYTES );
status = readParameter( DCAM_IDPROP_IMAGE_TOPOFFSETBYTES );
//status |= readParameter( DCAM_IDPROP_IMAGE_PIXELTYPE );
status = readParameter( DCAM_IDPROP_BUFFER_ROWBYTES );
status = readParameter( DCAM_IDPROP_BUFFER_FRAMEBYTES );
status = readParameter( DCAM_IDPROP_BUFFER_TOPOFFSETBYTES );
status = readParameter( DCAM_IDPROP_BUFFER_PIXELTYPE );
status = readParameter( DCAM_IDPROP_RECORDFIXEDBYTES_PERFILE );
status = readParameter( DCAM_IDPROP_RECORDFIXEDBYTES_PERSESSION );
status = readParameter( DCAM_IDPROP_RECORDFIXEDBYTES_PERFRAME );
status = readParameter( DCAM_IDPROP_SYSTEM_ALIVE );
status = readParameter( DCAM_IDPROP_CONVERSIONFACTOR_COEFF );
status = readParameter( DCAM_IDPROP_CONVERSIONFACTOR_OFFSET );
status = readParameter( DCAM_IDPROP_NUMBEROF_VIEW );
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;
double dvalue = 0;
getIntegerParam(ADMinX, &minH);
getIntegerParam(ADMinY, &minV);
getIntegerParam(ADSizeX, &sizeH);
getIntegerParam(ADSizeY, &sizeV);
getIntegerParam(hBinning, &binning);
getIntegerParam(hBitPerChannel, &bitPerChannel);
dbinning = binning;
dminH = minH;
dminV = minV;
dsizeH = sizeH;
dsizeV = sizeV;
double modeON = DCAMPROP_MODE__ON;
double modeOFF = DCAMPROP_MODE__OFF;
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_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_WIDTH, &dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_HEIGHT, &dvalue);
status = setIntegerParam(ADBinX, dvalue);
status = setIntegerParam(ADBinY, dvalue);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_ROWBYTES, &dRowBytes);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_FRAMEBYTES, &dFrameBytes);
//m_err = dcamprop_getvalue(m_hdcam, , &dvalue);
status = setIntegerParam(hBinning, dbinning);
status = setIntegerParam(hImageFramebytes, dFrameBytes);
status = setIntegerParam(hImageRowbytes, dRowBytes);
unsigned long size = (dsizeH - dminH) * (dsizeV - dminV) * dbinning;
printf("[DEBUG::readSensor] BitPerChannel = %d\n", bitPerChannel);
printf("[DEBUG::readSensor] ImageSize = %ld\n", size);
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_SUBARRAYMODE, &modeON);
callParamCallbacks();
return status;
}
//============================================================================
asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){