2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 <2024> 2025 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 <2024> 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: pC_->doCallbacksEnum() coming too early |
From: | Mark Rivers via Core-talk <core-talk at aps.anl.gov> |
To: | Ralph Lange <ralph.lange at gmx.de>, EPICS Core Talk <core-talk at aps.anl.gov>, Torsten Bögershausen <tboegi at edom.se> |
Date: | Thu, 29 Feb 2024 14:09:56 +0000 |
This Message Is From an External Sender
This message came from outside your organization.
Torsten,
If you only have 20 motors with 1-2 enums then I don't understand why you don't just use the current "correct" solution which does not require a hack to do callbacks. Just implement the readEnum method.
This is a search for all current synApps and areaDetector drivers that do that:
(base) [epics@corvette devel]$ find . -name '*.cpp' -exec grep -H readEnum {} \;
./Galil/3-6/GalilSup/src/GalilController.cpp:asynStatus GalilController::readEnum(asynUser *pasynUser, char
*strings[], int values[], int severities[], size_t nElements, size_t *nIn)
./asyn-4-43/testAsynPortDriverApp/src/testAsynPortDriver.cpp:asynStatus testAsynPortDriver::readEnum(asynUser
*pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
./asyn-4-43/testErrorsApp/src/testErrors.cpp:asynStatus testErrors::readEnum(asynUser *pasynUser, char *strings[],
int values[], int severities[], size_t nElements, size_t *nIn)
./quadEM-9-4/quadEMApp/src/drvPCR4.cpp:asynStatus drvPCR4::readEnum(asynUser *pasynUser,
./pmac-2-5-13/pmacApp/src/pmacController.cpp:pmacController::readEnum(asynUser *pasynUser, char *strings[],
int values[], int severities[],
./measComp-4-0/measCompApp/src/drvMultiFunction.cpp:asynStatus MultiFunction::readEnum(asynUser *pasynUser,
char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
../labjack/LabJackApp/src/LabJackDriver.cpp:asynStatus LabJackDriver::readEnum(asynUser *pasynUser, char *strings[],
int values[], int severities[], size_t nElements, size_t *nIn)
./areaDetector-3-13/ADAndor3/andor3App/src/andor3.cpp:asynStatus andor3::readEnum(asynUser *pasynUser, char
*strings[], int values[], int severities[],
./areaDetector-3-13/ADDexela/dexelaApp/src/Dexela.cpp:asynStatus Dexela::readEnum(asynUser *pasynUser, char
*strings[], int values[], int severities[],
./areaDetector-3-13/ADPSL/pslApp/src/PSL.cpp:asynStatus PSL::readEnum(asynUser *pasynUser, char *strings[],
int values[], int severities[],
./areaDetector-3-13/ADPointGrey/pointGreyApp/src/pointGrey.cpp:asynStatus pointGrey::readEnum(asynUser *pasynUser,
char *strings[], int values[], int severities[],
./areaDetector-3-13/ADmarCCD/marCCDApp/src/marCCD.cpp:asynStatus marCCD::readEnum(asynUser *pasynUser, char
*strings[], int values[], int severities[],
../areaDetector-3-13/ADPICam/PICamApp/src/ADPICam.cpp:asynStatus ADPICam::readEnum(asynUser *pasynUser, char
*strings[], int values[],
./areaDetector-3-13/ADAndor/andorApp/src/andorCCD.cpp:asynStatus AndorCCD::readEnum(asynUser *pasynUser, char
*strings[], int values[], int severities[],
./areaDetector-3-13/ADLightField/lightFieldApp/src/LightField.cpp:asynStatus LightField::readEnum(asynUser
*pasynUser, char *strings[], int values[], int severities[],
./areaDetector-3-13/ADQImaging/App/src/QImaging.cpp:asynStatus QImage::readEnum(asynUser *pasynUser,
./areaDetector-3-13/ADPylon/pylonApp/src/ADPylon.cpp:asynStatus ADPylon::readEnum(asynUser *pasynUser, char
*strings[], int values[], int severities[],
./areaDetector-3-13/ADSpinnaker/spinnakerApp/src/ADSpinnaker.cpp:asynStatus ADSpinnaker::readEnum(asynUser
*pasynUser, char *strings[], int values[], int severities[],
./areaDetector-3-13/aravisGigE/aravisGigEApp/src/aravisCamera.cpp:asynStatus aravisCamera::readEnum(asynUser
*pasynUser, char *strings[], int values[], int severities[],
../areaDetector-3-13/ADVimba/vimbaApp/src/ADVimba.cpp:asynStatus ADVimba::readEnum(asynUser *pasynUser, char
*strings[], int values[], int severities[],
../areaDetector-3-13/ADGenICam/GenICamApp/src/ADGenICam.cpp:asynStatus ADGenICam::readEnum(asynUser
*pasynUser, char *strings[], int values[], int severities[],
./areaDetector-3-13/specsAnalyser/specsAnalyserApp/src/specsAnalyser.cpp:asynStatus SpecsAnalyser::readEnum(asynUser
*pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
Mark
From: Core-talk <core-talk-bounces at aps.anl.gov> on behalf of Torsten Bögershausen via Core-talk <core-talk at aps.anl.gov>
Sent: Wednesday, February 28, 2024 11:20 PM To: Ralph Lange <ralph.lange at gmx.de>; EPICS Core Talk <core-talk at aps.anl.gov> Subject: Re: pC_->doCallbacksEnum() coming too early
This Message Is From an External Sender
This message came from outside your organization.
|