ISIS Logo
NINetVar
An EPICS support module to export National Instruments Network Shared Variables as process variables
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
NINetVarDriver Class Reference

EPICS Asyn port driver class. More...

#include <NINetVarDriver.h>

Inheritance diagram for NINetVarDriver:

Public Member Functions

 NINetVarDriver (NINetVarInterface *netvarint, int poll_ms, const char *portName)
 Constructor for the NINetVarDriver class. More...
 
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 write a float to the driver More...
 
virtual asynStatus writeOctet (asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
 
virtual asynStatus writeInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements)
 
virtual asynStatus writeInt16Array (asynUser *pasynUser, epicsInt16 *value, size_t nElements)
 
virtual asynStatus writeInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements)
 
virtual asynStatus writeFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements)
 
virtual asynStatus writeFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements)
 
virtual asynStatus readFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements, size_t *nIn)
 
virtual asynStatus readFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
 
virtual asynStatus readInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements, size_t *nIn)
 
virtual asynStatus readInt16Array (asynUser *pasynUser, epicsInt16 *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...
 
int pollTime ()
 
void updateValues ()
 
void shuttingDown (bool state)
 
bool shuttingDown ()
 

Static Public Member Functions

static void epicsExitFunc (void *arg)
 

Private Member Functions

template<typename T >
asynStatus writeValue (asynUser *pasynUser, const char *functionName, T value)
 write a value to the driver More...
 
template<typename T >
asynStatus writeArrayValue (asynUser *pasynUser, const char *functionName, T *value, size_t nElements)
 write an array to the driver More...
 
template<typename T >
asynStatus readArrayValue (asynUser *pasynUser, const char *functionName, T *value, size_t nElements, size_t *nIn)
 

Static Private Member Functions

static void NINetVarTask (void *arg)
 

Private Attributes

NINetVarInterfacem_netvarint
 
int m_poll_ms
 
bool m_shutting_down
 

Detailed Description

EPICS Asyn port driver class.

Definition at line 32 of file NINetVarDriver.h.

Constructor & Destructor Documentation

NINetVarDriver::NINetVarDriver ( NINetVarInterface netvarint,
int  poll_ms,
const char *  portName 
)

Constructor for the NINetVarDriver class.

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

Parameters
[in]netvarintinterface pointer created by NINetVarConfigure()
[in]poll_msThe name of the asyn driver port we will create.
[in]portNamepoll period (ms)

Definition at line 279 of file NINetVarDriver.cpp.

References NINetVarInterface::createParams(), driverName, epicsExitFunc(), m_netvarint, and NINetVarTask().

Member Function Documentation

void NINetVarDriver::epicsExitFunc ( void *  arg)
static

Definition at line 311 of file NINetVarDriver.cpp.

References shuttingDown().

Referenced by NINetVarDriver().

void NINetVarDriver::NINetVarTask ( void *  arg)
staticprivate
int NINetVarDriver::pollTime ( )
inline

Definition at line 52 of file NINetVarDriver.h.

References m_poll_ms.

Referenced by NINetVarTask().

template<typename T >
asynStatus NINetVarDriver::readArrayValue ( asynUser *  pasynUser,
const char *  functionName,
T *  value,
size_t  nElements,
size_t *  nIn 
)
private
asynStatus NINetVarDriver::readFloat32Array ( asynUser *  pasynUser,
epicsFloat32 *  value,
size_t  nElements,
size_t *  nIn 
)
virtual

Definition at line 183 of file NINetVarDriver.cpp.

References readArrayValue().

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

Definition at line 178 of file NINetVarDriver.cpp.

References readArrayValue().

asynStatus NINetVarDriver::readInt16Array ( asynUser *  pasynUser,
epicsInt16 *  value,
size_t  nElements,
size_t *  nIn 
)
virtual

Definition at line 193 of file NINetVarDriver.cpp.

References readArrayValue().

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

Definition at line 188 of file NINetVarDriver.cpp.

References readArrayValue().

asynStatus NINetVarDriver::readInt8Array ( asynUser *  pasynUser,
epicsInt8 *  value,
size_t  nElements,
size_t *  nIn 
)
virtual

Definition at line 198 of file NINetVarDriver.cpp.

References readArrayValue().

void NINetVarDriver::report ( FILE *  fp,
int  details 
)
virtual

EPICS driver report function for iocsh dbior command.

Definition at line 259 of file NINetVarDriver.cpp.

References m_netvarint, and NINetVarInterface::report().

void NINetVarDriver::shuttingDown ( bool  state)
inline

Definition at line 58 of file NINetVarDriver.h.

References m_shutting_down.

Referenced by epicsExitFunc(), and NINetVarTask().

bool NINetVarDriver::shuttingDown ( )
inline

Definition at line 59 of file NINetVarDriver.h.

References m_shutting_down.

void NINetVarDriver::updateValues ( )
inline

Definition at line 53 of file NINetVarDriver.h.

References m_netvarint, and NINetVarInterface::updateValues().

Referenced by NINetVarTask().

template<typename T >
asynStatus NINetVarDriver::writeArrayValue ( asynUser *  pasynUser,
const char *  functionName,
T *  value,
size_t  nElements 
)
private

write an array to the driver

Template Parameters
TData type of value
Parameters
[in]pasynUserpointer to AsynUser instance
[in]functionNameName of overloaded ASYN driver function that called us, used for diagnostics
[in]valueValue to write
[in]nElementsnumber of array elements

Definition at line 103 of file NINetVarDriver.cpp.

References driverName, m_netvarint, registerStructuredExceptionHandler(), and NINetVarInterface::setArrayValue().

Referenced by writeFloat32Array(), writeFloat64Array(), writeInt16Array(), writeInt32Array(), and writeInt8Array().

asynStatus NINetVarDriver::writeFloat32Array ( asynUser *  pasynUser,
epicsFloat32 *  value,
size_t  nElements 
)
virtual

Definition at line 253 of file NINetVarDriver.cpp.

References writeArrayValue().

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

write a float to the driver

Parameters
[in]pasynUserpointer to AsynUser instance
[in]valueValue to write

Definition at line 134 of file NINetVarDriver.cpp.

References writeValue().

asynStatus NINetVarDriver::writeFloat64Array ( asynUser *  pasynUser,
epicsFloat64 *  value,
size_t  nElements 
)
virtual

Definition at line 248 of file NINetVarDriver.cpp.

References writeArrayValue().

asynStatus NINetVarDriver::writeInt16Array ( asynUser *  pasynUser,
epicsInt16 *  value,
size_t  nElements 
)
virtual

Definition at line 238 of file NINetVarDriver.cpp.

References writeArrayValue().

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

Definition at line 140 of file NINetVarDriver.cpp.

References writeValue().

asynStatus NINetVarDriver::writeInt32Array ( asynUser *  pasynUser,
epicsInt32 *  value,
size_t  nElements 
)
virtual

Definition at line 233 of file NINetVarDriver.cpp.

References writeArrayValue().

asynStatus NINetVarDriver::writeInt8Array ( asynUser *  pasynUser,
epicsInt8 *  value,
size_t  nElements 
)
virtual

Definition at line 243 of file NINetVarDriver.cpp.

References writeArrayValue().

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

write a value to the driver

Template Parameters
Tdata type of value
Parameters
[in]pasynUserpointer to AsynUser instance
[in]functionNameName of overloaded ASYN driver function that called us, used for diagnostics
[in]valueValue to write

Definition at line 68 of file NINetVarDriver.cpp.

References convertToString(), driverName, m_netvarint, registerStructuredExceptionHandler(), and NINetVarInterface::setValue().

Referenced by writeFloat64(), and writeInt32().

Member Data Documentation

NINetVarInterface* NINetVarDriver::m_netvarint
private
int NINetVarDriver::m_poll_ms
private

Definition at line 63 of file NINetVarDriver.h.

Referenced by pollTime().

bool NINetVarDriver::m_shutting_down
private

Definition at line 64 of file NINetVarDriver.h.

Referenced by shuttingDown().


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