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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for phantom_hv-0.1.4.tar.gz
Algorithm Hash digest
SHA256 1df0ea237a0e4ffb7f4518528a73c6484edf332aa6220aa51687b23fbc1457f8
MD5 d777c9155aa0c07d593d7a35186e24f8
BLAKE2b-256 986b8b71cda244eb46ea6fc6218d2115a5902717686dffa1174a95858cf3c5ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: phantom_hv-0.1.4-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.5

File hashes

Hashes for phantom_hv-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f263053de2d6e0bf2cf000ea363aa0b8198c8f9e26ac127398947f6c7cf13197
MD5 632b077e467a02bdad683fe5950cdb28
BLAKE2b-256 70c475c1f747bbddc89ad6375cc28702a5192b6b6cafba6c7e4135d3b79c0c05

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