https://github.com/lnls-sirius/streamdevice-ioc
StreamDevice-based EPICS IOC for Sirius control system
https://github.com/lnls-sirius/streamdevice-ioc
docker epics ioc streamdevice
Last synced: about 2 months ago
JSON representation
StreamDevice-based EPICS IOC for Sirius control system
- Host: GitHub
- URL: https://github.com/lnls-sirius/streamdevice-ioc
- Owner: lnls-sirius
- Created: 2018-07-02T11:34:24.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-07-11T21:18:04.000Z (8 months ago)
- Last Synced: 2025-07-11T23:28:38.283Z (8 months ago)
- Topics: docker, epics, ioc, streamdevice
- Language: Batchfile
- Homepage:
- Size: 6.1 MB
- Stars: 0
- Watchers: 6
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sirius Stream Device IOCs
[](https://github.com/lnls-sirius/streamdevice-ioc/actions/workflows/lint.yml)
This repository contains a system to generate large amounts of EPICS IOCs via string Templates using as input an Excel spreadsheet.
The following is a list of applications and ports:
|Port| Device |
|:---|:-------------|
|5000|countingPRU |
|5002|mks937b |
|5003|mbtemp |
|5004|agilent4uhv |
|5005|spixconv |
|5006|rackMonitoring|
## Building a new image
- Use micromamba to prepare the environment: `micromamba env create -f env.yml`
- Activate the environmet
- Run `make build`
## Deploy
The docker related files included in this repository are meant to build and test the images. Check the instructions at [docker-stacks/cons-streamdevice-ioc](https://gitlab.cnpem.br/gas/docker-stacks/tree/master/cons-streamdevice-ioc) for production deployment.
**Note**: the only IOC currently in deployment based on this version of the repository is the countingPRU IOC. Others still need testing, spreadsheet updates and figuring out startup (spixconv specifically, since the startup scripts don't have a consistent naming scheme).
[SPIxCONV](scripts/spixconv/docker/docker-compose.yml)
Some **environment variables** are available to the user:
|Env|Default|Desc|
|---|---|---|
|EPICS_IOC_CAPUTLOG_INET|0.0.0.0|EPICS Logging Inet (caput)|
|EPICS_IOC_CAPUTLOG_PORT|7012|EPICS Logging Port (caput)|
|EPICS_IOC_LOG_INET|0.0.0.0|EPICS Logging Inet (generic)|
|EPICS_IOC_LOG_PORT|7011|EPICS Logging Port (generic)|
If the **autosave** feature is used, the `*.sav` files directory should be mounted from host.
```bash
# *.sav files directory
/opt/streamdevice-ioc/autosave/save
```
**procServ** is using UNIX sockets. The `nc` app is already present in the image in order to access UNIX sockets.
```sh
nc -U
```
### etc..
Autosave data inside the container is located at `/opt/streamdevice-ioc/autosave/save/`