Something went wrong on our end
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
rcgsoftdevguideCcode.dox 4.01 KiB
/*! \page devguidercg1 Real-time C Code Modules
\verbatim
This section provides a brief description of the various C code modules compiled with user apps to produce a runtime kernel object.
\endverbatim
\image html CcodeCompile.png "C Code Modules"
<b>Kernel Space Code Modules</b>
<b>Module Initialization</b>
- These files contain the main startup/initialization code. \n
- moduleLoadIop.c Code for production system IOP kernel object
- moduleLoadApp.c Code for production system User App kernel object
- moduleLoadTS.c Code for running IOP using Dolphin network timing
<b>Scheduler</b>
- These files contain the primary sequencer, or scheduler, code. \n
- controllerIop.c Code for production system IOP kernel object
- controllerApp.c Code for production system User App kernel object
- controllerTS.c Code for running IOP using Dolphin network timing
- controllerCymac.c Code for running a standalone test system
- controllerLR.c Code for running with a long range PCIe extender
Further information can be found at <a href="https://dcc.ligo.org/cgi-bin/private/DocDB/ShowDocument?docid=7688">LIGO T0900607 aLIGO CDS Realtime Sequencer Software</a>
<b>User Space Code Modules</b>
- rcguserIop.c Main code for initializing user space IOP software
- controllerIopUser.c Main sequencer code for user space IOP
- rcguser.c Main code for initializing user space app software
- controllerAppUser.c Main sequencer code for user space app
<b>Digital Filtering</b>
- fm10Gen.c
- Contains the standard IIR/FIR filter routines.
- epicsXfer.c
- Provides for transfer of filter module data between the RT code and EPICS via shared memory.
- inputFilterModule.h
- inputFilterModule1.h
<b>Data Acquisition</b>
- daqLib.c
- Routine for gathering DAQ and GDS TP data from RT code and passing to shared memory.
<b>PCIe Module Drivers</b>
- map.c \n
- timing.c \n
- accesDio24.c \n
- accesIIRO8.c \n
- accesIIRO16.c \n
- contec1616.c \n
- contec32o.c \n
- contec6464.c \n
- gsc16ai64.c \n
- gsc16ao16.c \n
- gsc18ao8.c \n
- spectracomGPS.c \n
- symmetricomGps.c \n
- vmic5565.c \n
<b>Real-time Networking </b>
- commData3.c
- dolphin.c
<b>Support</b>
- crc.c
- susWatchdogFilters.c
*/
/*! \page devguideController Initialization and Timing Control Modules
This is documentation for controller.c and moduleLoad.c
*/
/*! \page devguideFilters Digital Filtering
This is documentation for: \n
fm10Gen.c \n
epicsXfer.c \n
epicsXfer.c \n
inputFilterModule.c \n
inputFilterModule1.c \n
*/
/*! \page devguideDaq Data Acquisition
This is documentation for: \n
daqLib.c \n
mx_stream.c \n
*/
/*! \page devguideIod PCIe Module I/O Drivers
This is documentation for: \n
map.c \n
timing.c \n
accesDio24.c \n
accesIIRO8.c \n
accesIIRO16.c \n
contec1616.c \n
contec32o.c \n
contec6464.c \n
gsc16ai64.c \n
gsc16ao16.c \n
gsc18ao8.c \n
spectracomGPS.c \n
symmetricomGps.c \n
vmic5565.c \n
*/
/*! \page devguideRtn Real-time Networking
This is documentation for: \n
commData2.c \n
dolphin.c \n
*/
/*! \page devguideHeaders Header Files
This is documentation for: \n
commData2.h \n
controller.h \n
feComms.h \n
daqmap.h \n
crc.h \n
fmReadCoeff.h \n
*/
/*! \page devguideepics EPICS State Notation Language (SNL) and C Files
A number of C code files are compiled and linked in with the model.st file to produce the final EPICS sequencer code to interface data between the RT code and EPICS database records.
- <b> src/epics/util/skeleton.st </b> - Used as the base file for fmseq.pl to produce EPICS SNL code.
- src/epics/seq/main.c - Required startup routine for EPICS; modified to monitor alarms for GUARDIAN support.
- src/drv/rfm.c - Provides routine for getting pointer to shared memory. \n
- src/drv/param.c - Contains routines to read and load data from DAQ configuration (.ini) files. \n
- src/drv/crc.c - Provides routines for performing CRC checksum calculations. \n
- src/drv/fmReadCoeff.c - Provides routines for reading and loading IIR filter coefficients. \n
*/