asyn-port-driver
OfficialBuild robust asynPortDriver device drivers
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()andsetXxxParam()helpers. - Correct callback behavior: Ensure updates propagate by calling
callParamCallbacks()after scalar/string parameter changes and using explicitdoCallbacksXxxArray()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
asynPrinttracing, 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 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: 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.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.