ISIS Logo
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...
 
void lvDCOMTask ()
 

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 lvDCOMTaskC (void *arg)
 

Private Attributes

lvDCOMInterfacem_lvdcom
 
std::map< std::string,
std::string > 
m_params
 

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]portNameA name for the asyn driver instance we will create - used to refer to it from EPICS DB files.

Definition at line 275 of file lvDCOMDriver.cpp.

References driverName, lvDCOMInterface::getParams(), lvDCOMTaskC(), m_lvdcom, and m_params.

Member Function Documentation

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

Definition at line 337 of file lvDCOMDriver.cpp.

References lvDCOMInterface::checkForNewBlockDetails(), m_lvdcom, and registerStructuredExceptionHandler().

Referenced by lvDCOMTaskC().

void lvDCOMDriver::lvDCOMTaskC ( void *  arg)
staticprivate

Definition at line 330 of file lvDCOMDriver.cpp.

References lvDCOMTask().

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 161 of file lvDCOMDriver.cpp.

References readValue().

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

Definition at line 151 of file lvDCOMDriver.cpp.

References readArray().

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

Definition at line 166 of file lvDCOMDriver.cpp.

References readValue().

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

Definition at line 156 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 251 of file lvDCOMDriver.cpp.

References m_lvdcom, m_params, and lvDCOMInterface::report().

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

Definition at line 141 of file lvDCOMDriver.cpp.

References writeValue().

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

Definition at line 146 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
std::map<std::string,std::string> lvDCOMDriver::m_params
private

Definition at line 38 of file lvDCOMDriver.h.

Referenced by lvDCOMDriver(), and report().


The documentation for this class was generated from the following files:
Copyright © 2013 Science and Technology Facilities Council | Generated by   doxygen 1.8.5