Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

CSS pv() function missing in Phoebus

Open
#3,745 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
java
Domain
backend

Research direction

The issue describes a missing pv() expression function and gives a nested expression example, but names no implementation files or tests. First check how Phoebus currently parses backtick expressions and whether they support nested evaluation; then assess the scope of adding pv() as an alternative. Done would mean the example can resolve the computed PV name and retrieve its value, with tests covering that behavior.

Written by the indexing model from the issue text.

Description

Many of the functions available in CS-Studio are also available in Phoebus, however I have noticed that one that we make heavy use of is missing and that is the pv() function. This basically turns whatever is inside it into a PV object that CSS then gets the value of.

In many instances we can just replace that with the Phoebus syntax using backticks ``.

However there are some cases that do not work in Phoebus, for example, functions within the backticks or nested backticks. An example of what was done in CSS is shown below:

=pv(concat(pv("XXX:NAME:OF:PV"), ":HELLO"))

where:

  • pv("XXX:NAME:OF:PV") would return the value of this PV, which is a string with the name of another PV, e.g. XXX:NAME:OF:PV.val = "TEST:VAC:01"

  • concat(..., ":HELLO") takes the string PV value from above and appends "HELLO" to it to get a new PV name, e.g. "TEST:VAC:01:HELLO"

  • then =pv(...) gets the value of "TEST:VAC:01:HELLO"

As far as I can tell, there is no easy way of doing this in Phoebus except using scripts.

I was just wondering whether there was a reason that the pv() function from CSS wasn't re-implemented in Phoebus? Would it be beneficial to have it?

Dominant language
Java
Stars
130
Forks
132
Avg merge
2d 11h
Merged PRs (30d)
23

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ControlSystemStudio/phoebus

All issues in ControlSystemStudio/phoebus

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.