Add log scaling property to Meter widget#3764
Add log scaling property to Meter widget#3764rjwills28 wants to merge 5 commits intoControlSystemStudio:masterfrom
Conversation
|
Thanks @shroffk for the review. Would it be possible to merge this in or does it need a second review? |
|
@rjwills28, I'm having issues with this. Attached screen recording shows a case where a random number 0 - 10000 is displayed on a meter with scale 0 - 10000. But maybe I'm missing something? Also, it would be nice if we can reuse the same label for the property as (for instance) the Linear Meter widget, i.e. Screen.Recording.2026-04-10.at.09.32.39.mov |
|
Hi @georgweiss - thank you for testing. How are you setting the limits? Is this from a PV or manually? Essentially I think what is happening is that the lower limit is set to 0. There is then a calculation that does I wasn't sure how to fix this issue of 0 as the lower limit. Essentially we shouldn't use it in the calculations and should just use some very small number close of 0 instead. But I wasn't sure whether we actually wanted to hardcode that in and what the very small number should be. Any thoughts on that? As I said, this could also be fixed for other widgets. |
|
@rjwills28, thanks for your feed-back. |
|
|
Ah I see - @georgweiss thanks for pointing that out. So that is the expected behaviour? And thanks for the suggesting of changing the log scale property label to match other similar widgets. I had been using the one from p.s. sorry for all the commits to fix the quality check - these were things I had missed but should now be compliant. |
I'm just saying that |
See app/rtplot/src/main/java/org/csstudio/javafx/rtplot/internal/util/Log10.java |



I noticed that the old Meter widget in CS-Studio had the option of using a log scale but that this is missing in the Phoebus Meter widget.
This PR adds the code needed to support log scaling in the meter widget following what is implemented for the RTTank widget. The only real bit of logic needed is in MeterScale.java, otherwise it is pretty much boilerplate.
Checklist
Testing:
Documentation: