lvDCOM
An EPICS support module to export LabVIEW values as process variables
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
lvDCOMDriver Class Reference

EPICS Asyn port driver class. More...

#include <lvDCOMDriver.h>

Inheritance diagram for lvDCOMDriver:
Inheritance graph

Public Member Functions

 lvDCOMDriver (lvDCOMInterface *dcomint, const char *portName)
 Constructor for the lvDCOMDriver class. More...
 
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 
virtual asynStatus readInt32 (asynUser *pasynUser, epicsInt32 *value)
 
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 
virtual asynStatus readFloat64 (asynUser *pasynUser, epicsFloat64 *value)
 
virtual asynStatus readOctet (asynUser *pasynUser, char *value, size_t maxChars, size_t *nActual, int *eomReason)
 
virtual asynStatus writeOctet (asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
 
virtual asynStatus readFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
 
virtual asynStatus readInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
 
virtual void report (FILE *fp, int details)
 EPICS driver report function for iocsh dbior command. More...
 

Private Member Functions

template<typename T >
asynStatus writeValue (asynUser *pasynUser, const char *functionName, T value)
 
template<typename T >
asynStatus readValue (asynUser *pasynUser, const char *functionName, T *value)
 
template<typename T >
asynStatus readArray (asynUser *pasynUser, const char *functionName, T *value, size_t nElements, size_t *nIn)
 

Static Private Member Functions

static void lvDCOMTask (void *arg)
 

Private Attributes

lvDCOMInterfacem_lvdcom
 

Detailed Description

EPICS Asyn port driver class.

Definition at line 19 of file lvDCOMDriver.h.

Constructor & Destructor Documentation

lvDCOMDriver::lvDCOMDriver ( lvDCOMInterface dcomint,
const char *  portName 
)

Constructor for the lvDCOMDriver class.

Calls constructor for the asynPortDriver base class and sets up driver parameters.

Parameters
[in]dcomintDCOM interface pointer created by lvDCOMConfigure()
[in]portNameThe name of the asyn driver port we will create.

Definition at line 270 of file lvDCOMDriver.cpp.

References driverName, lvDCOMInterface::getParams(), lvDCOMTask(), and m_lvdcom.

Member Function Documentation

void lvDCOMDriver::lvDCOMTask ( void *  arg)
staticprivate
Todo:
Might use this for background polling if implementing I/O Intr scanning

Definition at line 327 of file lvDCOMDriver.cpp.

References registerStructuredExceptionHandler().

Referenced by lvDCOMDriver().

template<typename T >
asynStatus lvDCOMDriver::readArray ( asynUser *  pasynUser,
const char *  functionName,
T *  value,
size_t  nElements,
size_t *  nIn 
)
private
asynStatus lvDCOMDriver::readFloat64 ( asynUser *  pasynUser,
epicsFloat64 *  value 
)
virtual

Definition at line 160 of file lvDCOMDriver.cpp.

References readValue().

asynStatus lvDCOMDriver::readFloat64Array ( asynUser *  pasynUser,
epicsFloat64 *  value,
size_t  nElements,
size_t *  nIn 
)
virtual

Definition at line 150 of file lvDCOMDriver.cpp.

References readArray().

asynStatus lvDCOMDriver::readInt32 ( asynUser *  pasynUser,
epicsInt32 *  value 
)
virtual

Definition at line 165 of file lvDCOMDriver.cpp.

References readValue().

asynStatus lvDCOMDriver::readInt32Array ( asynUser *  pasynUser,
epicsInt32 *  value,
size_t  nElements,
size_t *  nIn 
)
virtual

Definition at line 155 of file lvDCOMDriver.cpp.

References readArray().

asynStatus lvDCOMDriver::readOctet ( asynUser *  pasynUser,
char *  value,
size_t  maxChars,
size_t *  nActual,
int *  eomReason 
)
virtual
template<typename T >
asynStatus lvDCOMDriver::readValue ( asynUser *  pasynUser,
const char *  functionName,
T *  value 
)
private
void lvDCOMDriver::report ( FILE *  fp,
int  details 
)
virtual

EPICS driver report function for iocsh dbior command.

Definition at line 250 of file lvDCOMDriver.cpp.

References m_lvdcom, and lvDCOMInterface::report().

asynStatus lvDCOMDriver::writeFloat64 ( asynUser *  pasynUser,
epicsFloat64  value 
)
virtual

Definition at line 140 of file lvDCOMDriver.cpp.

References writeValue().

asynStatus lvDCOMDriver::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
)
virtual

Definition at line 145 of file lvDCOMDriver.cpp.

References writeValue().

asynStatus lvDCOMDriver::writeOctet ( asynUser *  pasynUser,
const char *  value,
size_t  maxChars,
size_t *  nActual 
)
virtual
template<typename T >
asynStatus lvDCOMDriver::writeValue ( asynUser *  pasynUser,
const char *  functionName,
value 
)
private

Member Data Documentation

lvDCOMInterface* lvDCOMDriver::m_lvdcom
private

The documentation for this class was generated from the following files: