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.3.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

phantom_hv-0.1.3-py3-none-any.whl (116.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for phantom_hv-0.1.3.tar.gz
Algorithm Hash digest
SHA256 54720b63cee88e1b71e956ae9f2a1acc1434242db6da9f1d23cf956af9d00fca
MD5 4d04eebddf00556b85343baeeffc29fc
BLAKE2b-256 240ee4cf3a25732700da8c95744dd208203e73d6e1d12c0f131d9168a3fc8c12

See more details on using hashes here.

File details

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

File metadata

  • Download URL: phantom_hv-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 116.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for phantom_hv-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 937579c240d5080749ec36c1a340eb845db91611ad6296687cdaad8eda0f8197
MD5 1d05ef9bf345d9866604a31913300864
BLAKE2b-256 18d2563c24be83d1ca8eceb0ec2ec911bc6c2247ad150d3cac945f7c60e53073

See more details on using hashes here.

Supported by

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