Fix acquireTime blocker logic to external trigger

This commit is contained in:
Douglas Araujo
2023-05-24 17:11:29 +02:00
committed by Iocuser
parent 63fc03a41e
commit bfd746ac67
+7 -7
View File
@@ -1644,19 +1644,19 @@ asynStatus Hama::writeFloat64(asynUser *pasynUser, epicsFloat64 value){
printf("[DEBUG]::function ADAcquireTime from camera: %f\n", value);
int trigger_mode = 0;
getIntegerParam(hTriggerSource, &trigger_mode);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_EXPOSURETIME, &dvalue);
double acquire_period = 0;
status = getDoubleParam(ADAcquirePeriod, &acquire_period);
status = getIntegerParam(hTriggerSource, &trigger_mode);
if (trigger_mode == DCAMPROP_TRIGGERSOURCE__EXTERNAL) {
if (dvalue <= value) status = asynError;
if (value >= acquire_period) status = asynError;
else {
status = setFeature(DCAM_IDPROP_EXPOSURETIME, value);
}
}
else {
status = setFeature(DCAM_IDPROP_EXPOSURETIME, value);
m_err = dcamprop_getvalue(m_hdcam, DCAM_IDPROP_EXPOSURETIME, &dvalue);
double acquire_period = 0;
status = getDoubleParam(ADAcquirePeriod, &acquire_period);
if (value >= acquire_period) {
status = setFeature(DCAM_IDPROP_TRIGGERSOURCE, DCAMPROP_TRIGGERSOURCE__INTERNAL);
status = setIntegerParam(hTriggerSource, DCAMPROP_TRIGGERSOURCE__INTERNAL);