diff --git a/andorApp/src/andorCCD.cpp b/andorApp/src/andorCCD.cpp index 7efb253..58c47e8 100755 --- a/andorApp/src/andorCCD.cpp +++ b/andorApp/src/andorCCD.cpp @@ -400,31 +400,36 @@ void AndorCCD::setupPreAmpGains() char *enumStrings[MAX_PREAMP_GAINS]; int enumValues[MAX_PREAMP_GAINS]; int enumSeverities[MAX_PREAMP_GAINS]; + static const char *functionName = "setupPreAmpGains"; mNumPreAmpGains = 0; getIntegerParam(AndorAdcSpeed, &adcSpeed); pSpeed = &mADCSpeeds[adcSpeed]; - for (i=0; iADCIndex, pSpeed->AmpIndex, pSpeed->HSSpeedIndex, - i, &isAvailable)); - if (isAvailable) { - checkStatus(GetPreAmpGain(i, &gain)); - epicsSnprintf(pGain->EnumString, MAX_ENUM_STRING_SIZE, "%.2f", gain); - pGain->EnumValue = i; - pGain->Gain = gain; - mNumPreAmpGains++; - if (mNumPreAmpGains >= MAX_PREAMP_GAINS) break; - pGain++; + try{ + for (i=0; iADCIndex, pSpeed->AmpIndex, pSpeed->HSSpeedIndex, + i, &isAvailable)); + if (isAvailable) { + checkStatus(GetPreAmpGain(i, &gain)); + epicsSnprintf(pGain->EnumString, MAX_ENUM_STRING_SIZE, "%.2f", gain); + pGain->EnumValue = i; + pGain->Gain = gain; + mNumPreAmpGains++; + if (mNumPreAmpGains >= MAX_PREAMP_GAINS) break; + pGain++; + } } + for (i=0; i