Subversion Repositories f9daq

Rev

Blame | Last modification | View Log | RSS feed

#ifndef _DATAIO_H_
#define _DATAIO_H_
#include "stdint.h"

#define EVTREC_ID      1
#define RUNINFO_ID     2
#define POSREC_ID      3
#define RUNREC_ID      4
#define DATREC_ID      5
#define ITERATORREC_ID 6
#define ENDREC_ID      7
#define CAENV729REC_ID 8
#define MONREC_ID      9

typedef struct {
  uint32_t id;
  uint32_t len;
} HEADERREC;

#pragma pack(4)
typedef struct {
  uint32_t id,len;
  uint32_t fver,time;
  uint32_t nev,ped;
  int32_t nx,x0,dx,ny,y0,dy,direction;
  char serial[0xFF];
} RUNREC;
#pragma pack()

typedef struct {
  uint32_t id,len;
  uint32_t cmd,x0;
  uint32_t dx,nx;
  uint32_t chip,ch,neve,writemode;
} RUNINFO;

typedef struct {
  uint32_t id,len;
  uint32_t time;
} ENDREC;

typedef struct {
  uint32_t id,len;
  uint32_t time;
  int32_t ix,x,xset,iy,y,yset;
} POSREC;

typedef struct {
  uint32_t id,len;
  uint32_t time,nev;
} EVTREC;

typedef struct {
  uint32_t id,len;
  int chip,channel;
  uint32_t cmd,data,retval;
} DATREC;

typedef struct {
  uint32_t id,len;
  int level;
  int n;
  double value,step;
} ITERATORREC;

typedef struct {
  uint32_t id,len;
  uint32_t time;
  int32_t imon[24],iset[24],vmon[24],vset[24],status[24];
} MONREC;

#endif /* _DATAIO_H_ */