Skip to content

fix: separate IEC 61850 process feedback and smooth analyzers - #311

Closed
masarray wants to merge 6 commits into
mainfrom
fix/real-ied-feedback-smooth-analyzers
Closed

masarray wants to merge 6 commits into
mainfrom
fix/real-ied-feedback-smooth-analyzers

Conversation

@masarray

@masarray masarray commented Sep 15, 2026 •

Copy link
Copy Markdown
Owner

Superseded because this PR was accidentally based on main (1.6.35-era baseline) instead of the field-proven trial/scl-golden-wire-v1636 branch. Do not use its artifacts for field testing. The targeted fix has been transplanted onto the correct v1.6.36 field-proven branch without carrying the old baseline.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 063f05c796

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +63 to +64
_smoothedVoltageVectors = SmoothVectors(_smoothedVoltageVectors, voltageVectors, elapsedMilliseconds);
_smoothedCurrentVectors = SmoothVectors(_smoothedCurrentVectors, currentVectors, elapsedMilliseconds);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Commit the exact final analyzer result

When a fast scrub ends, the final request calls ShowPhasors only once and the composition pump then stops, so these eased arrays remain between the previous and requested frame indefinitely; no render callback advances them to the target. The phasor labels/vectors therefore report values from neither frame after the user releases the cursor, and ComtradeHarmonicsWorkstationView.ShowSpectra has the same issue. Bypass easing for the final request or continue animation until committing the exact target.

AGENTS.md reference: AGENTS.md:L103-L106

Useful? React with 👍 / 👎.


public static double Smooth(double current, double target, double elapsedMilliseconds, double timeConstantMilliseconds)
{
if (!double.IsFinite(target)) return current;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject invalid targets instead of retaining stale values

When a later COMTRADE result contains a non-finite magnitude but has the same channel topology, returning current converts that invalid target into the previous finite value. Consequently, the existing finite-value filtering in PreparePanel cannot remove the vector, and the UI displays a stale magnitude under the new cursor/reference rather than indicating that the new result is invalid; non-finite targets must remain invalid or cause that vector to be dropped.

AGENTS.md reference: AGENTS.md:L60-L66

Useful? React with 👍 / 👎.

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