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.