synapps-ioc

Create and configure synApps IOC applications using mkioc templates and RELEASE setup.

1|1|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/BCDA-APS/opencode-skills --skill synapps-ioc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: synapps-ioc
Source: https://github.com/BCDA-APS/opencode-skills/tree/main/synapps-ioc
Command: npx skills add https://github.com/BCDA-APS/opencode-skills --skill synapps-ioc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It streamlines creating and configuring EPICS IOCs using the synApps xxx template, preventing common build failures caused by leftover artifacts, incorrect prefix/configuration, or missing module wiring.

Core Features & Use Cases

  • Create IOC projects with mkioc: Generate a correctly-structured IOC from a chosen synApps version, including prefix renaming and RELEASE configuration.
  • Ensure a clean build workflow: Make distclean before building to avoid incompatible pre-built objects inherited from the template copy.
  • Configure IOC identity and startup safely: Edit settings.iocsh (e.g., PREFIX, ENGINEER, LOCATION) and use st.cmd.Linux includes (settings.iocsh, common.iocsh, then hardware .iocsh) in the correct order.
  • Customize module linking via configure/RELEASE.local: Enable/disable synApps modules to control build time and IOC binary footprint, including platform-specific DBD selection.
  • Add hardware using example iocsh includes: Copy example hardware configuration files into iocBoot and include them in st.cmd.Linux to load device databases and set up communication layers.

Quick Start

Tell the AI: Create a new synApps IOC named myioc using synApps 6-3 with prefix 32ida:, and include an example motors configuration in st.cmd.Linux, including the required make distclean before building.

Frequently Asked Questions about synapps-ioc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a synApps IOC using the xxx template?

To create a synApps IOC, use the mkioc command to generate a structured application from a chosen synApps version, ensuring correct prefix renaming and RELEASE configuration before building.

Why does my synApps IOC build fail after generating from a template?

SynApps IOC builds often fail due to incompatible pre-built objects inherited from the template copy; running make distclean before make removes these leftover artifacts and resolves the build failure.

How do I configure PREFIX and ENGINEER settings in an EPICS IOC?

Configure PREFIX, ENGINEER, and LOCATION by editing the settings.iocsh file, then ensure st.cmd.Linux includes settings.iocsh, common.iocsh, and hardware-specific iocsh files in the correct startup order.

Can I disable unused synApps modules to reduce IOC binary footprint?

Yes, you can control module linking and reduce IOC build time by customizing configure/RELEASE.local to enable or disable specific synApps modules and select platform-specific DBD files.

How do I add motor configurations to an EPICS st.cmd startup script?

Add motor configurations by copying example hardware iocsh files into the iocBoot directory and including them within st.cmd.Linux to load device databases and establish communication layers.