IOC for the Pfefiffer TPG-366 Pressure Gauge
This in an unofficial, as-simple-as-it-gets IOC for the Pfeiffer TPG-366 pressure gauge.
It does nothing else except reading out temperatrue and status
data, publishing them via PV suffixes .VALUE and .STATUS for
each gauge. The exact format of the PVs is {prefix}G{cnt}:STATUS,
respectively {prefix}G{gauge}:VALUE with {prefix} as the EPICS
prefix (e.g. "DOODLE:") and {cnt} as the gauge counter, starting
at 1. For instance:
DOODLE:G1:VALUEDOODLE:G1:STATUSDOODLE:G2:VALUEDOODLE:G2:STATUS...
Obtaining & Running
Via Pip:
$ pip install tpg366-ioc
$ export PFEIFFER_EPICS_PREFIX=DOODLE:
$ export PFEIFFER_VISA_DEVICE=TCPIP::192.168.1.17::8000::SOCKET
$ tpg-366-ioc
Or via Podman:
$ podman run -ti --rm \
-e PFEIFFER_EPICS_PREFIX=DOODLE: \
-e PFEIFFER_VISA_DEVICE=TCPIP::192.168.1.17::8000::SOCKET
registry.gitlab.com/kmc3-xpp/tpg366-ioc:latest
Or directly from source, via git clone:
$ git clone https://gitlab.com/kmc3-xpp/tpg366-ioc
$ pip install -e tpg366-ioc[all]
$ export PFEIFFER_EPICS_PREFIX=DOODLE:
$ export PFEIFFER_VISA_DEVICE=TCPIP::192.168.1.17::8000::SOCKET
$ tpg-366-ioc
Environment Variables
TPG-IOC is controlled via environment variables:
PFEIFFER_EPICS_PREFIXEPICS prefix including the trailing ":"PFEIFFER_VISA_DEVICEVISA device address specification. Note that anything other than TCPIP-schemes may cause problems currently. Typically, the default port for these devices is 8000, so your TCP/IP VISA device would be something like: "TCPIP::<host>::8000::SOCKET".PFEIFFER_VISA_RMANVISA resource manager, defaults to "@py"PREIFFER_NR_GAUGESnumber of gauges to query / display, defaults to 6.
Bugs & Caveats
Async operation, which the EPICS PV part depends on, only seems to work fine with TCP/IP VISA devices. This is owing to bugs within the VISA framework. Could be worked around, but it isn't a priority currently (contact us if you have a use case).
The IOC is very, very simple -- just reading pressure values. No configuration, no advaced features.
Normally there would be unit tests and a sim-mode prior to building the image -- this time there aren't. Eventually they'll get retrofitted (there is a test harness in place). But for now, be careful with upgrades.
Metadata
Release files for tpg366-ioc 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tpg366_ioc-0.1.1.tar.gz | 19.0 kB | Without provenance | Details for tpg366_ioc-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tpg366_ioc-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for tpg366_ioc-0.1.1-py3-none-any.whl |
Total release size: 37.4 kB
Release files / tpg366_ioc-0.1.1.tar.gz
| Download URL | tpg366_ioc-0.1.1.tar.gz |
|---|---|
| Size | 19.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b1dffda2ba7ad19b3ef466ca695675dc2dd1fde141fb6ca173c1059a508049a
|
|
BLAKE2b-256 checksum How to use checksums |
1008addc6216557441018ed1c1145061a42129f21f813391567081bbf7ef6adb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|
Release files / tpg366_ioc-0.1.1-py3-none-any.whl
| Download URL | tpg366_ioc-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
afb73e12be210493ca3085ce3b5b725dd2a1d706d291d8ad906e347ad10fdb27
|
|
BLAKE2b-256 checksum How to use checksums |
55111a67d298befbcea68454decc06fdfdab2e0764a520cefa173bb5d457e782
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.1
|
Security for tpg366-ioc 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.