Package edu.stanford.slac.archiverappliance.PB
Contains the protocol buffer definitions of EPICS
The javadoc for this package shows a lot of classes, interfaces and enums. These are automatically generated by
DBR_TIME
types.
See EPICSEvent.proto
and StatusSeverity.proto
for the definitions.
There is a shell script proto2java.sh
that contains the typical command used to convert .proto
files into .java
files.
This shell script assumes that protocol buffers is installed and that protoc
is in the path.
The javadoc for this package shows a lot of classes, interfaces and enums. These are automatically generated by
protoc
from the .proto
files and therefore lack documentation.
This documentation can be found in the .proto
files themselves.
Here is a brief summary.
- There are scalar and vector (waveform) versions of the basic EPICS types. Please refer to the EPICS documentation for more details on these entities.
- These are all
DBR_TIME
types - they have time+value+status+severity. - Time in EPICS has nanosecond precision - so the timestamp here is broken into
year + secondsintoyear
andnano
components. - JODA (a popular Java time library) is used to go back and forth between epoch seconds (or millis, which is what comes from
System.currentTimeMillis()
) andyear + secondsintoyear
- The
year
part of the timestamp is expected to be stored/transmitted once in the header; therefore, the PB versions of the EPICS DBR types only havesecondsintoyear
andnano
fields. - The
EPICSEvent.PayloadInfo
is the proto/java object that represents the header. It contains the DBR type, PV name, year and lots of other optional information. - The optional fields
lowerDisplayLimit
andupperDisplayLimit
inEPICSEvent.PayloadInfo
are typically the graphic limits.
-
-
-
Enum Summary Enum Description EPICSEvent.PayloadType