diff --git a/.gitignore b/.gitignore index d8b1125..51f1465 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ ecdc-kafka-ca.crt .pre-commit-config.yaml .clang-format .iocsh_history +build +build.sh + diff --git a/ADOrcaApp/src/orca.cpp b/ADOrcaApp/src/orca.cpp index cc188ce..443fd94 100644 --- a/ADOrcaApp/src/orca.cpp +++ b/ADOrcaApp/src/orca.cpp @@ -842,17 +842,6 @@ void Orca::imageTask() { int triggerMode = DCAMPROP_TRIGGERSOURCE__INTERNAL; int triggerActive, triggerTimes; - // Functionality DCAM_IDPROP_TRIGGERACTIVE - // DCAMPROP_TRIGGERACTIVE__EDGE: - // CONDITIONS: ALL DCAM_IDPROP_SENSORMODE - // DCAMPROP_TRIGGERACTIVE__LEVEL: - // CONDITIONS: @ DCAMPROP_SENSORMODE__AREA, SPLITVIEW - // DCAMPROP_TRIGGERACTIVE__SYNCREADOUT: - // CONDITIONS: @ DCAMPROP_SENSORMODE__AREA, SPLITVIEW - - // What is SPLITVIEW? - - lock(); while (1) { getIntegerParam(ADAcquire, &acquire); @@ -922,7 +911,7 @@ void Orca::imageTask() { double timestamp; getIntegerParam(hTriggerSource, &triggerMode); - 0 + if (triggerMode == DCAMPROP_TRIGGERSOURCE__EXTERNAL) { getIntegerParam(evrCounts, &evr_counts); @@ -1001,40 +990,19 @@ void Orca::imageTask() { epicsTimeGetCurrent(&prev_trigger_time); evr_counts_since_last_start_previous = evr_counts_since_last_start; } - - // implement DCAM_IDPROP_TRIGGERACTIVE - // /* DCAM_IDPROP_TRIGGERACTIVE */ - // DCAMPROP_TRIGGERACTIVE__EDGE = 1, /* "EDGE" */ - // DCAMPROP_TRIGGERACTIVE__LEVEL = 2, /* "LEVEL" */ - // DCAMPROP_TRIGGERACTIVE__SYNCREADOUT = 3, /* "SYNCREADOUT" */ - // DCAMPROP_TRIGGERACTIVE__POINT = 4, /* "POINT" */ - getIntegerParam(hTriggerActive, &triggerActive); - - // if (triggerActive == DCAMPROP_TRIGGERACTIVE__EDGE) { - // Exposure is initiated rising of falling edge of the trigger signal. - // 1. Edge trigger mode. 2. Global reset edge trigger mode. - // } else if (triggerActive == DCAMPROP_TRIGGERACTIVE__LEVEL) { - // 1. Level trigger mode. 2. Global reset level trigger mode. - // The width of the trigger signal determines the exposure time. - // } else if (triggerActive == DCAMPROP_TRIGGERACTIVE__SYNCREADOUT) { - - - // Exposure is started by an external trigger (e.g., rising edge) and - // exposure is ended by an external trigger. It also supports pulse count - // readout. - // } + // getIntegerParam(hTriggerActive, &triggerActive); if (triggerActive == DCAMPROP_TRIGGERACTIVE__SYNCREADOUT) { - // getIntegerParam(hTriggerTimes, &triggerTimes); - - + pass + } else if (triggerActive == DCAMPROP_TRIGGERACTIVE__LEVEL) { + pass } else { // Checks if the elapsed time since last frame is longer than the exposure, // stop waiting for image and put in timeout status. getDoubleParam(ADAcquirePeriod, &acqusitionRate); getIntegerParam(ADStatus, &acqStatus); - maxAcqusitionTime = acqusitionRate * 2; + maxAcqusitionTime = acqusitionRate * 2; // arbitrary time longer than the acqusiontime. epicsTimeGetCurrent(¤tAcqTime); if ((epicsTimeDiffInSeconds(¤tAcqTime, &prevAcqTime) > maxAcqusitionTime) &&