Common Type Definitions

Library of common type definitions.

#include <pvxs/nt.h>
namespace pvxs { namespace nt { ... } }

Note

The nt::* factories are expensive. Avoid repeated use with pvxs::Value::cloneEmpty().

time_t

Commonly used sub-structure to represent a time

struct TimeStamp

The time_t struct

// equivalent
struct time_t {
    int64_t secondsPastEpoch;
    int32_t nanoseconds;
    int32_t userTag;
};
Since

0.1.4

“secondsPastEpoch”

Seconds since POSIX epoch of 1 Jan 1970 UTC. Note that the EPICS epoch is 631152000 seconds after the POSIX epoch. (cf. POSIX_TIME_AT_EPICS_EPOCH in epicsTime.h from EPICS Base)

“nanoseconds”

Number of nanoseconds since the start of the second.

alarm_t

struct Alarm

The alarm_t struct

// equivalent
struct alarm_t {
    int32_t severity;
    int32_t status;
    string message;
};
Since

0.1.4

“severity”

Enumeration of 0 - No Alarm, 1 - Minor, 2 - Major, 3 - Invalid.

The meaning of Minor and Major are contextual and may be different for each PV. An Invalid alarm severity means that the value field should not be taken as a meaningful represention of eg. the quantity being measured. Typically, it reflects the most recent valid value.

A UI client may change the state of a widget displaying a value which is alarming by eg. changing border color.

“status”

Enumeration providing context to “severity” 0 - No Alarm, 1 - Device, 2 - Driver, 3 - Record, 4 - Database, 5 - Configuration, 6 - Undefined, 7 - Client

“message”

Arbitrary string describing the condition being alarmed.

NTEnum

Container for a scalar value selection from a list of strings.

struct pvxs::nt::NTEnum

An enumerated value (choice from a list of strings)

Since

0.1.5

Public Functions

TypeDef build() const

A TypeDef which can be appended.

Value create() const

Instantiate.

NTNDArray

Container for image data used by areaDetector.

struct pvxs::nt::NTNDArray

The areaDetector inspired N-dimension array/image container.

auto def = pvxs::nt::NTNDArray{}.build();
auto value = def.create(); // instantiate a Value

Public Functions

TypeDef build() const

A TypeDef which can be appended.

Value create() const

Instantiate.

NTURI

class pvxs::nt::NTURI

Public Functions

TypeDef build() const

A TypeDef which can be appended.

Value create() const

Instantiate.