Skip to main content

Control and monitoring utilities for the Phantom HV supply developed for SWGO at MPIK.

Project description

Phantom HV Control & Monitoring Software

This repository contains software to control and monitor a Phantom HV crate via Ethernet. The Phantom HV hardware is a modular 3-RU system that combines high-voltage supplies and high-frequency pulse pick-off circuits to operate photomultiplier tubes (PMTs). It has been designed for the SWGO and lab applications.

Phantom HV crate equipped with one master and one slave module.

Software installation

You can find the newest packaged release of this library on PyPi. Untagged versions are released on TestPyPi as well.

Install via pip install phantom-hv.

Upgrade to the newest release with pip install -U phantom-hv.

Requirements

  • Python 3 for the core library and command-line interface
  • nicegui, pywebview, plotly and numpy for the Web UI (install via conda/mamba or pip)
    • note that pywebview (which is only needed for displaying the UI in a native application window) may require additional GUI framework components with Python extensions, especially on an otherwise headless server (e.g. by installing pywebview[qt], see the documentation)

Tools

If installed via pip this library provides two tools:

  • phantomhv-ctl is a command-line interface to control and monitor a Phantom HV module
  • phantomhv-webui provides a web interface with realtime plotting

phantomhv-ctl command-line tool

usage: phantomhv-ctl [-h] {boot,reset,flash,unlock-hv,lock-hv,enable-hv,disable-hv,set,monitor} ...

Low-level control and monitoring command-line tool for Phantom HV modules.

positional arguments:
  {boot,reset,flash,unlock-hv,lock-hv,enable-hv,disable-hv,set,monitor}
    boot                boot application slot
    reset               reset into bootloader
    flash               flash binary firmware image into application slot
    unlock-hv           enable HV
    lock-hv             disable HV
    enable-hv           enable HV channel
    disable-hv          disable HV channel
    set                 set hardware registers
    monitor             continuously read and print slave states

options:
  -h, --help            show this help message and exit

phantomhv-webui web interface

Screen recording of the Phantom HV Web UI being run in native mode.

usage: phantomhv-webui [-h] [--address ip:port] [--num-slots {1,2,3,4,5,6,7,8}] [--show | --bind hostname:port]

Web UI to monitor and control a Phantom HV crate.

options:
  -h, --help            show this help message and exit
  --address ip:port     IP address or hostname of the device (default: 192.168.1.115:512)
  --num-slots {1,2,3,4,5,6,7,8}
                        number of modules to display (default: 1)
  --show                open UI in native window
  --bind hostname:port  bind web server to a specific network interface/port (default: 127.0.0.1:8080; use 0.0.0.0 to bind to all interfaces)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phantom_hv-0.1.9.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phantom_hv-0.1.9-py3-none-any.whl (117.3 kB view details)

Uploaded Python 3

File details

Details for the file phantom_hv-0.1.9.tar.gz.

File metadata

  • Download URL: phantom_hv-0.1.9.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for phantom_hv-0.1.9.tar.gz
Algorithm Hash digest
SHA256 3ad141ae54ca91016ae514961559e0325806762b0730164ecbb1e776006778ba
MD5 e38d271d068afe29bdec1dfe0758ccd4
BLAKE2b-256 5e4155938c6620d76b3610b76af4e210fc823e3368c8b0b751b006665221b228

See more details on using hashes here.

Provenance

The following attestation bundles were made for phantom_hv-0.1.9.tar.gz:

Publisher: publish.yml on fwerner/phantom-hv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file phantom_hv-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: phantom_hv-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 117.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for phantom_hv-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 046b97f6da0a719575df19da2efc9cb4f795d22836c92979b879ccf9fa64a2dd
MD5 c51a68ac9292759aaab5d91d1feab64f
BLAKE2b-256 c27c01bb1ece83ea8e9385670bb0d13ca08335f6ca29b3905ec23d80f962dabb

See more details on using hashes here.

Provenance

The following attestation bundles were made for phantom_hv-0.1.9-py3-none-any.whl:

Publisher: publish.yml on fwerner/phantom-hv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page