Page History
Table of Contents |
---|
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.
Class EpicsPvHeader
The following epics-related classes are not part of Epics namespace:
Class EpicsPvHeader
Public attributes:
Code Block |
---|
short int iPvId // process variable ID
short int iDbrType // Epics Data Type
short int iNumElements // Size of PV Array
|
Public Public Member Functions:
Code Block |
---|
EpicsPvHeader( short int iPvId1, short int iDbrType1, short int iNumElements1 ) : iPvId(iPvId1), // process variable ID iDbrType(iDbrType1), // 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,
short int iDbrType1,
short int iNumElements1,
const char sPvName1[] )
: 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 EpicsPvCtrl( short int iPvId1, short int iNumElements1, const char sPvName1[], void* pEpicsDataValue1, int* piSize = NULL ) * Layout of the : 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 |
---|
EpicsPvTime( short int iPvId1, int iNumElements1, void* pEpicsDataValue1, int* piSize = NULL ) : EpicsPvHeader( iPvId1, iDbrTimeType, iNumElements1 ), EpicsPvCtrlHeader * *---------------------------------- EpicsPvHeader --------------------------------------------- *---------------------+-----------------+--------------+------------------------------------ * Name EpicsPvBase( *(EpicsPvBase*) pEpicsDataValue1 ) | Length(Bytes) |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 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 Type | DescriptionepicsInt16 *---------------------+-----------------+--------------+------------------------------------ * iPvId typedef unsigned short epicsUInt16 typedef epicsUInt16 epicsEnum16 typedef int 2 epicsInt32 typedef unsigned Int16 Pv IdepicsUInt32 * iDbrTypetypedef float epicsFloat32 typedef double 2 Int16 Epics Data TypeepicsFloat64 typedef unsigned long * epicsIndex typedef epicsInt32 epicsStatus typedef char Ctrl Types: DB_CTRL_STRING ~ DBR_CTRL_DOUBLE * iNumElements epicsOldString [MAX_STRING_SIZE] typedef Pds::Epics::epicsTimeStamp epicsTimeStamp typedef epicsOldString dbr_string_t typedef epicsUInt8 dbr_char_t typedef epicsInt16 dbr_short_t typedef epicsUInt16 2dbr_enum_t typedef epicsInt32 Int16dbr_long_t typedef epicsFloat32 Size of Pv Arraydbr_float_t * *---------------------------------- EpicsPvCtrlHeader --------------------------------------------- *---------------------+-----------------+--------------+------------------------------------ * Nametypedef epicsFloat64 dbr_double_t typedef epicsUInt16 dbr_put_ackt_t typedef epicsUInt16 dbr_put_acks_t typedef epicsOldString | Length(Bytes) |dbr_stsack_string_t typedef epicsOldString Type | Description *---------------------+-----------------+--------------+------------------------------------ * sPvName _iMaxPvNameLength char [] Null-terminated string, */ |
Class EpicsPvCtrl<iDbrType1,EpicsPvBase>
Class EpicsPvTime<iDbrType1,EpicsPvBase>
dbr_class_name_t
|
Variables
Code Block |
---|
const char * 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
...