XXX is a template for creating EPICS IOCs that provide beam line support using the synApps module collection.
Regarding the license of tagged versions prior to synApps 4-5, refer to the LICENSE file.
- Edit
configure/RELEASEto setSUPPORTandEPICS_BASE - Edit
iocBoot/iocxxx/settings.iocshto setIOC_NAMEandPREFIX - Build:
gnumake - Start:
iocBoot/iocxxx/softioc/ioc.pl start
Edit configure/RELEASE to point SUPPORT at your synApps installation.
The standard synApps module paths are pulled in automatically via
-include $(SUPPORT)/configure/RELEASE.
If you don't want to build all default target architectures, edit
configure/CONFIG to set CROSS_COMPILER_TARGET_ARCHS.
Run gnumake from the top-level directory.
Edit iocBoot/iocxxx/settings.iocsh to set:
IOC_NAME-- used to derive the PV prefix, IOC name, and shell promptENGINEER,LOCATION,GROUP-- metadata for devIocStats and alive
Example configuration for common hardware is provided in
iocBoot/iocxxx/examples/. Copy the relevant files to the
iocBoot/iocxxx/ directory, edit to match your hardware, and
add a line in the startup script to load them. Examples include:
examples/detectors/-- areaDetector camera configurationsexamples/serial_devices.iocsh-- serial/network instrument supportexamples/motors.iocsh-- motor controller configurationsexamples/optics.iocsh-- slits, monochromators, tables, filters
Edit auto_settings.req and auto_positions.req to add any PVs
that aren't saved by the autobuild system. Ensure the autosave
directory is writable:
chmod a+w,g+s iocBoot/iocxxx/autosave
The ioc.pl script in iocBoot/iocxxx/softioc/ manages the IOC:
softioc/ioc.pl start # Start the IOC in a screen/procServ session
softioc/ioc.pl stop # Stop the IOC
softioc/ioc.pl status # Check if the IOC is running
softioc/ioc.pl restart # Restart the IOC
softioc/ioc.pl console # Connect to the IOC console
softioc/ioc.pl caqtdm # Launch caQtDM display
softioc/ioc.pl medm # Launch MEDM display
softioc/ioc.pl phoebus # Launch Phoebus display
Multiple IOCs can share the same compiled binary. To create a second IOC:
cp -r iocBoot/iocxxx iocBoot/iocfoo- Edit
iocBoot/iocfoo/settings.iocsh-- changeIOC_NAMEtofoo - Run
makeiniocBoot/iocfoo/
The ioc.pl script and all startup files automatically adapt to the
new IOC name. No file renames or other edits are required.
The PV prefix is derived from IOC_NAME in settings.iocsh. To
change it, edit that single line. For a more comprehensive rename
(including screen files and documentation), use the changePrefix
utility from synApps/support/utils/.