Helper module for building EPICS PVAccess servers using p4p.
epicsdev is designed for:
- Rapid PVAccess server development
- High-rate data simulation and stress testing
- GUI-based monitoring and control
- AI-assisted automatic device support generation
python -m pip install epicsdevStart the demo PVAccess server:
python -m epicsdev.epicsdevInstall optional GUI and plotting tools:
python -m pip install pypeto pvplotLaunch the control interface:
python -m pypeto -c config -f epicsdevThis provides:
- Device control panel
- Live waveform plots
- Real-time parameter monitoring
epicsdev.multiadc generates high-throughput synthetic data for stress-testing EPICS systems.
Generate:
- 10,000 noisy waveforms per second
- 100 points per waveform
- 40,000 scalar parameters per second
python -m epicsdev.multiadc -s 0.1 -c 10000 -n 100python -m pypeto -c config -f multiadcThe GUI includes:
- Control page
- Real-time waveform plots
The screenshots can be seen here: control page, plots.
An example Phoebus display is provided:
config/epicsdev.bob<br>
epicsdev is structured to enable automated server generation using AI tools such as GitHub Copilot.
-
Create a new GitHub repository.
-
Provide an AI prompt such as:
Build device support for Tektronix MSO oscilloscopes using epicsdev_rigol_scope as a template and the programming manual available at <PDF link>. -
Within ~20–40 minutes, the AI can generate a pull request.
-
Review, test, make minor corrections if needed, then merge.
Using this method, a server implementation for a Tektronix MSO oscilloscope was:
- ~99% correct on first generation
- Required only minor adjustments
- EPICS PVAccess server prototyping
- High-rate data simulation
- Control system stress testing
- Rapid instrument integration
- AI-driven device support generation
- Python 3.8+
- p4p 4.2.2+
Optional:
- pypeto
- pvplot
- Phoebus (for .bob display files)