epics-pva-client

Official

Build robust EPICS PVA clients and servers in C++

AuthorBCDA-APS
Version1.0.0
Installs0

System Documentation

What problem does it solve?

This skill helps you write correct, production-ready EPICS PV Access (PVA) client and server code in C++ so you can exchange structured data, perform atomic updates, and expose RPC services without reinventing the protocol plumbing.

Core Features & Use Cases

  • Client operations with pvac::: Connect to PVs, issue blocking gets, perform fluent puts, and manage monitors reliably.
  • Structured data with pvData: Define PVStructure types using FieldBuilder, access fields safely, and handle arrays with shared_vector for efficient transfers.
  • Server-side SharedPV patterns: Implement mailbox/read-only PVs and handle custom put processing via SharedPV handlers.
  • Normative Types and PVA patterns: Use epics::nt normative types (NTScalar, NTTable, NTNDArray, etc.) for standard layouts.
  • QSRV group exposure via info(Q:group): Group IOC records into atomic PVA PV updates and configure triggers.
  • Quick CLI parity: Use pvget/pvput/pvmonitor/pvinfo/pvlist/pvcall as practical development and debugging companions.

Quick Start

Use the epics-pva-client skill to generate a C++ PVAccess client that connects to a PVA PV, performs a get with selected fields, and prints the returned PVStructure.

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-pva-client
Download link: https://github.com/BCDA-APS/opencode-skills/archive/main.zip#epics-pva-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.