12#include <epicsTypes.h>
14#ifndef XRMIOCAPP_SRC_XRM_STRUCTS_H_
15#define XRMIOCAPP_SRC_XRM_STRUCTS_H_
34const epicsUInt16 EV99 = 65535U;
59static inline void clean(
FMT fmt) {
60 memset(fmt, 0,
sizeof(
FMT));
71const int SOE_LUT_ROWS = 64;
120#define SOE_HOLD_HEADER_VERSION 1
124 soe.
lut_row.
pad = (
'S'<<8) | SOE_HOLD_HEADER_VERSION;
125 return SOE_HOLD_HEADER_VERSION;
140const int SOE_HLD_ROWS = 64;
142typedef epicsUInt32 U32;
257static inline const int HOLD_DATA_OFF() {
return (SOE_HLD_ROWS+1)*
sizeof(
SOE_HOLD_HEADER); };
258static inline const int HOLD_MAXSIZE(
unsigned ssb) {
return HOLD_DATA_OFF() + SOE_HLD_ROWS*ssb; }
259static inline const int HOLD_MAX_NELM(
unsigned ssb) {
return HOLD_MAXSIZE(ssb)/
sizeof(long); }
266const int XRM_MAGPS_AI16 = 32;
267const int XRM_MAGPS_DI32 = 2;
268const int XRM_MAGPS_SP32 = 6;
271 epicsInt16 ai[XRM_MAGPS_AI16];
272 epicsUInt32 di[XRM_MAGPS_DI32];
273 epicsUInt32 sp[XRM_MAGPS_SP32];
277const int XRM_QPMS_AI16 = 128;
278const int XRM_QPMS_DI32 = 0;
279const int XRM_QPMS_SP32 = 8;
282 epicsInt16 ai[XRM_MAGPS_AI16];
283 epicsUInt32 di[XRM_MAGPS_DI32];
284 epicsUInt32 sp[XRM_MAGPS_SP32];
287const int XRM_INST_A_AI16 = 32;
288const int XRM_INST_A_DI32 = 0;
289const int XRM_INST_A_SP32 = 4;
292 epicsInt16 ai[XRM_INST_A_AI16];
293 epicsUInt32 di[XRM_INST_A_DI32];
294 epicsUInt32 sp[XRM_INST_A_SP32];
297const int XRM_INST_B_AI16 = 32;
298const int XRM_INST_B_DI32 = 1;
299const int XRM_INST_B_SP32 = 3;
302 epicsInt16 ai[XRM_INST_A_AI16];
303 epicsUInt32 di[XRM_INST_A_DI32];
304 epicsUInt32 sp[XRM_INST_A_SP32];
308void print(
FMT& fmt,
bool verbose =
false);
309void print(
SOE_LUT& lut,
bool verbose =
false);
FMT_ROW defines a row of FMT:
Definition xrm_structs.h:20
epicsUInt16 pad
Definition xrm_structs.h:22
epicsInt64 timestamp
Definition xrm_structs.h:24
epicsUInt32 client_data
Definition xrm_structs.h:23
epicsUInt16 event
Definition xrm_structs.h:21
SOE_LUT_ROW defines a row of SOE_LUT.
Definition xrm_structs.h:64
epicsUInt16 pad
Definition xrm_structs.h:66
epicsUInt16 event
Definition xrm_structs.h:65
epicsInt32 offset_us
Definition xrm_structs.h:68
epicsUInt32 pv_id
Definition xrm_structs.h:67
Definition xrm_structs.h:291
Definition xrm_structs.h:301
Definition xrm_structs.h:270
Definition xrm_structs.h:281
const int SPAD0_SC
Definition xrm_structs.h:137
struct SOE_LUT_ROW SOE_LUT[SOE_LUT_ROWS]
SOE_LUT Sample On Event Lookup Table definition.
Definition xrm_structs.h:95
struct SOE_HOLD_HEADER * SOE_HOLD_TABLE
SOE_HOLD_TABLE.
Definition xrm_structs.h:250
const int SPAD1_TS
Definition xrm_structs.h:138
struct FMT_ROW FMT[FMT_ROWS]
FMT : FNAL Multicast Table.
Definition xrm_structs.h:57
const int FMT_ROWS
Definition xrm_structs.h:37