epics-ca-client

Official

Build robust EPICS CA clients in C/C++

AuthorBCDA-APS
Version1.0.0
Installs0

System Documentation

What problem does it solve?

This Skill helps you write reliable EPICS Channel Access (CA) client programs that can connect to PVs, read and write values, and receive monitor updates with correct callback and error handling.

Core Features & Use Cases

  • Connection + channel management: Create channels with or without connection callbacks, query channel state, and handle connect/disconnect transitions safely.
  • Synchronous and asynchronous I/O: Perform ca_get/ca_array_get and ca_put/ca_array_put, including completion callbacks for async operations.
  • Subscriptions (monitors): Create event-driven monitors using ca_create_subscription with appropriate DBE event masks for value/alarm/property changes.
  • DBR type correctness & safety: Use the right DBR codes/structures (value-only, status, time, graphic, control) and follow the rule that data is only valid after ca_pend_io() completes.
  • Production-grade pitfalls: Apply best practices for CA context lifecycle, buffered I/O flushing, and robust error/exception handling.

Quick Start

Ask the AI to generate a C example that connects to a given PV, performs a synchronous DBR_DOUBLE read safely using ca_pend_io(), then installs a subscription that prints new values on change.

Dependency Matrix

Required Modules

None required

Components

Standard package

💻 Claude Code Installation

Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.

Please help me install this Skill:
Name: epics-ca-client
Download link: https://github.com/BCDA-APS/opencode-skills/archive/main.zip#epics-ca-client

Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.