#include <stdio.h>
#include <string.h>
Go to the source code of this file.
|
| #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.
|
| |
◆ CD16
Command D16.
Definition at line 18 of file ccusb.h.
◆ D16
Data16.
Definition at line 7 of file ccusb.h.
◆ D24
Data 24.
Definition at line 8 of file ccusb.h.
◆ MARKER
| #define MARKER (D16 | (0<<9) | (0<<5) | 16) |
◆ MRAD16
Multiple Read on A D16.
Definition at line 13 of file ccusb.h.
◆ MRAD24
Multiple Read on A D24.
Definition at line 16 of file ccusb.h.
◆ MRND16
Multiple Read on N D16.
Definition at line 14 of file ccusb.h.
◆ MRND24
Multiple Read on N D24.
Definition at line 17 of file ccusb.h.
◆ RD16
Read D16.
Definition at line 12 of file ccusb.h.
◆ RD24
Read D24.
Definition at line 15 of file ccusb.h.
◆ RNAFD16
| #define RNAFD16 |
( |
|
n, |
|
|
|
a, |
|
|
|
f |
|
) |
| (D16 | (n<<9) | (a<<5) | f) |
Macro for Read D16.
Definition at line 9 of file ccusb.h.
◆ RNAFD24
| #define RNAFD24 |
( |
|
n, |
|
|
|
a, |
|
|
|
f |
|
) |
| (D24 | (n<<9) | (a<<5) | f) |
Macro for Read D24.
Definition at line 10 of file ccusb.h.
◆ WMARKER
Marker.
Definition at line 19 of file ccusb.h.
◆ StackClose()
| void StackClose |
( |
long int * |
stack | ) |
|
◆ 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}
◆ 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
-
| mode | CAMAC action type |
| n | Station number |
| a | Station subaddress |
| f | CAMAC function |
| d | data |
| *stack | stack list |
Definition at line 36 of file ccusb.h.
36 {
37
38 int lvar=0;
39
40
41 switch (mode) {
44 stack[0] += 1; lvar = stack[0];
46 break;
48 for (
int i=0;
i<
d;
i++) {
50 stack[0] += 1; lvar = stack[0];
52 }
53 break;
55 for (
int i=0;
i<
d;
i++) {
57 stack[0] += 1; lvar = stack[0];
58 stack[lvar] =
RNAFD16(nn, a, f);
59 }
60 break;
62 stack[0] += 1; lvar = stack[0];
64 break;
66 for (
int i=0;
i<
d;
i++) {
68 stack[0] += 1; lvar = stack[0];
70 }
71 break;
73 for (
int i=0;
i<
d;
i++) {
75 stack[0] += 1; lvar = stack[0];
76 stack[lvar] =
RNAFD24(nn, a, f);
77 }
78 break;
80 stack[0] += 1; lvar = stack[0];
82 stack[0] += 1; lvar = stack[0];
84 break;
85 default:
86 break;
87 }
88
89 return stack[0];
90}
#define MRND24
Multiple Read on N D24.
#define MRAD24
Multiple Read on A D24.
#define RNAFD24(n, a, f)
Macro for Read D24.
#define RNAFD16(n, a, f)
Macro for Read D16.
#define MRND16
Multiple Read on N D16.
#define MRAD16
Multiple Read on A D16.