snl

Official

Build concurrent EPICS state machines

AuthorBCDA-APS
Version1.0.0
Installs0

System Documentation

What problem does it solve?

This Skill helps you author EPICS State Notation Language (SNL) programs that coordinate concurrent state machines and reliably react to Process Variable (PV) changes.

Core Features & Use Cases

  • State machine authoring for EPICS: Define program, one or more ss (state sets), state, entry/exit blocks, and when(...) transitions for deterministic control flows.
  • PV interaction patterns: Connect variables to PVs with assign, keep them updated with monitor, and synchronize transitions using sync/syncq with evflag.
  • Async communication and integration: Perform pvGet/pvPut operations (including queued monitoring and completion checks) and embed C helpers via SNL escaped C code.
  • Use Case: Implement an IOC-side controller that monitors operator commands and sensor limits, raises safety states on threshold violations, and performs coordinated initialization via event-flag synchronization across multiple state sets.

Quick Start

Ask the AI to generate an SNL .st program named "interlockControl" that monitors {prefix}:start, {prefix}:fault, and {prefix}:status, uses an evflag to gate transitions, and includes embedded C code to compute a derived status string before updating a PV.

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

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.