1 |
/**************************************************************************** |
2 |
* F i l e D a t a |
3 |
* $Id: HB_HKBuffer_INFN.h,v 4.4 2005/05/28 10:44:09 kusanagi Exp $ |
4 |
* $Revision: 4.4 $ |
5 |
* $Date: 2005/05/28 10:44:09 $ |
6 |
* $RCSfile: HB_HKBuffer_INFN.h,v $ |
7 |
* |
8 |
**************************************************************************** |
9 |
* S W D e v e l o p m e n t E n v i r o n m e n t |
10 |
* |
11 |
* $Author: kusanagi $ |
12 |
* : |
13 |
**************************************************************************** |
14 |
* |
15 |
*****************************************************************************/ |
16 |
|
17 |
#ifndef _HB_HKBUFFER_INFN_H |
18 |
#define _HB_HKBUFFER_INFN_H |
19 |
|
20 |
|
21 |
/*============================= Include File ================================*/ |
22 |
|
23 |
#ifndef I386 |
24 |
#include <src/SRAMManager/SRAMPageManager/SM_SRAMPageManager_p.h> |
25 |
#include <src/BasicSW/RTEMSInterface/OS_rtems_p.h> |
26 |
#include <src/MCMDManager/MCMDArea/MA_MCMDArea_p.h> |
27 |
#include <src/INFN/OS_rtems_INFN_p.h> |
28 |
#endif // I386 |
29 |
|
30 |
#ifdef OLDANALISI |
31 |
#include <src/INFN/CM_Common_INFN.h> |
32 |
#include <src/INFN/DAQ_IDAQ_INFN.h> |
33 |
#endif // OLDANALISI |
34 |
|
35 |
#define UINT32 unsigned int |
36 |
/*============================ Global define ================================*/ |
37 |
|
38 |
#define HB_SKETCHSIZE SM_SKETCHSIZE |
39 |
|
40 |
|
41 |
#define HB_BUF_TMTC_SIZE (20*1024) |
42 |
#define HB_BUF_MCMD_SIZE (20*1024) |
43 |
#define HB_BUF_LOG_SIZE ( 6*1024) |
44 |
#define HB_BUF_VARDUMP_SIZE PRH_TOTAL_VAR_SIZE |
45 |
#define HB_BUF_ARRDUMP_SIZE PRH_TOTAL_ARR_SIZE |
46 |
#define HB_BUF_TABDUMP_SIZE PRH_TOTAL_TAB_SIZE |
47 |
#define HB_BUF_RUNHEADER_SIZE (1*1024) |
48 |
#define HB_BUF_RUNTRAILER_SIZE (1*1024) |
49 |
#define HB_BUF_SKETCHBOARD_SIZE (64*1024) |
50 |
#define HB_BUF_USERDATA_SIZE (64*1024) |
51 |
|
52 |
/* number of user defined buffer */ |
53 |
#define HB_USERDATA_NO 4 |
54 |
|
55 |
#define HB_HEADER_1 0xFA |
56 |
#define HB_HEADER_2 0xFE |
57 |
#define HB_HEADER_3 0xDE |
58 |
|
59 |
#define HB_PKTTYPE_PHYS_PKT 0x10 /* Experiment Event Packet */ |
60 |
#define HB_PKTTYPE_FORCED_PKT 0x11 /* Force Idaq Cmd-queue Event Packet */ |
61 |
#define HB_PKTTYPE_CALIB_TRK 0x12 /* Tracker Calibration Event Packet */ |
62 |
#define HB_PKTTYPE_CALIB_TRG 0x13 /* Trigger Calibration Event Packet */ |
63 |
#define HB_PKTTYPE_CALIB_CAL 0x14 /* Calorimeter Calibration Event Packet */ |
64 |
#define HB_PKTTYPE_CALIB_TRD 0x15 /* TRD Calibration Event Packet */ |
65 |
#define HB_PKTTYPE_CALIB_TOF 0x16 /* TOF Calibration Event Packet */ |
66 |
#define HB_PKTTYPE_CALIB_S4 0x17 /* S4 Calibration Event Packet */ |
67 |
#define HB_PKTTYPE_RUNHEADER 0x20 /* The starting of a Run */ |
68 |
#define HB_PKTTYPE_RUNTRAILER 0x21 /* The ending of a Run */ |
69 |
#define HB_PKTTYPE_ALARM 0x30 /* TBD */ |
70 |
#define HB_PKTTYPE_KHB 0x40 /* TBD */ |
71 |
#define HB_PKTTYPE_LOG 0x50 /* Log block */ |
72 |
#define HB_PKTTYPE_VARDUMP 0x51 /* ParamDump block var*/ |
73 |
#define HB_PKTTYPE_ARRDUMP 0x52 /* ParamDump block arr*/ |
74 |
#define HB_PKTTYPE_TABDUMP 0x53 /* ParamDump block tab*/ |
75 |
#define HB_PKTTYPE_TMTC 0x54 /* TMTC block */ |
76 |
#define HB_PKTTYPE_MCMD 0x55 /* MCMD block */ |
77 |
|
78 |
/*============================== global types ==============================*/ |
79 |
|
80 |
|
81 |
|
82 |
|
83 |
/*****************************************************************************/ |
84 |
/*=========================== Structure define ==============================*/ |
85 |
|
86 |
typedef struct { |
87 |
// TBD: |
88 |
UINT32 info1; |
89 |
UINT32 info2; |
90 |
} HB_RUN_HEADER_INFO; |
91 |
|
92 |
typedef struct { |
93 |
// TBD: |
94 |
UINT32 info1; |
95 |
UINT32 info2; |
96 |
} HB_RUN_TRAILER_INFO; |
97 |
|
98 |
/*****************************************************************************/ |
99 |
/*============================ Enumerate define =============================*/ |
100 |
typedef enum { |
101 |
HB_NULL, |
102 |
HB_TMTC, |
103 |
HB_MCMD, |
104 |
HB_LOG, |
105 |
HB_VARDUMP, |
106 |
HB_ARRDUMP, |
107 |
HB_TABDUMP, |
108 |
HB_SKETCHBOARD, |
109 |
HB_RUNHEADER, |
110 |
HB_RUNTRAILER, |
111 |
HB_USERDATA0, |
112 |
HB_USERDATA1, |
113 |
HB_USERDATA2, |
114 |
HB_USERDATA3, |
115 |
HB_MAX |
116 |
} HB_BUF; |
117 |
|
118 |
/*===========================================================================*/ |
119 |
|
120 |
|
121 |
|
122 |
#ifndef I386 |
123 |
static status_code HB_SemP(); |
124 |
static status_code HB_SemV(); |
125 |
status_code HB_Init(); |
126 |
static status_code HB_InitBuf_NoLock(HB_BUF bufid); |
127 |
status_code HB_InitBuf(HB_BUF bufid); |
128 |
unsigned int HB_SpaceLeft(HB_BUF bufid); |
129 |
status_code HB_Store(HB_BUF bufid,unsigned short int len,void *dataptr,TI_TIME obt); |
130 |
status_code HB_WriteToPIF(); |
131 |
status_code HB_SaveBuffer2MM(DAQ_CMD_BUF *buffer, FS_FILEID id,UINT32 timeout); |
132 |
|
133 |
status_code HB_SaveHBBuffer2MM(HB_BUF bufid,UINT32 timeout); |
134 |
status_code HB_SetRunHeaderInfo( /* params TBD */ ); |
135 |
status_code HB_SetRunTrailerInfo( /* params TBD */ ); |
136 |
#endif // I386 |
137 |
|
138 |
|
139 |
|
140 |
#endif // _HB_HKBUFFER_INFN_H |
141 |
|
142 |
|