Skip to content

Enhance Data Browser waveform inspection with ChartFX history - #3981

Open
gguyotte wants to merge 1 commit into
ControlSystemStudio:masterfrom
gguyotte:phoebus-ui-005-inspect-waveforms-pr
Open

gguyotte wants to merge 1 commit into
ControlSystemStudio:masterfrom
gguyotte:phoebus-ui-005-inspect-waveforms-pr

Conversation

@gguyotte

Copy link
Copy Markdown

Summary

Enhances the Data Browser Inspect Waveforms view by replacing the existing waveform display with a ChartFX-based implementation that supports multiple PVs, waveform history, and improved visualization controls.

Changes

  • Multi-PV support: Display up to four waveform PVs simultaneously by default, with independent Y-axes. The limit can be configured using the phoebus.waveform.max_pvs system property.
  • Waveform history: Display previous waveforms as fading traces, with a configurable history depth.
  • Staggered display: Vertically stagger waveforms to make overlapping signals easier to distinguish.
  • Crosshair inspection: Display sample indices and color-matched PV values using an interactive crosshair.
  • Integrated toolbar: Provide waveform controls alongside the ChartFX zoom and navigation tools.
  • Localization: Add localized strings for the new controls.
  • Tests: Add focused unit tests for waveform range handling.

Implementation

Introduces WaveformHistoryChart, using ChartFX's HistoryDataSetRenderer to manage waveform history. The existing WaveformView is updated to support multiple selected PVs and display their histories using a common sample-time reference.

The implementation preserves the existing Data Browser model and sample retrieval mechanisms.

Testing

  • Maven Data Browser tests pass with no failures.
  • Manually verified in Phoebus:
    • Multiple waveform PVs displayed simultaneously
    • Independent Y-axes and staggered waveforms
    • History depth adjustments
    • Sample navigation
    • Crosshair value inspection
    • Chart toolbar controls

Scope

Changes are limited to the Data Browser. No Display Builder widget changes are included.

@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant