fix some errors, add ADDriver::writeInt32, ADDriver::writeFloat64
This commit is contained in:
+81
-15
@@ -244,7 +244,6 @@ int Hama::initCamera(){
|
||||
err |= getParameter(DETECTOR_PIXEL_NUM_HORZ);
|
||||
err |= getParameter(DETECTOR_PIXEL_NUM_VERT);
|
||||
|
||||
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_PIXELTYPE);
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_WIDTH);
|
||||
err |= getParameter( DCAM_IDPROP_IMAGE_ROWBYTES);
|
||||
@@ -256,7 +255,6 @@ int Hama::initCamera(){
|
||||
err |= getParameter( DCAM_IDPROP_SUBARRAYHSIZE);
|
||||
err |= getParameter( DCAM_IDPROP_SUBARRAYVSIZE);
|
||||
|
||||
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGERSOURCE);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGER_MODE);
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGERACTIVE);
|
||||
@@ -267,11 +265,23 @@ int Hama::initCamera(){
|
||||
err |= getParameter(DCAM_IDPROP_TRIGGERDELAY);
|
||||
err |= getParameter(DCAM_IDPROP_INTERNALTRIGGER_HANDLING);
|
||||
|
||||
err |= getParameter(DCAM_IDPROP_TIMESTAMP_PRODUCER);
|
||||
err |= getParameter(DCAM_IDPROP_IMAGE_TOPOFFSETBYTES);
|
||||
err |= getParameter(DCAM_IDPROP_BUFFER_ROWBYTES);
|
||||
err |= getParameter(DCAM_IDPROP_BUFFER_FRAMEBYTES);
|
||||
err |= getParameter(DCAM_IDPROP_BUFFER_TOPOFFSETBYTES);
|
||||
err |= getParameter(DCAM_IDPROP_BUFFER_PIXELTYPE);
|
||||
err |= getParameter(DCAM_IDPROP_RECORDFIXEDBYTES_PERFILE);
|
||||
err |= getParameter(DCAM_IDPROP_RECORDFIXEDBYTES_PERSESSION);
|
||||
err |= getParameter(DCAM_IDPROP_RECORDFIXEDBYTES_PERFRAME);
|
||||
err |= getParameter(DCAM_IDPROP_SYSTEM_ALIVE);
|
||||
err |= getParameter(DCAM_IDPROP_CONVERSIONFACTOR_COEFF);
|
||||
err |= getParameter(DCAM_IDPROP_CONVERSIONFACTOR_OFFSET);
|
||||
err |= getParameter(DCAM_IDPROP_NUMBEROF_VIEW);
|
||||
err |= getParameter(DCAM_IDPROP_TIMESTAMP_PRODUCER);
|
||||
err |= getParameter(DCAM_IDPROP_FRAMESTAMP_PRODUCER);
|
||||
|
||||
|
||||
|
||||
callParamCallbacks();
|
||||
if(err){
|
||||
// asynPrint(pasynUser, ASYN_TRACEIO_DRIVER, "%s:%s: port=%s, value=%d, status=%d\n",
|
||||
// driverName, functionName, this->portName, value, (int)status);
|
||||
@@ -339,6 +349,7 @@ int Hama::getParameterStr(int propertyID){
|
||||
|
||||
}
|
||||
|
||||
callParamCallbacks();
|
||||
|
||||
return int(status);
|
||||
}
|
||||
@@ -494,10 +505,67 @@ asynStatus Hama::getParameter(int propertyID){
|
||||
status = setIntegerParam(hInternalTriggerHandling, dvalue);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_TIMESTAMP_PRODUCER:
|
||||
case DCAM_IDPROP_COLORTYPE:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_COLORTYPE, &dvalue);
|
||||
status = setIntegerParam(hColorType, dvalue);
|
||||
break;
|
||||
|
||||
case DCAM_IDPROP_IMAGE_TOPOFFSETBYTES:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_IMAGE_TOPOFFSETBYTES, &dvalue);
|
||||
status = setIntegerParam(hImageTopOffsetBytes, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_BUFFER_ROWBYTES:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_ROWBYTES, &dvalue);
|
||||
status = setIntegerParam(hBufferRowbytes, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_BUFFER_FRAMEBYTES:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_FRAMEBYTES, &dvalue);
|
||||
status = setIntegerParam(hBufferFramebytes, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_BUFFER_TOPOFFSETBYTES:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_TOPOFFSETBYTES, &dvalue);
|
||||
status = setIntegerParam(hBufferTopOffsetBytes, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_BUFFER_PIXELTYPE:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_BUFFER_PIXELTYPE, &dvalue);
|
||||
status = setIntegerParam(hBufferPixelType, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_RECORDFIXEDBYTES_PERFILE:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_RECORDFIXEDBYTES_PERFILE, &dvalue);
|
||||
status = setIntegerParam(hRecordFixedBytesPerFile, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_RECORDFIXEDBYTES_PERSESSION:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_RECORDFIXEDBYTES_PERSESSION, &dvalue);
|
||||
status = setIntegerParam(hRecordFixedBytesPerSession, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_RECORDFIXEDBYTES_PERFRAME:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_RECORDFIXEDBYTES_PERFRAME, &dvalue);
|
||||
status = setIntegerParam(hRecordFixedBytesPerFrame, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_SYSTEM_ALIVE:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_SYSTEM_ALIVE, &dvalue);
|
||||
status = setIntegerParam(hSystemAlive, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_CONVERSIONFACTOR_COEFF:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_CONVERSIONFACTOR_COEFF, &dvalue);
|
||||
status = setDoubleParam(hConversionFactorCoeff, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_CONVERSIONFACTOR_OFFSET:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_CONVERSIONFACTOR_OFFSET, &dvalue);
|
||||
status = setDoubleParam(hConversionFactorOffset, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_NUMBEROF_VIEW:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_NUMBEROF_VIEW, &dvalue);
|
||||
status = setIntegerParam(hNumberOfView, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_TIMESTAMP_PRODUCER:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_TIMESTAMP_PRODUCER, &dvalue);
|
||||
status = setIntegerParam(hTimeStampProducer, dvalue);
|
||||
break;
|
||||
status = setIntegerParam(hTimeStampProducer, dvalue);
|
||||
break;
|
||||
case DCAM_IDPROP_FRAMESTAMP_PRODUCER:
|
||||
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_FRAMESTAMP_PRODUCER, &dvalue);
|
||||
status = setIntegerParam(hFrameStampProducer, dvalue);
|
||||
break;
|
||||
|
||||
default:
|
||||
char text[256];
|
||||
@@ -813,13 +881,7 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
|
||||
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
|
||||
}
|
||||
}
|
||||
else if (index == hColorType) {
|
||||
printf("[DEBUG]::function ColorType %d\n", value);
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_COLORTYPE, &dvalue);
|
||||
if(failed(m_err)) {
|
||||
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
|
||||
}
|
||||
}
|
||||
|
||||
else if (index == hBitPerChannel) {
|
||||
printf("[DEBUG]::function BitPerChannel %d\n", value);
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_BITSPERCHANNEL, &dvalue);
|
||||
@@ -891,8 +953,8 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
|
||||
}
|
||||
}
|
||||
else if (index == hDefectCorrectMode) {
|
||||
printf("[DEBUG]::function DefectCorrerMode %d\n", value);
|
||||
m_err = dcamprop_setgetvalue(m_hdcam, DCAM_IDPROP_DEFECTCORRECT_MODE, &dvalue);
|
||||
printf("[DEBUG]::function DefectCorrerMode %f\n", dvalue);
|
||||
if(failed(m_err)) {
|
||||
printError(m_hdcam, m_err, "dcamprop_setgetvalue()", "IDPROP:0x%08x, VALUE:%f\n", index, dvalue);
|
||||
}
|
||||
@@ -1176,6 +1238,8 @@ asynStatus Hama::writeInt32(asynUser *pasynUser, epicsInt32 value){
|
||||
}
|
||||
else{
|
||||
if(index < FIRST_HAMA_PARAM){
|
||||
status = ADDriver::writeInt32(pasynUser, value);
|
||||
printf("Call function ADDriver::writeInt32\n");
|
||||
printf("[DEBUG]::function writeInt32 did not find a parameter, call ADDriver::writeInit32 %s\n", paramName);
|
||||
printf("[DEBUG]::function writeInt32 FIRST = %d / LAST = %d, %d)\n",
|
||||
FIRST_HAMA_PARAM, LAST_HAMA_PARAM, LAST_HAMA_PARAM-FIRST_HAMA_PARAM);
|
||||
@@ -1365,6 +1429,8 @@ asynStatus Hama::writeFloat64(asynUser *pasynUser, epicsFloat64 value){
|
||||
}
|
||||
}
|
||||
else{
|
||||
status = ADDriver::writeFloat64(pasynUser, value);
|
||||
printf("Call function ADDriver::writeFloat64\n");
|
||||
printf("[DEBUG]::function writeFloat64 did not find a parameter\n");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user