You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

The following epics-related classes are not part of Epics namespace:

Class EpicsPvHeader

Public attributes:

   short int iPvId              //  process variable ID
   short int iDbrType           //  Epics Data Type
   short int iNumElements       //  Size of PV Array

Public Member Functions:

   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:

    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:

char        sPvName[_iMaxPvNameLength];

Public Member Functions:

    // 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:

  int printPv() const;
  enum { iDbrCtrlType = EpicsDbrTools::DbrTypeTraits<iDbrType1>::iDbrCtrlType };

Public Member Functions

    // Constructor
    EpicsPvCtrl( short int iPvId1,
                 short int 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:

    enum { iDbrTimeType = EpicsDbrTools::DbrTypeTraits<iDbrType1>::iDbrTimeType };
    typedef typename EpicsDbrTools::DbrTypeTraits<iDbrType1>::TDbrOrg TDbrOrg;

Public Member Functions:

     EpicsPvTime( short int iPvId1,
                  int iNumElements1,
                  void* pEpicsDataValue1,
                  int* piSize = NULL )
      :  EpicsPvHeader( iPvId1, iDbrTimeType, 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

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

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 	                        epicsFloat64
typedef unsigned long 	                epicsIndex
typedef epicsInt32 	                epicsStatus
typedef char 	                        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 	                dbr_enum_t
typedef epicsInt32 	                dbr_long_t
typedef epicsFloat32 	                dbr_float_t
typedef epicsFloat64 	                dbr_double_t
typedef epicsUInt16 	                dbr_put_ackt_t
typedef epicsUInt16 	                dbr_put_acks_t
typedef epicsOldString 	                dbr_stsack_string_t
typedef epicsOldString 	                dbr_class_name_t

Variables

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 Namespace

  • No labels