diff --git a/sis8300bcmApp/src/sis8300bcm.cpp b/sis8300bcmApp/src/sis8300bcm.cpp index de3bb249b1408eb69620860b6304be1aa782cca4..b7fc429c714f5b2f6d88291fa0b6691725014a9e 100644 --- a/sis8300bcmApp/src/sis8300bcm.cpp +++ b/sis8300bcmApp/src/sis8300bcm.cpp @@ -925,12 +925,6 @@ int sis8300bcm::readbackParameters() } setDoubleParam(addr, BCMAcctLeakyThreshold, doubleValue); - ret = sis8300drvbcm_get_channel_trigger_width(mDeviceHandle, addr, &doubleValue); - if (ret) { - asynPrintError(pasynUserSelf, "sis8300drvbcm_get_channel_trigger_width returned %d", ret); - return ret; - } - setDoubleParam(addr, BCMAcctTriggerWidth, doubleValue); ret = sis8300drvbcm_get_channel_auto_flattop_start(mDeviceHandle, addr, &doubleValue); if (ret) { asynPrintError(pasynUserSelf, "sis8300drvbcm_get_channel_auto_flattop_start returned %d", ret); @@ -1267,6 +1261,12 @@ int sis8300bcm::deviceDone() return ret; } setDoubleParam(addr, BCMAcctFlatTopCharge, flattopCharge); + ret = sis8300drvbcm_get_channel_trigger_width(mDeviceHandle, addr, &triggerWidth); + if (ret) { + asynPrintError(pasynUserSelf, "sis8300drvbcm_get_channel_trigger_width returned %d", ret); + return ret; + } + setDoubleParam(addr, BCMAcctTriggerWidth, triggerWidth); // flat top current, check if automatic mode is enabled getIntegerParam(addr, BCMAcctAutoFlatTopEnable, &autoFlattopEnable); @@ -1275,7 +1275,7 @@ int sis8300bcm::deviceDone() // auto flat top start and end have been read-back before the start of acquisition getDoubleParam(addr, BCMAcctAutoFlatTopStart, &autoFlattopStart); getDoubleParam(addr, BCMAcctAutoFlatTopEnd, &autoFlattopEnd); - getDoubleParam(addr, BCMAcctTriggerWidth, &triggerWidth); + printf("auto flattop window = %f\n", triggerWidth - (autoFlattopStart + autoFlattopEnd)/10e6); // calculate the average current over automatic flattop (window in ms) ret = sis8300drvbcm_get_channel_flattop_current(mDeviceHandle, addr, triggerWidth - (autoFlattopStart + autoFlattopEnd)/10e6, flattopCharge, &doubleValue); if (ret) {