...
Data type | Name | Description |
---|---|---|
Bool | ddOut | Legacy data-dependency output |
errorCluster | errorOut |
Details
---
Examples
---
...
Figure 1-b: The sequence [1,0,3,2] is sorted according to the direction of the positrons beam:, starting from rack 071 (DEVIL365 > 364 > 367 > 366)
...
Details
---
Examples
---
readDEVILSocket.vi
This VI reads and returns the last data acquired from the 4 DEVILs. It doesn't perform any data reordering or padding (see "Details" paragraph below). The X and Y arrays have 32 components, such as the number of channels of the multiplexer connected to the DVM.
...
Data type | Name | Description |
---|---|---|
[DBL] | part X | Array of 32 DBL: see corresponding control description above. The array is returned both for read and write operations. |
[DBL] | part X | Array of 32 DBL: see corresponding control description above. The array is returned both for read and write operations. |
errorCluster | errorOut | [ACQ numbers mismatch (num0, num1, num2, num3)] |
Details
Each one of the 4 DEVILs has a circular buffer of 1927 lines named "sockets". Write operations of the four circular buffers are synchronized via a common stobe so that the four write pointers are always alligned. At each strobe, each DEVIL stores a "socket" composed as:
DBL ACQNum [0, 1926]; The socket header is written twice: at the beginning of the socket (before part X) and again in the middle of the socket (before part Y) the content of the two headers being the same; this is due to historical reasons and – although it is a waste of memory space – it was left in order not to compromise the functioning of other pieces of code that access the same memory area.
[DBL] 32 values of the BPM X signals from the Bergoz modules read from that DEVIL;
[DBL] 32 values of the BPM Y signals from the Bergoz modules read from that DEVIL. The 32 components in part X and Y are ordered according to the cabling and do not necessarily follow the sequence of the BPMs along the vacuum chamber. Moreover the 32 values refer to both e- and e+ rings for which the BPMs sequence is obviously different. As a consequence, part X and Y must be considered as raw containers and their content must be further processed in order to reconstruct the real orbit. |
Examples
---
...
GRawBuffer.vi
This VI is a functional global that stores, holds and returns the last X and Y parts acquired from the 4 DEVILs. The X and Y arrays have 32 components, such as the number of channels of the multiplexer connected to the DVM. This VI doesn't perform any data reordering or padding. Data are not queued: each write operation with the same DEVILIndex overwrites the previous one.
...
Data type | Name | Description |
---|---|---|
I32 | DEVILIndex | Index in the range [0, 1, 2, 3] corresponding to: INDEX 0, 1, 2, 3 |
enum | mode | [init, read, write X and Y, write X, write Y] (read)
|
[DBL] | part X | Array of 32 DBL components containing the raw values of the X signals coming from both electron and positron BPMs. The components are in the same order of the values in the DEVIL memory locations. |
[DBL] | part X | Array of 32 DBL components containing the raw values of the Y signals coming from both electron and positron BPMs. The components are in the same order of the values in the DEVIL memory locations. |
errorCluster | errorIn |
Indicators
Data type | Name | Description |
---|---|---|
[DBL] | part X | See corresponding control description above. The X array is returned both for read and write operations. |
[DBL] | part X |
Indicators
See corresponding control description above. The Y array is returned both for read and write operations. | ||
errorCluster | errorOut |
Details
Write operation for both X and Y arrays: DEVILIndex selects the same lines of the two blocks and stores the two arrays. The previous content of the two lines is overwritten.
Examples
---
...
buildOrbit.vi
Gets raw data from the functional global GRawBuffer and reconstruct the actual orbit (horizontal or vertical). The mode (electrons or positrons) is determined by the DEVILSequence array The VI resizes the orbit to the standard 64 components by placing dummy values at the posizions indicated by HWMaskArray.
Controls
Data type | Name | Description |
---|
errorCluster | errorIn |
Indicators
Data type | Name | Description |
---|---|---|
errorCluster | errorOut |
Details
...
Examples
---