|
Back
Midas
Rome
Roody
Rootana
|
Midas DAQ System |
Not logged in |
|
|
29 Jan 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend
|
02 Feb 2020, Konstantin Olchanski, Info, Force triggering of idle routine of a frontend
|
02 Feb 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend
|
03 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend
|
04 Feb 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend
|
07 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend
|
07 Feb 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend
|
09 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend
|
10 Feb 2020, Konstantin Olchanski, Info, Force triggering of idle routine of a frontend
|
12 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend
|
|
Message ID: 1806
Entry time: 03 Feb 2020
In reply to: 1799
Reply to this: 1808
|
Author: |
Stefan Ritt |
Topic: |
Info |
Subject: |
Force triggering of idle routine of a frontend |
|
|
It is important to note that slow control readout and sending of midas events are two separate things. Readout is done as fast as possible, even multi-threaded if selected. On fast devices this can be 100 Hz readout rate and even more. This data is stored in an internal buffer. When one of the values changes by more than the update threshold, then the ODB gets updated. The midas events are composed from this internal buffer when a new event has to be sent. This is typically periodic (like every 10 seconds or so), or during run transitions. If you specify this in the equipment list with the RO_xxx flags. If you want an event at the begin-of-run, just add there RO_BOR. It should be noted however that this then creates and event during BOR from the last values in the internal buffer, which - depending on the readout speed - can be a few ms "old". I would recommend that you test the readout speed of your variables and then check if this delay is acceptable.
Best,
Stefan
Pintaudi Giorgio wrote: | Hello!
As you know, the generic MIDAS frontend has a class driver, device driver, bus driver
structure. Assuming a slow device frontend, its class driver should have a routine of type INT idle (EQUIPMENT * pequipment) This routine is called with a rate controlled by the
"/Equipment/<frontend name>/Common/Event limit" parameter.
The idle routine usually reads one channel of the frontend and stores the results
in the "/Equipment/<frontend name>/Variables" ODB folder.
My question is: it is possible to force (from the code) the frontend to call the idle routine at a
certain point. This is because I need to update the "/Equipment/<frontend name>/Variables"
variables inside the "begin_of_run" routine, at a very specific time.
One dirty solution would be to increase a lot the reading rate ... but I need this
increased reading rate only during the run start while I need a low reading rate
during the run. So the question: is it possible to increase and decrease the reading
rate (event limit) of a frontend without stopping and restarting it?
If you need more info, please let me know.
Thank you
Giorgio |
|