Skip to main content

Control screen generator for Phoebus

Project description

Python Module to Generate Phoebus Control Screens

Python unittest Status codecov

Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems. https://github.com/ControlSystemStudio/phoebus

This module aims to provide a way to generate Phoebus xml through Python. See examples here.

Requirements

  • Python >= 3.5
  • pyyaml
    • pip install pyyaml

Install

Pip Package: phoebusgen

pip install phoebusgen

Intro

>>> import phoebusgen.widget as w
>>> text_update_widget = w.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
>>> text_update_widget.predefined_foreground_color('OK')
>>> print(text_update_widget)
<?xml version="1.0" ?>
<widget type="textupdate" version="2.0.0">
  <name>test widget</name>
  <x>10</x>
  <y>20</y>
  <width>20</width>
  <height>50</height>
  <pv_name>TEST:PV</pv_name>
  <foreground_color>
    <color red="0" green="255" blue="0" alpha="255" name="OK"/>
  </foreground_color>
</widget>

Modules

phoebusgen.widget

Low Level Python API to directly create Phoebus widgets

Widgets Finished:

  • Arc
  • Ellipse
  • Label
  • Picture
  • Rectangle
  • Progress Bar
  • Tank
  • Text Update
  • Thermometer
  • Check Box
  • Radio Button
  • Slide Button
  • Text Entry
  • Action Button
  • LED
  • Array
  • Embedded Display
  • Group
  • 3DViewer

Example

  • text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, height, width)

phoebusgen.screen

>>> import phoebusgen.screen
>>> import phoebusgen.widget
>>> my_screen = phoebusgen.screen.Screen("my screen")
>>> print(my_screen)
<?xml version="1.0" ?>
<display version="2.0.0">
  <name>my screen</name>
</display>

>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
>>> my_screen.add_widget(my_widget)
>>> print(my_screen)
<?xml version="1.0" ?>
<display version="2.0.0">
  <name>my screen</name>
  <widget type="textupdate" version="2.0.0">
    <name>test</name>
    <x>10</x>
    <y>10</y>
    <width>10</width>
    <height>10</height>
    <pv_name>test:PV</pv_name>
  </widget>
</display>

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

phoebusgen-0.0.9.tar.gz (19.9 kB view hashes)

Uploaded Source

Built Distribution

phoebusgen-0.0.9-py3-none-any.whl (21.2 kB view hashes)

Uploaded Python 3

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