asyn-gpib

Generate EPICS GPIB/SCPI device support using asyn devGpib framework.

1|1|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/BCDA-APS/opencode-skills --skill asyn-gpib
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: asyn-gpib
Source: https://github.com/BCDA-APS/opencode-skills/tree/main/asyn-gpib
Command: npx skills add https://github.com/BCDA-APS/opencode-skills --skill asyn-gpib

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps EPICS developers write correct GPIB/SCPI instrument device support so records can reliably send commands and parse responses through the asyn devGpib framework.

Core Features & Use Cases

  • Build devGpib-based device support: define DSET macros, implement init_ai, and wire a command table (gpibCmd[]) to EPICS record types.
  • Map EPICS records to instrument commands: use gpibCmds[] entries with scanf/printf format strings and optional custom convert routines.
  • Use EFAST enum mapping: define EFAST input/output tables (e.g., GPIBEFASTI, GPIBEFASTO) to translate between human-readable strings and instrument responses.
  • Create DBD and database integration: provide DBD device declarations (*.dbd) and database records using the GPIB_IO link format with zero-based parameter indices.
  • Handle gateway setups: configure VXI-11/LAN-to-GPIB gateways (e.g., vxi11Configure) when the instrument is not directly connected.

Quick Start

Ask the AI to generate a complete devGpib device support skeleton for your instrument by listing the EPICS record types you need, the SCPI/GPIB commands to use for each parameter, and any enumerations that should be handled via EFAST.

Frequently Asked Questions about asyn-gpib

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write EPICS device support for a GPIB instrument using asyn?

To write EPICS GPIB device support using asyn, define DSET macros, implement init_ai, and populate the gpibCmd[] table with command types and format/conversion logic to map EPICS records to instrument commands.

How does EFAST enum mapping work with EPICS devGpib device support?

EFAST enum mapping translates between human-readable strings and instrument responses by defining GPIBEFASTI and GPIBEFASTO input/output tables within your devGpib device support, allowing EPICS records to handle enumerated values natively.

Can I use SCPI commands with EPICS records through the asyn devGpib framework?

Yes, you can use SCPI commands with EPICS records by creating gpibCmds[] entries that use scanf and printf format strings for sending commands and parsing responses, with optional custom convert routines for complex data.

Do I need to configure a VXI-11 gateway for LAN-to-GPIB instrument control in EPICS?

You need to configure a VXI-11 gateway using vxi11Configure when your GPIB instrument is not directly connected and must be accessed over the network, enabling LAN-to-GPIB communication for the asyn device support.

What is the best way to generate database records for GPIB_IO parameters in EPICS?

The best way to generate GPIB_IO database records is to produce database files using zero-based parameter indices that correspond to your gpibCmd[] array entries, along with DBD device declarations for complete integration.

Why are my EPICS devGpib commands not parsing instrument responses correctly?

EPICS devGpib commands fail to parse responses when scanf format strings in the gpibCmd[] entries do not match the instrument's actual output format, or when custom convert routines are missing for non-standard SCPI response data.