EPICS Asyn port driver class. More...
#include <ECLabDriver.h>

Classes | |
| struct | techinfo |
Public Member Functions | |
| ECLabDriver (const char *portName, const char *ip) | |
| Constructor for the ECLabDriver class. More... | |
| virtual asynStatus | writeInt32 (asynUser *pasynUser, epicsInt32 value) |
| virtual asynStatus | writeFloat64 (asynUser *pasynUser, epicsFloat64 value) |
| virtual asynStatus | writeOctet (asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual) |
| virtual void | report (FILE *fp, int details) |
| EPICS driver report function for iocsh dbior command. More... | |
| double | getTime (unsigned thigh, unsigned tlow, double start_time, double time_base) |
| void | processOCVData (std::fstream &fs, int nrows, int ncols, int technique_index, int process_index, int loop, double start_time, double time_base, TDataBuffer_t *dbuffer) |
| void | processPEISData (std::fstream &fs0, std::fstream &fs1, int nrows, int ncols, int technique_index, int process_index, int loop, double start_time, double time_base, TDataBuffer_t *dbuffer) |
| void | updateCvals (int chan, TCurrentValues_t &cvals) |
Private Member Functions | |
| void | ECLabValuesTask () |
| void | ECLabDataTask () |
Static Private Member Functions | |
| static void | ECLabValuesTaskC (void *arg) |
| static void | ECLabDataTaskC (void *arg) |
Private Attributes | |
| int | P_version |
| int | P_host |
| int | P_devCode |
| int | P_numChannels |
| int | P_numSlots |
| int | P_numTech |
| int | P_memFilled |
| int | P_currEWE |
| int | P_currECE |
| int | P_currI |
| int | P_currTIME |
| int | P_currRCOMP |
| int | P_currFREQ |
| int | P_currSTATE |
| int | P_currTimeBase |
| int | P_loadTech |
| int | P_defineTech |
| int | P_updateParams |
| int | P_dataDone |
| int | P_filePrefix |
| int | P_saveData |
| int | P_startChannel |
| int | P_stopChannel |
| TDeviceInfos_t | m_infos |
| std::vector< techinfo > | m_techniques |
| int | m_ID |
EPICS Asyn port driver class.
Definition at line 17 of file ECLabDriver.h.
| ECLabDriver::ECLabDriver | ( | const char * | portName, |
| const char * | ip | ||
| ) |
Constructor for the ECLabDriver class.
Calls constructor for the asynPortDriver base class and sets up driver parameters.
| [in] | portName | A name for the asyn driver instance we will create - used to refer to it from EPICS DB files. |
Definition at line 267 of file ECLabDriver.cpp.
References addAllParameters(), ECLabInterface::BLSIM, ECLabInterface::Connect(), driverName, ECLabDataTaskC(), ECLabValuesTaskC(), ECLabInterface::GetLibVersion(), ECLabInterface::LoadFirmware(), m_ID, m_infos, P_currECE, P_currECEString, P_currEWE, P_currEWEString, P_currFREQ, P_currFREQString, P_currI, P_currIString, P_currRCOMP, P_currRCOMPString, P_currSTATE, P_currSTATEString, P_currTIME, P_currTimeBase, P_currTimeBaseString, P_currTIMEString, P_dataDone, P_dataDoneString, P_defineTech, P_defineTechString, P_devCode, P_devCodeString, P_filePrefix, P_filePrefixString, P_host, P_hostString, P_loadTech, P_loadTechString, P_memFilled, P_memFilledString, P_numChannels, P_numChannelsString, P_numSlots, P_numSlotsString, P_numTech, P_numTechString, P_saveData, P_saveDataString, P_startChannel, P_startChannelString, P_stopChannel, P_stopChannelString, P_updateParams, P_updateParamsString, P_version, P_versionString, ECLabInterface::testConnect(), timeout, and version.
|
private |
Definition at line 513 of file ECLabDriver.cpp.
References ECLabInterface::GetData(), ECLabInterface::IsChannelPlugged(), m_ID, m_infos, memset(), P_dataDone, P_filePrefix, P_saveData, processOCVData(), processPEISData(), and updateCvals().
Referenced by ECLabDataTaskC().
|
staticprivate |
Definition at line 370 of file ECLabDriver.cpp.
References ECLabDataTask().
Referenced by ECLabDriver().
|
private |
Definition at line 392 of file ECLabDriver.cpp.
References ECLabInterface::GetChannelInfos(), ECLabInterface::GetCurrentValues(), ECLabInterface::IsChannelPlugged(), m_ID, m_infos, P_numTech, and updateCvals().
Referenced by ECLabValuesTaskC().
|
staticprivate |
Definition at line 361 of file ECLabDriver.cpp.
References ECLabValuesTask().
Referenced by ECLabDriver().
| double ECLabDriver::getTime | ( | unsigned | thigh, |
| unsigned | tlow, | ||
| double | start_time, | ||
| double | time_base | ||
| ) |
Definition at line 432 of file ECLabDriver.cpp.
Referenced by processOCVData(), and processPEISData().
| void ECLabDriver::processOCVData | ( | std::fstream & | fs, |
| int | nrows, | ||
| int | ncols, | ||
| int | technique_index, | ||
| int | process_index, | ||
| int | loop, | ||
| double | start_time, | ||
| double | time_base, | ||
| TDataBuffer_t * | dbuffer | ||
| ) |
Definition at line 491 of file ECLabDriver.cpp.
References data, getTime(), and t.
Referenced by ECLabDataTask().
| void ECLabDriver::processPEISData | ( | std::fstream & | fs0, |
| std::fstream & | fs1, | ||
| int | nrows, | ||
| int | ncols, | ||
| int | technique_index, | ||
| int | process_index, | ||
| int | loop, | ||
| double | start_time, | ||
| double | time_base, | ||
| TDataBuffer_t * | dbuffer | ||
| ) |
Definition at line 437 of file ECLabDriver.cpp.
References data, getTime(), and t.
Referenced by ECLabDataTask().
|
virtual |
EPICS driver report function for iocsh dbior command.
Definition at line 253 of file ECLabDriver.cpp.
References printParams().
| void ECLabDriver::updateCvals | ( | int | chan, |
| TCurrentValues_t & | cvals | ||
| ) |
Definition at line 379 of file ECLabDriver.cpp.
References P_currECE, P_currEWE, P_currFREQ, P_currI, P_currRCOMP, P_currSTATE, P_currTIME, P_currTimeBase, and P_memFilled.
Referenced by ECLabDataTask(), and ECLabValuesTask().
|
virtual |
Definition at line 159 of file ECLabDriver.cpp.
References driverName, and setECSingleParam().
|
virtual |
Definition at line 186 of file ECLabDriver.cpp.
References driverName, getTechniqueParams(), m_ID, m_techniques, P_saveData, P_startChannel, P_stopChannel, P_updateParams, setECIntegerParam(), ECLabInterface::StartChannel(), ECLabInterface::StopChannel(), and ECLabInterface::UpdateParameters().
|
virtual |
Definition at line 87 of file ECLabDriver.cpp.
References driverName, getTechniqueParams(), ECLabInterface::LoadTechnique(), m_ID, m_techniques, P_defineTech, and P_loadTech.
|
private |
Definition at line 74 of file ECLabDriver.h.
Referenced by ECLabDataTask(), ECLabDriver(), ECLabValuesTask(), writeInt32(), and writeOctet().
|
private |
Definition at line 65 of file ECLabDriver.h.
Referenced by ECLabDataTask(), ECLabDriver(), and ECLabValuesTask().
|
private |
Definition at line 72 of file ECLabDriver.h.
Referenced by writeInt32(), and writeOctet().
|
private |
Definition at line 49 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 48 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 53 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 50 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 52 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 54 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 51 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 55 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 59 of file ECLabDriver.h.
Referenced by ECLabDataTask(), and ECLabDriver().
|
private |
Definition at line 57 of file ECLabDriver.h.
Referenced by ECLabDriver(), and writeOctet().
|
private |
Definition at line 43 of file ECLabDriver.h.
Referenced by ECLabDriver().
|
private |
Definition at line 60 of file ECLabDriver.h.
Referenced by ECLabDataTask(), and ECLabDriver().
|
private |
Definition at line 42 of file ECLabDriver.h.
Referenced by ECLabDriver().
|
private |
Definition at line 56 of file ECLabDriver.h.
Referenced by ECLabDriver(), and writeOctet().
|
private |
Definition at line 47 of file ECLabDriver.h.
Referenced by ECLabDriver(), and updateCvals().
|
private |
Definition at line 44 of file ECLabDriver.h.
Referenced by ECLabDriver().
|
private |
Definition at line 45 of file ECLabDriver.h.
Referenced by ECLabDriver().
|
private |
Definition at line 46 of file ECLabDriver.h.
Referenced by ECLabDriver(), and ECLabValuesTask().
|
private |
Definition at line 61 of file ECLabDriver.h.
Referenced by ECLabDataTask(), ECLabDriver(), and writeInt32().
|
private |
Definition at line 62 of file ECLabDriver.h.
Referenced by ECLabDriver(), and writeInt32().
|
private |
Definition at line 63 of file ECLabDriver.h.
Referenced by ECLabDriver(), and writeInt32().
|
private |
Definition at line 58 of file ECLabDriver.h.
Referenced by ECLabDriver(), and writeInt32().
|
private |
Definition at line 41 of file ECLabDriver.h.
Referenced by ECLabDriver().
1.8.5