MIDAS
Loading...
Searching...
No Matches
ccusb.h File Reference
#include <stdio.h>
#include <string.h>
Include dependency graph for ccusb.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define D16   0x0000
 Data16.
 
#define D24   0x4000
 Data 24.
 
#define RNAFD16(n, a, f)   (D16 | (n<<9) | (a<<5) | f)
 Macro for Read D16.
 
#define RNAFD24(n, a, f)   (D24 | (n<<9) | (a<<5) | f)
 Macro for Read D24.
 
#define MARKER   (D16 | (0<<9) | (0<<5) | 16)
 
#define RD16   1
 Read D16.
 
#define MRAD16   2
 Multiple Read on A D16.
 
#define MRND16   3
 Multiple Read on N D16.
 
#define RD24   11
 Read D24.
 
#define MRAD24   12
 Multiple Read on A D24.
 
#define MRND24   13
 Multiple Read on N D24.
 
#define CD16   21
 Command D16.
 
#define WMARKER   50
 Marker.
 

Functions

int StackFill (int mode, int n, int a, int f, int d, long int *stack)
 Stack builder.
 
void StackCreate (long int *stack)
 
void StackClose (long int *stack)
 

Macro Definition Documentation

◆ CD16

#define CD16   21

Command D16.

Definition at line 18 of file ccusb.h.

◆ D16

#define D16   0x0000

Data16.

Definition at line 7 of file ccusb.h.

◆ D24

#define D24   0x4000

Data 24.

Definition at line 8 of file ccusb.h.

◆ MARKER

#define MARKER   (D16 | (0<<9) | (0<<5) | 16)

Definition at line 11 of file ccusb.h.

◆ MRAD16

#define MRAD16   2

Multiple Read on A D16.

Definition at line 13 of file ccusb.h.

◆ MRAD24

#define MRAD24   12

Multiple Read on A D24.

Definition at line 16 of file ccusb.h.

◆ MRND16

#define MRND16   3

Multiple Read on N D16.

Definition at line 14 of file ccusb.h.

◆ MRND24

#define MRND24   13

Multiple Read on N D24.

Definition at line 17 of file ccusb.h.

◆ RD16

#define RD16   1

Read D16.

Definition at line 12 of file ccusb.h.

◆ RD24

#define RD24   11

Read D24.

Definition at line 15 of file ccusb.h.

◆ RNAFD16

#define RNAFD16 (   n,
  a,
 
)    (D16 | (n<<9) | (a<<5) | f)

Macro for Read D16.

Definition at line 9 of file ccusb.h.

◆ RNAFD24

#define RNAFD24 (   n,
  a,
 
)    (D24 | (n<<9) | (a<<5) | f)

Macro for Read D24.

Definition at line 10 of file ccusb.h.

◆ WMARKER

#define WMARKER   50

Marker.

Definition at line 19 of file ccusb.h.

Function Documentation

◆ StackClose()

void StackClose ( long int stack)

To be called after StackFill()

Definition at line 106 of file ccusb.h.

106 {
107 // nothing to do for now
108}
Here is the caller graph for this function:

◆ StackCreate()

void StackCreate ( long int stack)

To be called before the StackFill()

Definition at line 97 of file ccusb.h.

97 {
98 stack[0] = 0;
99}
Here is the caller graph for this function:

◆ StackFill()

int StackFill ( int  mode,
int  n,
int  a,
int  f,
int  d,
long int stack 
)

Stack builder.

To be used in the Begin_of_run for camac list definition Will be loaded in the CCUSB at end of BOR

Parameters
modeCAMAC action type
nStation number
aStation subaddress
fCAMAC function
ddata
*stackstack list

Definition at line 36 of file ccusb.h.

36 {
37
38 int lvar=0;
39
40 // New entry
41 switch (mode) {
42 case RD16: // Read
43 case CD16: // Command (same as read)
44 stack[0] += 1; lvar = stack[0];
45 stack[lvar] = RNAFD16(n, a, f);
46 break;
47 case MRAD16:
48 for (int i=0;i<d;i++) {
49 int aa = a+i;
50 stack[0] += 1; lvar = stack[0];
51 stack[lvar] = RNAFD16(n, aa, f);
52 }
53 break;
54 case MRND16:
55 for (int i=0;i<d;i++) {
56 int nn = n+i;
57 stack[0] += 1; lvar = stack[0];
58 stack[lvar] = RNAFD16(nn, a, f);
59 }
60 break;
61 case RD24:
62 stack[0] += 1; lvar = stack[0];
63 stack[lvar] = RNAFD24(n, a, f);
64 break;
65 case MRAD24:
66 for (int i=0;i<d;i++) {
67 int aa = a+i;
68 stack[0] += 1; lvar = stack[0];
69 stack[lvar] = RNAFD24(n, aa, f);
70 }
71 break;
72 case MRND24:
73 for (int i=0;i<d;i++) {
74 int nn = n+i;
75 stack[0] += 1; lvar = stack[0];
76 stack[lvar] = RNAFD24(nn, a, f);
77 }
78 break;
79 case WMARKER:
80 stack[0] += 1; lvar = stack[0];
81 stack[lvar] = MARKER;
82 stack[0] += 1; lvar = stack[0];
83 stack[lvar] = d;
84 break;
85 default:
86 break;
87 }
88
89 return stack[0];
90}
#define RD24
Read D24.
Definition ccusb.h:15
#define MRND24
Multiple Read on N D24.
Definition ccusb.h:17
#define MARKER
Definition ccusb.h:11
#define CD16
Command D16.
Definition ccusb.h:18
#define MRAD24
Multiple Read on A D24.
Definition ccusb.h:16
#define RNAFD24(n, a, f)
Macro for Read D24.
Definition ccusb.h:10
#define RNAFD16(n, a, f)
Macro for Read D16.
Definition ccusb.h:9
#define MRND16
Multiple Read on N D16.
Definition ccusb.h:14
#define RD16
Read D16.
Definition ccusb.h:12
#define MRAD16
Multiple Read on A D16.
Definition ccusb.h:13
#define WMARKER
Marker.
Definition ccusb.h:19
DWORD n[4]
Definition mana.cxx:247
INT i
Definition mdump.cxx:32
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24
double d
Definition system.cxx:1311
Here is the caller graph for this function: