epics-libcom

Official

Build robust EPICS modules with libCom

AuthorBCDA-APS
Version1.0.0
Installs0

System Documentation

What problem does it solve?

EPICS module developers need reliable, OS-independent building blocks for concurrency, timing, inter-thread communication, and lifecycle integration.

Core Features & Use Cases

  • Threading with epicsThread: Create runnable threads, manage priorities and stack sizes, and use one-time initialization and thread-local storage.
  • Synchronization & messaging: Use epicsMutex, epicsEvent, and epicsMessageQueue for safe coordination between threads.
  • Performance-oriented data structures: Apply epicsRingPointer and epicsRingBytes for lock-free or bounded buffering patterns.
  • Timers, time, and observability: Schedule periodic work with epicsTimer, handle timestamps with epicsTime, and log issues via errlog.
  • IOC integration primitives: Register IOC shell commands, init hooks, exit handlers, and subroutine/aSub functions to wire logic into IOC lifecycles.
  • Networking portability (osiSock): Abstract socket creation and address conversion for cross-platform support.

Quick Start

Ask the AI to generate a minimal, production-style EPICS module snippet that uses an epicsThread worker plus an epicsEvent-driven shutdown, logs startup/shutdown with errlog, and registers an iocsh command for toggling the worker behavior.

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

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.