epics-ca-client
OfficialBuild 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_getandca_put/ca_array_put, including completion callbacks for async operations. - Subscriptions (monitors): Create event-driven monitors using
ca_create_subscriptionwith 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 requiredComponents
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.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.