epics-libcom
OfficialBuild 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 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: 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.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.