|
|
Experimental Physics and
| ||||||||||||||
|
|
Hi all,
I'd like to share two open-source tools I've developed for the EPICS community. yaml2epics — YAML-to-EPICS Database Compiler https://github.com/egguliyev/yaml2epics Define your IOC databases in human-readable YAML instead of hand-written .db files. The compiler validates records (catches issues like using calc instead of calcout for output links), auto-resolves PV name prefixes in forward links, generates per-device and combined .db files, produces st.cmd startup scripts with async port configuration, and outputs interface documentation. Supports ai, ao, bi, bo, calc, calcout, mbbi, mbbo, longin, longout, stringin, stringout, and seq record types. The motivation: after hitting the calc-vs-calcout OUT field error for the nth time, I wanted schema validation before iocInit, not after. epics-webapp — Web-Based Control Dashboard https://github.com/egguliyev/epics-webapp A lightweight Node.js web dashboard for EPICS. Connects to an IOC via caget/caput/camonitor over Channel Access and serves a browser-based operator interface with live PV updates via WebSocket, real-time strip charts (canvas-based), click-to-set (caput from the browser), alarm severity filtering, snapshot save/restore of IOC state, and a REST API for PV data and history. Single dependency (ws). No Java, no Tomcat, no PVWS. Both projects include a complete example: a simulated X-ray imaging system with 61 records across 5 subsystems (pixel detector with GigE readout, X-ray tube HV, shutter with interlocks, cabinet safety, and low voltage power supplies). I'd welcome feedback, especially on the YAML schema design and any record types or features that should be prioritized next. Elmaddin Guliyev, Ph.D. Rad Detect AI
| ||||||||||||||
| ANJ, 18 May 2026 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |