asyn-port-driver

Official

Build robust asynPortDriver device drivers

AuthorBCDA-APS
Version1.0.0
Installs0

System Documentation

What problem does it solve?

This Skill helps you implement EPICS device drivers by defining how to create and wire an asynPortDriver subclass so records can reliably read/write device parameters, support I/O Intr scanning, and publish updates.

Core Features & Use Cases

  • Parameter library setup: Create typed parameters that map cleanly to record INP/OUT links via createParam() and setXxxParam() helpers.
  • Correct callback behavior: Ensure updates propagate by calling callParamCallbacks() after scalar/string parameter changes and using explicit doCallbacksXxxArray() for array data.
  • Production-ready driver structure: Cover interface/interrupt masks, virtual method overrides (read/write for multiple DBR types), background polling patterns with proper locking, and iocsh/DBD registration.
  • Alarms, tracing, and lifecycle: Show how to set parameter status/alarm severity, add asynPrint tracing, and implement shutdown/destructor patterns for clean stopping.

Quick Start

Ask the AI to generate a minimal C++ asynPortDriver skeleton for a new IOC driver that defines parameters, overrides the necessary read/write virtual methods, signals a polling thread, calls the correct callbacks, and registers an iocsh configure function plus the required DBD registrar entry.

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

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.