Coda: Difference between revisions
Line 21: | Line 21: | ||
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories ''/cg'', ''/motif'' and ''/sase3.1''. | Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories ''/cg'', ''/motif'' and ''/sase3.1''. | ||
Run control code resides in subdirectory ''/runControl''. Subdirectory ''/Variables'' contains some generic stuff, for example ''daqData'' contains operators overloading etc. | Run control code resides in subdirectory ''/runControl''. Subdirectory ''/Variables'' contains some generic stuff, for example ''daqData'' contains operators overloading etc. | ||
''/Common'' - set if classes use by other components: | |||
codaIntHash -- codaSList | |||
codaStrHash ------/ | |||
rcMsg | |||
rcSvcInfoFinder | |||
rcSvcLocaterRep | |||
| (friend) | |||
rcServerLocater | |||
''/rcClient'' contains run control client library functions in ''/src.s'' and client program example in ''/main''. Library has following structure: | ''/rcClient'' contains run control client library functions in ''/src.s'' and client program example in ''/main''. Library has following structure: | ||
Line 27: | Line 38: | ||
''/rcServer'' contains run control server library in subdirectories ''/Components.s'', ''/Constants.s'', ''/Network.s'', ''/Transitioners.s'' and ''/src.s'', and main program in ''/main''. Most important classes are in ''/Components.s'': | ''/rcServer'' contains run control server library in subdirectories ''/Components.s'', ''/Constants.s'', ''/Network.s'', ''/Transitioners.s'' and ''/src.s'', and main program in ''/main''. Most important classes are in ''/Components.s'': | ||
rcServer | |||
| | |||
|-- codaIntHash -- | |||
daqRun - | daqRun - | ||
Line 42: | Line 57: | ||
|-- rcsUpdateIWriter | |-- rcsUpdateIWriter | ||
| | | | ||
|-- dbaseReader - | |-- dbaseReader -- factory -- daqLogComp | ||
| | |||
|-- daqCompMonitor | |||
| | |||
|-- daqDataUpdater (one pointer) |
Revision as of 10:11, 9 April 2014
CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.
dac directory
Core CODA packages.
proc_thread
Original CODA's second readout list is running as a thread, called 'proc_thread'. It can be run on main host or on pmc co-processor. Main files is 'main/cinclude/roc_process.c'. Main function started as a thread is
void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.
write_thread
Last component in coda_roc running as a thread. Main file is 'dac.s/roc_network.c'. Main function started as a thread is
write_thread(BIGNET *bignetptrin, unsigned int offsetin)
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;
rc directory (run control)
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories /cg, /motif and /sase3.1. Run control code resides in subdirectory /runControl. Subdirectory /Variables contains some generic stuff, for example daqData contains operators overloading etc.
/Common - set if classes use by other components:
codaIntHash -- codaSList codaStrHash ------/ rcMsg rcSvcInfoFinder rcSvcLocaterRep | (friend) rcServerLocater
/rcClient contains run control client library functions in /src.s and client program example in /main. Library has following structure:
rcClient <- rccDaqData <- codaRcCallback
/rcServer contains run control server library in subdirectories /Components.s, /Constants.s, /Network.s, /Transitioners.s and /src.s, and main program in /main. Most important classes are in /Components.s:
rcServer | |-- codaIntHash --
daqRun - | |-- rcsAnaLogVarWriter |-- rcsConfFileNameWriter |-- rcsDaqData |-- rcsDataLimitWriter |-- rcsEvLimitWriter |-- rcsLogFileDesWriter |-- rcsNumEvTrigger |-- rcsNumLongTrigger |-- rcsRunNumberWriter |-- rcsTokenIntervalWriter |-- rcsUpdateIWriter | |-- dbaseReader -- factory -- daqLogComp | |-- daqCompMonitor | |-- daqDataUpdater (one pointer)