Frontend Operation: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
No edit summary
(The midas documentation has moved to https://midas.triumf.ca/docs/)
Tag: Replaced
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Introduction ==
The midas documentation has moved. See [https://midas.triumf.ca/docs/develop/features/acquiring_data/frontends/ Frontends: overview] and [https://midas.triumf.ca/docs/develop/features/acquiring_data/frontends/programming/ Frontends: programming] for the new documentation about frontends, equipment and events.
 
The terms that are needed for a discussion of a <span style="color: green; font-style:italic; ">''frontend''</span> will be introduced here. The features of a typical <span style="color: green; font-style:italic; ">''frontend task''</span> will then be explained by reference to some of the examples included with the MIDAS package.
 
 
== Frontend  ==
 
The term "<span style="color: green; font-style:italic; ">''frontend''</span>" usually refers to a "<span style="color: green; font-style:italic; ">''frontend task''</span>" or program running on a particular computer which has access to hardware equipment in use by the experiment. An experiment may
run several <span style="color: green; font-style:italic; ">''frontends''</span>, each performing different functions.
 
A <span style="color: green; font-style:italic; ">''frontend task''</span> consists of 
* a fixed  experiment-independent system framework  (i.e. '''''mfe.c''''')
: handling the data flow control, data transmission and run control operation.
 
* a '''user part''' (e.g. '''''frontend.c''''')
: written by the user describing the sequence of actions to acquire the hardware data
 
A set of templates for the user part is provided in the MIDAS package (e.g. ''../midas/examples/experiment/frontend.c'').
 
The hardware access is only apparent in the user part ( referred to here as ''frontend.c'', but the user may select any name). The system framework is contained in the file ''mfe.c'', which is part of the MIDAS package (the name "mfe" stands for "MIDAS front end").
 
The term "<span style="color: green; font-style:italic; ">frontend code</span>"  in this document usually refers to the user part (i.e. ''frontend.c''), since the system framework (''mfe.c'') is fixed.
 
To build a <span style="color: green; font-style:italic; ">frontend task</span>, the user code ''frontend.c'' and system code ''mfe.c'' are compiled and linked together with the required libraries, by running a ''Makefile'' (e.g.  ''../midas/examples/experiment/Makefile'' in the MIDAS package).
A "<span style="color: green; font-style:italic; ">''frontend task''</span>"
may have any name the user chooses (e.g. ''fevme, fegpib''). To run the task, see [[Frontend Application]].
 
== Hardware Modules ==
 
Examples of hardware modules that may be accessed by the [[#Frontend |Frontend]] are ADC modules, TDC modules, Scaler modules. See [[Current supported Hardware]];
 
== Hardware Drivers ==
The [[#Frontend|Frontend]] is usually linked to a  "device driver" for the particular hardware in use.
A device driver (or "driver") is a piece of code that allows the computer to access some particular hardware.
 
Dedicated header and library files (i.e. drivers) for hardware access
to VME, GPIB, RS232 and CAMAC are part of the MIDAS distribution set.
Several libraries and drivers exist for the various bus systems. See [[MIDAS Driver Library]].

Latest revision as of 22:00, 30 October 2026

The midas documentation has moved. See Frontends: overview and Frontends: programming for the new documentation about frontends, equipment and events.