Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Key nameSource

Write freq. [Hz]

Data size [byte]

Throughput
[kbyte/s]

FomatNotes
DAFNESTATE_JDAT

General Timing Window: it fetches from the DEVIL387 the GTIMDyn global and combines some of its data with information obtained from the Timing Status Word register. The result (GTIMStatusData) is translated as a Json document and written to Memcached .on:
- "Apply Sequence" command
- "BTF RUN" command



~0~512~0

The Json key is worked out by the SubVI (inserted in the new version of the General Timing window: /u2/dcs/source_solaris/0_classes/TIM/console/timing_2/General Timing Window):_Timing_3.3.3.vi - build 20230125-1145.

The SubVI is:

Image Added

Image Removed/u2/dcs/source_solaris/0_classes/TIM/console/timing_2/TimingStatusDecode.vi
(There also is another version named "TimingStatusDecode2.vi" that represents the DAFNE fill pattern as a unique sring of 120 "0" or "1" characters).

The key is updated any time a user sets some parameter performs some actions (Apply Sequence, BTF RUN) from the General Timing Windowwindow. The key content is a Json document with the following format.
{
  "bunch_seq_1_32":0,
  "bunch_seq_33_64":0,
  "bunch_seq_65_96":0,
  "bunch_seq_97_120":0,
  "accumulator_pulses":0,
  "linac_freq":0,
  "extraction_freq":0.0,
  "equidistant":0,
  "mode":0,
  "execution":0,
  "standby_state":0,
  "run":0
}

Values for the various fiedls are as consistent as possible with the "Timing Status Word" corresponding bitfields. In some cases the representation is modified in order to make it more intuitive (e.g. mode: -1=electrons, 1=positrons) or even directly usable (e.g. linac_freq: 25 Hz, 50 [ Hz]). In other cases (execution, stand_by_state) the value is equal to that of the corresponding bitfield in the Timing Status Word register (see table below).

  • bunch_seq_1_32, _33_64, _65_96: number in the range (0-4294967295)
  • bunch_seq_97-120: number in the range (0-16777215)
  • "accumulator_pulses": integer number
  • linac_freq: 25.0, 50.0 [Hz] floating point
  • extraction_freq: 0.2, 0.5, 1.0, 2.0 [Hz] floating point
  • equidistant: 0=contiguous, 1=equidistant
  • mode: -1=electrons, 1=positrons
  • execution: 1, 2, 4, 8, 16 (see table below)
  • standby_state: 1, 2, 4 (see table below)
  • run: 0=standby ,1=run

Total throughput

kbyte/sMbit/s
~0~0


Excerpt

Timing Status Word register

bit [0-31]Variablebit valuescorresponding
value
bit valuescorresponding
value
bit valuescorresponding
value
bit valuescorresponding
value
bit valuescorresponding
value
0LINAC freq. [Hz]1

25

050





101





2extraction freq. [Hz]10.200.50102

30100

40010

50001

6contiguous/equidistant0contiguous1equidistant





7mode -/+0e-1e+





8execution1Single cycle first bunch0Single cycle same bunch0Single cycle next bunch0Single sequence0Go forever
901000
1000100
1101010
1200001
13standby state (*)1All Off LINAC standby0Spectrometer only 1Hz0Disable gun



14010



15001



16run/standby0standby1run





1710





18...31










  (*) "standby state" is the condition which is reached when a "standby" command is issued

...