Page History
Table of Contents |
---|
...
The following epics-related classes are not part of Epics namespace:
Class EpicsPvHeader
...
Public attributes:
Code Block |
---|
Layout of the EpicsPvHeader
Name short int iPvId // process variable ID short int iDbrType| Length(Bytes) // Epics Data Type| short int iNumElementsType //| Size of PV Array |
Public Member Functions:
Code Block |
---|
EpicsPvHeader( short int iPvId1, short int iDbrType1, short int iNumElements1 ) :
Description
---------------------+-----------------+--------------+------------------------------------
iPvId iPvId(iPvId1),2 Int16 Pv//Id iDbrTypeprocess variable ID2 iDbrType(iDbrType1),Int16 // Epics Data Type iNumElements(iNumElements1) {} // Size of PV Array int printPv() const; |
Public Member Functions:
Code Block |
---|
static void* operator new(size_t size, char* p) { return p; } // Disable ordinary (non-placement) new: only placement new and memory mapped objects are allowed // Disable placement delete: Not allow to delete memory mapped objects |
Class EpicsPvCtrlHeader
Public attributes:
Code Block |
---|
char sPvName[_iMaxPvNameLength];
|
Public Member Functions:
Code Block |
---|
// Constructor
EpicsPvCtrlHeader( short int iPvId1,
Time Types: DB_TIME_STRING ~ DBR_TIME_DOUBLE
short int iDbrType1,Ctrl Types: DB_CTRL_STRING ~ DBR_CTRL_DOUBLE
iNumElementsshort int iNumElements1, const char sPvName1[] )2 Int16 Size of Pv Array: EpicsPvHeader( iPvId1, iDbrType1, iNumElements1)
|
Class EpicsPvCtrl
Inherits from EpicsPvCtrlHeader and EpicsPvBase
Public Attributes:
Code Block |
---|
int printPv() const; enum { iDbrCtrlType = EpicsDbrTools::DbrTypeTraits<iDbrType1>::iDbrCtrlType }; |
Public Member Functions:
Code Block |
---|
// Constructor EpicsPvHeader EpicsPvCtrl( short int iPvId1, short int iDbrType1, short int iNumElements1 ) : iNumElements1, const char sPvName1[], void* pEpicsDataValue1, int* piSize = NULL ) : EpicsPvCtrlHeader(iPvId1, iDbrCtrlType, iNumElements1, sPvName1), EpicsPvBase( *(EpicsPvBase*) pEpicsDataValue1 ) |
Class EpicsPvTime
Inherits from EpicsPvHeader and EpicsPvBase
Public Attributes:
Code Block |
---|
enum { iDbrTimeType = EpicsDbrTools::DbrTypeTraits<iDbrType1>::iDbrTimeType }; typedef typename EpicsDbrTools::DbrTypeTraits<iDbrType1>::TDbrOrg TDbrOrg; |
Public Member Functions:
Code Block |
---|
iPvIdEpicsPvTime( short int iPvId1), int iNumElements1, iDbrType(iDbrType1), void* pEpicsDataValue1, int* piSize = NULL ) : EpicsPvHeader( iPvId1, iDbrTimeType, iNumElements1 ), iNumElements(iNumElements1 EpicsPvBase( *(EpicsPvBase*) pEpicsDataValue1 {}) int printPv() const; |
Pds::Epics Namespace Reference.
EPICS (Experimental Physics and Industrial Control System) is used for hardware control and readout of hardware status, values etc. These are called process variables (PV). Pdsdata contains a package that holds the epics classes needed to read the process variables from the xtc file. This is not even a complete documentation of these classes, as it would be unneccesarily detailed. Here we aim just to include the main ingredients and what the user need to know to extract the data.
The following classes, typedefs and variables are part of Epics namespace:
Classes
Code Block |
---|
struct static void* operator new(size_t size, char* p) { return p; } // Disable ordinary (non-placement) new: only placement new and memory mapped objects are allowed // Disable placement delete: Not allow to delete memory mapped objects |
Class EpicsPvCtrlHeader
epicsTimeStamp
struct dbr_time_string
struct dbr_time_short
struct dbr_time_float
struct dbr_time_enum
struct dbr_time_char
struct dbr_time_long
struct dbr_time_double
struct dbr_sts_string
struct dbr_ctrl_int
struct dbr_ctrl_short
struct dbr_ctrl_float
struct dbr_ctrl_enum
struct dbr_ctrl_char
struct dbr_ctrl_long
struct dbr_ctrl_double
|
Typedefs
Code Block |
---|
typedef char epicsInt8
typedef unsigned char epicsUInt8
typedef short epicsInt16
typedef unsigned short epicsUInt16
typedef epicsUInt16 epicsEnum16
typedef int epicsInt32
typedef unsigned epicsUInt32
typedef float epicsFloat32
typedef double |
Code Block |
/** * Layout of the EpicsPvCtrlHeader * *---------------------------------- EpicsPvHeader --------------------------------------------- *---------------------+-----------------+--------------+------------------------------------ * Name epicsFloat64 typedef | Length(Bytes) unsigned long | Type | Description *---------------------+-----------------+--------------+------------------------------------ * iPvIdepicsIndex typedef epicsInt32 epicsStatus typedef char 2 epicsOldString [MAX_STRING_SIZE] typedef Pds::Epics::epicsTimeStamp epicsTimeStamp typedef epicsOldString Int16 Pv Id * iDbrTypedbr_string_t typedef epicsUInt8 dbr_char_t typedef epicsInt16 2 dbr_short_t typedef epicsUInt16 Int16 Epics Data Typedbr_enum_t typedef *epicsInt32 dbr_long_t typedef epicsFloat32 dbr_float_t typedef epicsFloat64 dbr_double_t typedef epicsUInt16 Ctrl Types: DBdbr_put_CTRL_STRING ~ DBR_CTRL_DOUBLE * iNumElementsackt_t typedef epicsUInt16 dbr_put_acks_t typedef epicsOldString 2 dbr_stsack_string_t typedef epicsOldString Int16 dbr_class_name_t |
Variables
Code Block |
---|
const char * Size of Pv Array * *---------------------------------- EpicsPvCtrlHeader --------------------------------------------- *---------------------+-----------------+--------------+------------------------------------ * Name | Length(Bytes) | Type | Description *---------------------+-----------------+--------------+------------------------------------ * sPvName _iMaxPvNameLength char [] Null-terminated string, */ |
Class EpicsPvCtrl<iDbrType1,EpicsPvBase>
Class EpicsPvTime<iDbrType1,EpicsPvBase>
epicsAlarmSeverityStrings [ALARM_NSEV]
const char * epicsAlarmConditionStrings [ALARM_NSTATUS]
const char * dbr_text [35]
const char * epicsAlarmSeverityStrings [ALARM_NSEV]
Initial value:
{
"NO_ALARM",
"MINOR",
"MAJOR",
"INVALID",
}
const char * epicsAlarmConditionStrings [ALARM_NSTATUS]
Initial value:
{
"NO_ALARM",
"READ",
"WRITE",
"HIHI",
"HIGH",
"LOLO",
"LOW",
"STATE",
"COS",
"COMM",
"TIMEOUT",
"HWLIMIT",
"CALC",
"SCAN",
"LINK",
"SOFT",
"BAD_SUB",
"UDF",
"DISABLE",
"SIMM",
"READ_ACCESS",
"WRITE_ACCESS",
}
|
Pds::EpicsXtcSettings Namespace
Pds::EpicsDbrTools
...