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.