BCDA-APS / adl2pydm

Convert MEDM's .adl files to PyDM's .ui format
Other
0 stars 4 forks source link

sscan scatter plot has no data #45

Closed prjemian closed 4 years ago

prjemian commented 4 years ago

expected data not shown in the scatter plot from the sscan screen

Clipboard01

prjemian commented 4 years ago

Detector PV did not connect. Macros? Clipboard01

prjemian commented 4 years ago

One problem: $() should use curly braces: ${}

Not the real problem, though. The *PV addresses are connected while the *CA addresses are not. Unexpanded macros?

prjemian commented 4 years ago

Also expand macros in the yLabels (and xLabels)

prjemian commented 4 years ago

All channels connect, still no data: Clipboard01

prjemian commented 4 years ago

Of course! The data here are waveforms so we need to be using the PyDMWaveformPlot widget instead.

How can a screen translator be smart enough to know this a priori? MEDM handles both scaler PVs and waveform PVs from the same cartesian plot widget.

@hhslepicka, @mattgibbs , @timmmooney: Any insight how a display screen translator can decide if given PVs come from a waveform PV (so need to use the PyDMScatterPlot widget) or a scalar PV (need to use the PyDMScatterPlot widget)?

prjemian commented 4 years ago

This would be easy if the translator had access to an IOC with those PVs available. Since the translators run in an automation (likely even in CI), can't count on an IOC to be available.

prjemian commented 4 years ago

@MarkRivers : Might you have some ideas how to resolve the problem here?

MarkRivers commented 4 years ago

MEDM handles both scaler PVs and waveform PVs from the same cartesian plot widget.

I think I've only used it with waveform PVs. How does it handle scaler PVs?

prjemian commented 4 years ago

See https://epics.anl.gov/EpicsDocumentation/ExtensionsManuals/MEDM/MEDM.html#CartesianPlot

Look for section titled Kinds of XY Traces

On Wed, Mar 18, 2020, 9:51 AM Mark Rivers notifications@github.com wrote:

MEDM handles both scaler PVs and waveform PVs from the same cartesian plot widget.

I think I've only used it with waveform PVs. How does it handle scaler PVs?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/BCDA-APS/adl2pydm/issues/45#issuecomment-600667869, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARMUMCJKEO5VWATNSKFXBLRIDNXTANCNFSM4LOSJ3XQ .

prjemian commented 4 years ago

not a section, that's a table - very detailed explanation there

prjemian commented 4 years ago

I'm thinking that we'll probably need a new plotting widget in PyDM (for compatibility with MEDM screens) that provides this capability. Until then, the translator should default to PyDMWaveformPlot instead of PyDMScatterPlot.

prjemian commented 4 years ago

Switching (manual edit) to the PyDMWaveformPlot widget, the plot data shows and is the same as MEDM Clipboard01

MarkRivers commented 4 years ago

Until then, the translator should default to PyDMWaveformPlot instead of PyDMScatterPlot.

I agree, I think the Cartesian plot is used much more with waveforms than scalers.

Since most windows have at most one plot window (or if there is more than one they are usually all the same type) then you could have a command line option for the translator that tells it to use PyDMScatterPlot rather than the default PyDMWaveformPlot.

prjemian commented 4 years ago

Good suggestion.