Fix acquireTime blocker logic to external trigger
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user