Difference between revisions of "Controls Software Documentation"
Jump to navigation
Jump to search
m (→Bluesky) |
|||
(51 intermediate revisions by 3 users not shown) | |||
Line 10: | Line 10: | ||
* [https://docs.epics-controls.org/en/latest/guides/EPICS_Process_Database_Concepts.html EPICS Database Concepts] | * [https://docs.epics-controls.org/en/latest/guides/EPICS_Process_Database_Concepts.html EPICS Database Concepts] | ||
* [https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/installation.html EPICS Base Getting Started (official)] | * [https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/installation.html EPICS Base Getting Started (official)] | ||
* [https://cmd-response.readthedocs.io/en/latest/epics/rpi_epics.html Installing EPICS on RaspberryPi] | |||
==synApps (aka EPICS Support)== | ==synApps (aka EPICS Support)== | ||
Line 16: | Line 17: | ||
==areaDetector== | ==areaDetector== | ||
* [https://areadetector.github.io/ | * [https://areadetector.github.io/areaDetector/ areaDetector Official Documentation] | ||
==Deploying, troubleshooting, and maintaining IOCs== | ==Deploying, troubleshooting, and maintaining IOCs== | ||
Line 24: | Line 25: | ||
* [https://gist.github.com/keenanlang/e768774cbd0a367b96281939b8a2c9ba Creation of an IOC using mkioc] | * [https://gist.github.com/keenanlang/e768774cbd0a367b96281939b8a2c9ba Creation of an IOC using mkioc] | ||
* [https://wiki.aps.anl.gov/bcda/index.php/Category:TUTORIAL BCDA Tutorials (APS Internal)] | * [https://wiki.aps.anl.gov/bcda/index.php/Category:TUTORIAL BCDA Tutorials (APS Internal)] | ||
==Pre-built IOCs== | |||
===Docker images=== | |||
* EPICS Base 7.0.5, synApps 6.2: [https://github.com/prjemian/epics-docker/tree/main/v1.1/n3_synApps#readmemd standard xxx], [https://github.com/prjemian/epics-docker/tree/main/v1.1/n5_custom_synApps#readmemd customized] | |||
* EPICS Base 7.0.5, synApps 6.2, area detector 3.10: [https://github.com/prjemian/epics-docker/tree/main/v1.1/n4_areaDetector#readmemd standard], [https://github.com/prjemian/epics-docker/tree/main/v1.1/n6_custom_areaDetector#readmemd custom] | |||
===Virtual Machines=== | |||
* [https://github.com/BCDA-APS/epics-bluesky-vm/blob/main/install_vm.md APS Bluesky 101 training VM image.] | |||
==Maintaining Documentation== | ==Maintaining Documentation== | ||
* [https://bctwg.readthedocs.io/en/latest/index.html ReadTheDocs tutorial and example site] | * [https://bctwg.readthedocs.io/en/latest/index.html ReadTheDocs tutorial and example site] | ||
Line 31: | Line 40: | ||
==Bluesky== | ==Bluesky== | ||
* | ===Bluesky Framework=== | ||
* | * Documentation: | ||
* [https:// | ** General documentation: https://blueskyproject.io/ | ||
* [https://bcda-aps.github.io/apstools/ | ** General repository: https://github.com/bluesky | ||
* [https:// | ** bluesky-specific documentation: https://blueskyproject.io/bluesky/ | ||
* [https:// | * Python packages: | ||
** bluesky source: https://github.com/bluesky/bluesky | |||
* [https://github.com/BCDA-APS/bluesky_training/ | ** ophyd source: https://github.com/bluesky/ophyd | ||
* [https://github. | ** databroker source: https://github.com/bluesky/databroker | ||
* [https://github.com/BCDA-APS/ | * Trainings: | ||
** NSLS-II Sandbox for tutorials: https://try.nsls2.bnl.gov | |||
*** Try Bluesky in your internet browser (no local python required for this) | |||
*** Sandbox is publicly accessible | |||
** Also: https://blueskyproject.io/tutorials/ | |||
* hklpy: | |||
** [https://blueskyproject.io/hklpy/ Bluesky's diffractometer support] | |||
** [https://blueskyproject.io/hklpy/examples/index.html Diffractometer examples] | |||
* Queue server: | |||
** [https://blueskyproject.io/bluesky-queueserver/ queueserver - Server for queueing plans] | |||
** [https://blueskyproject.io/bluesky-queueserver-api/ API documentation] | |||
* Tiled: | |||
** [https://blueskyproject.io/tiled/ Data server for databroker and directories with data files] | |||
** [https://github.com/BCDA-APS/tiled-template Template for creating a local tiled data server at APS] | |||
===Bluesky at APS=== | |||
* Documentation: | |||
** Status of Bluesky at the APS: [https://anl.box.com/s/yh6yp0dihz5xz89hphxc4qlit2d8ngs7 P. Jemian Talk 2022-09-19] | |||
** [https://bcda-aps.github.io/bluesky_training/instrument/_install_new_instrument.html Installation Steps] | |||
** apstools: [https://bcda-aps.github.io/apstools/latest/index.html Guides, How-Tos, and other examples] | |||
** bluesky training: [https://bcda-aps.github.io/bluesky_training/index.html Getting started with Bluesky] | |||
* Source code: | |||
** apstools: [https://github.com/BCDA-APS/apstools https://github.com/BCDA-APS/apstools] | |||
** bluesky training: [https://github.com/BCDA-APS/bluesky_training https://github.com/BCDA-APS/bluesky_training] | |||
===Python Display Manager PyDM=== | |||
* [https://slaclab.github.io/pydm/ PyDM Documentation] | |||
* [https://github.com/BCDA-APS/adl2pydm adl2pydm - Convert MEDM's .adl files to PyDM's .ui format] | |||
==Python support== | ==Python support== | ||
===Channel Access=== | |||
* [https://pyepics.github.io/pyepics/ PyEpics - Python interface for Channel Access based on libca and libCom.] | * [https://pyepics.github.io/pyepics/ PyEpics - Python interface for Channel Access based on libca and libCom.] | ||
* [https://caproto.github.io/caproto/v0.8.1/ caproto - Python interface for Channel Access in pure Python.] | * [https://caproto.github.io/caproto/v0.8.1/ caproto - Python interface for Channel Access in pure Python.] | ||
===PV Access=== | |||
* [https://mdavidsaver.github.io/p4p/ p4p - Python interface for PV Access] | * [https://mdavidsaver.github.io/p4p/ p4p - Python interface for PV Access] | ||
* [https://github.com/epics-base/pvaPy pvapy - Python interface for PV Access] | * [https://github.com/epics-base/pvaPy pvapy - Python interface for PV Access, also provides CA interface] | ||
===General=== | |||
* [https://bcdamenu.readthedocs.io/ bcdamenu - GUI menu to beam line software, such as synoptic display.] | |||
* [https://github.com/EPICS-synApps/support/tree/master/utils/mdaPythonUtils mdaPythonUtils - Read .mda data files into Python.] | * [https://github.com/EPICS-synApps/support/tree/master/utils/mdaPythonUtils mdaPythonUtils - Read .mda data files into Python.] | ||
* [https://github.com/prjemian/pvMail PvMail - Watch an EPICS PV. Send email when it changes from 0 to 1.] | * [https://github.com/prjemian/pvMail PvMail - Watch an EPICS PV. Send email when it changes from 0 to 1.] | ||
* [https://github.com/BCDA-APS/pvview pvView - Display one or more EPICS PVs in a PyDM GUI window as a table.] | |||
* [https://github.com/BCDA-APS/pvWebMonitor pvWebMonitor - Post EPICS PVs to read-only (static) web site.] | * [https://github.com/BCDA-APS/pvWebMonitor pvWebMonitor - Post EPICS PVs to read-only (static) web site.] | ||
* [https://prjemian.github.io/punx/ punx - Python Utilities for NeXus HDF5 files: validation, structure, hierarchy.] | * [https://prjemian.github.io/punx/ punx - Python Utilities for NeXus HDF5 files: validation, structure, hierarchy.] | ||
* [https://prjemian.github.io/pyRestTable/ pyRestTable - Format a nice table in reST (reStructuredText) from Python.] | |||
* [https://prjemian.github.io/pysumreg/ pysumreg - Statistics of list of (x,y) pairs from calculator-style summation registers.] | |||
* [https://github.com/prjemian/spec2nexus/ spec2nexus - Read SPEC data files into Python, write NeXus data file.] | * [https://github.com/prjemian/spec2nexus/ spec2nexus - Read SPEC data files into Python, write NeXus data file.] |
Latest revision as of 19:31, 22 May 2023
This page exists to collect links to documentation about the instrument control system EPICS, its modules and related libraries (synApps, areaDetector), as used at the Advanced Photon Source.
Documentation referenced should be appropriate for beamline scientists, as opposed to only EPICS developers. New deployments should prefer EPICSv7, the latest release series.
See also the extensive resources from past EPICS Collaboration meetings.
EPICS Base
- Intro to EPICS
- EPICS Database Concepts
- EPICS Base Getting Started (official)
- Installing EPICS on RaspberryPi
synApps (aka EPICS Support)
areaDetector
Deploying, troubleshooting, and maintaining IOCs
- Troubleshooting EPICS IOCs
- simDetector Install directions (2BM)
- The Basics of an IOC (XXX documentation)
- Creation of an IOC using mkioc
- BCDA Tutorials (APS Internal)
Pre-built IOCs
Docker images
- EPICS Base 7.0.5, synApps 6.2: standard xxx, customized
- EPICS Base 7.0.5, synApps 6.2, area detector 3.10: standard, custom
Virtual Machines
Maintaining Documentation
APS ESAF & Proposal - Read-only interface
Bluesky
Bluesky Framework
- Documentation:
- General documentation: https://blueskyproject.io/
- General repository: https://github.com/bluesky
- bluesky-specific documentation: https://blueskyproject.io/bluesky/
- Python packages:
- bluesky source: https://github.com/bluesky/bluesky
- ophyd source: https://github.com/bluesky/ophyd
- databroker source: https://github.com/bluesky/databroker
- Trainings:
- NSLS-II Sandbox for tutorials: https://try.nsls2.bnl.gov
- Try Bluesky in your internet browser (no local python required for this)
- Sandbox is publicly accessible
- Also: https://blueskyproject.io/tutorials/
- NSLS-II Sandbox for tutorials: https://try.nsls2.bnl.gov
- hklpy:
- Queue server:
- Tiled:
Bluesky at APS
- Documentation:
- Status of Bluesky at the APS: P. Jemian Talk 2022-09-19
- Installation Steps
- apstools: Guides, How-Tos, and other examples
- bluesky training: Getting started with Bluesky
- Source code:
- apstools: https://github.com/BCDA-APS/apstools
- bluesky training: https://github.com/BCDA-APS/bluesky_training
Python Display Manager PyDM
Python support
Channel Access
- PyEpics - Python interface for Channel Access based on libca and libCom.
- caproto - Python interface for Channel Access in pure Python.
PV Access
- p4p - Python interface for PV Access
- pvapy - Python interface for PV Access, also provides CA interface
General
- bcdamenu - GUI menu to beam line software, such as synoptic display.
- mdaPythonUtils - Read .mda data files into Python.
- PvMail - Watch an EPICS PV. Send email when it changes from 0 to 1.
- pvView - Display one or more EPICS PVs in a PyDM GUI window as a table.
- pvWebMonitor - Post EPICS PVs to read-only (static) web site.
- punx - Python Utilities for NeXus HDF5 files: validation, structure, hierarchy.
- pyRestTable - Format a nice table in reST (reStructuredText) from Python.
- pysumreg - Statistics of list of (x,y) pairs from calculator-style summation registers.
- spec2nexus - Read SPEC data files into Python, write NeXus data file.