Skip to content

Releases: nyetwurk/ecuxplot

ECUxPlot v1.2.5

25 Dec 06:19

Choose a tag to compare

ECUxPlot v1.2.5

Downloads:

Built from tag: v1.2.5

Changelog

Added

  • Added support for another "modern" VCDS variant

Full Changelog: v1.2.4...v1.2.5

ECUxPlot latest build

25 Dec 10:23

Choose a tag to compare

ECUxPlot latest build Pre-release
Pre-release

Latest build from commit f6cc539

Downloads:

Built on: 490

Changelog

Full Changelog: v1.2.5...latest

ECUxPlot v1.2.4

20 Dec 07:53

Choose a tag to compare

ECUxPlot v1.2.4

Downloads:

Built from tag: v1.2.4

Changelog

Fixed

  • #131: Fix g/sec to kg/hr conversion

What's Changed

Full Changelog: v1.2.3...v1.2.4

ECUxPlot v1.2.3

15 Dec 08:49

Choose a tag to compare

ECUxPlot v1.2.3

Downloads:

Built from tag: v1.2.3

Changelog

Fixed

  • #127: Custom autorange now ignores hidden range series

Full Changelog: v1.2.2...v1.2.3

ECUxPlot v1.2.2

09 Dec 20:43

Choose a tag to compare

ECUxPlot v1.2.2

Downloads:

Built from tag: v1.2.2

Changelog

Fixed

  • #126: Better VCDS support

Full Changelog: v1.2.1...v1.2.2

ECUxPlot v1.2.1

05 Dec 04:50

Choose a tag to compare

ECUxPlot v1.2.1

Downloads:

Built from tag: v1.2.1

Changelog

Added

  • #124: File loading progress dialog showing progress for reading, parsing, and filtering stages
  • Progress reporting interface (ProgressCallback) for file loading operations

Fixed

  • #125: Files with no valid ranges are no longer shown in the "Ranges..." tree when filter is enabled
  • Range selection visibility bug when filter parameters change

Changed

  • Filter performance optimized with caching
  • Missing field warnings for sim/turbo/maf calculations changed from warn to info level
  • Removed awt.useSystemAAFontSettings=gasp since antialiasing defaults should be fine for modern runtimes

What's Changed

New Contributors

Full Changelog: v1.2.0...v1.2.1

ECUxPlot v1.2.0

24 Nov 17:21

Choose a tag to compare

ECUxPlot v1.2.0

Downloads:

Built from tag: v1.2.0

Changelog

Fixed

  • If there is no series for an axis, hide the axis completely
  • #122: Loading unit handling and stale reference bug
  • #120: Properly re-compute Sample[range] and Time[range] on Filter/Range change

Full Changelog: v1.1.9...v1.2.0

ECUxPlot v1.1.9

16 Nov 04:48

Choose a tag to compare

ECUxPlot v1.1.9

Downloads:

Built from tag: v1.1.9

Changelog

Fixed

  • Fixed #119: AxisMenu tooltip now shows all original column names for a canonical column name
  • Fixed #118: Allow log files with differing native CSV units to be compared using the same canonical column alias (e.g. BoostPressureActual) and units (e.g. PSI vs mBar)
  • Fix ambient pressure calculation to use normalized BaroPressure column instead of raw data

Full Changelog: v1.1.8...v1.1.9

ECUxPlot v1.1.8

10 Nov 19:50

Choose a tag to compare

ECUxPlot v1.1.8

Downloads:

Built from tag: v1.1.8

Changelog

Fixed

  • Fixed #112: Unified logging in unit testing, default level INFO for CI
  • Fixed #111: Unify AxisMenu and ECUxDataset into AxisMenuItems and AxisMenuHandlers
  • Fixed Speed field incorrectly categorized as calculated menu item instead of base menu item

Full Changelog: v1.1.7...v1.1.8

ECUxPlot v1.1.7

07 Nov 17:36

Choose a tag to compare

ECUxPlot v1.1.7

Downloads:

Built from tag: v1.1.7

Changelog

Fixed

  • Fixed #110: Calc PID now requires both boost desired and boost actual fields (Issue #110)
  • Fixed #109: Resolved circular dependency between range detection and RPM smoothing using three-tier architecture (Issue #109)
  • Fixed torque unit conversion (ft/lb to Nm) for accurate calculations
  • Fixed max HP calculation in Range Selector to use smoothed data instead of raw data
  • Fixed smoothing inheritance so unit-converted columns (e.g., WTQ (Nm)) automatically inherit smoothing from base columns
  • Fixed derivative calculation to handle duplicate/near-zero time deltas preventing division by zero errors
  • Fixed acceleration calculations to avoid double-smoothing artifacts
  • Fixed FilterWindow to use base RPM for data visualization matching actual filter behavior
  • Preset loading now updates axis labels when X-axis is unchanged but Y-axes change (Issue #108)
  • Improved Cobb Accessport boost pressure alias matching to handle variations in field names (Issue #106)

Changed

  • Major Refactoring: Replaced MovingAverageSmoothing with unified Smoothing class
    • Removed automatic padding/extrapolation (simpler, more predictable behavior)
    • Simplified edge handling: returns original data at edges instead of padding
    • Added smoothAdaptive() for quantization-aware adaptive smoothing
  • Three-Tier RPM Architecture: Implemented CSV/Base/Final RPM system to break circular dependency
    • CSV RPM: Raw data from CSV (no smoothing)
    • Base RPM: SG smoothing only (for range detection, no ranges needed)
    • Final RPM: Adaptive smoothing (MA+SG for quantized, SG for smooth) using ranges for quantization detection
  • Smoothing Improvements:
    • Added edge clamping to prevent artifacts at range boundaries
    • Adaptive smoothing automatically detects quantization noise and chooses MA+SG vs SG-only
    • Adaptive window sizing based on detected quantization characteristics
    • Range-aware quantization detection to avoid false positives from idle/deceleration periods
  • Filter Parameter Rename: Renamed HPTQMAW to HPMAW for clarity
    • Updated all UI labels, tooltips, and filter parameter names
    • Improved filter parameter tooltips with clearer descriptions of what each parameter affects
  • Axis Menu Reorganization:
    • Organized RPM, TIME, and Sample columns into dedicated submenus
    • Added "Speed" submenu for velocity-related columns
    • Added "Acceleration" submenu for acceleration-related columns
    • Added calculation tooltips showing smoothing chain for power/torque/acceleration columns
    • Debug columns (RPM - base, Acceleration - raw, etc.) now only visible when verbose logging enabled
  • Acceleration Calculation Improvements:
    • All acceleration calculations now use smoothed RPM input to reduce quantization noise
    • Removed double-smoothing: derivatives use derivative(x, 0) with range-aware smoothing in getData()
    • Added "Acceleration (RPM/s) - raw" and "Acceleration (m/s^2) - raw" variants
    • Acceleration (m/s^2) now calculated directly from RPM (same approach as RPM/s) for consistency
  • HP/TQ Calculation:
    • HP now calculated from smoothed WHP during column creation to inherit smoothing without redundancy
    • HP smoothing applied to WHP data before calculating HP (avoids redundant smoothing)
  • Range-Aware Smoothing:
    • Improved range-aware smoothing with proper padding handling
    • Applied to: Acceleration (RPM/s), Acceleration (m/s^2), WHP, HP, WTQ, TQ
  • New Columns:
    • Added "Time [Range]" column: relative time to range start (when filter enabled)
    • Added "Sample [Range]" column: relative sample to range start (when filter enabled)
    • Added "Sample" column to FilterWindow for easier data navigation
    • Added "RPM - base" debug column (only visible with verbose logging)
  • Alias Improvements: Added more Simos logger aliases and improved axis menu sorting
  • Consolidated axis label update calls into updateAllAxisLabels() helper method
  • Added wait cursor feedback for "Original names", "Scatter plot", and "Apply SAE" menu actions
  • Enhanced preferences editor to preserve excluded keys when resetting to defaults (SAE editor preserves "enabled" state) (Issue #107)

Added

  • Added "Smoothing..." window for configuring smoothing parameters (HPMAW and ZeitMAW moved from Filter window)
  • Smoothing window sizes now specified in seconds (converted to samples internally) for easier configuration
  • Added getVerbose() method to ECUxPlot for UI elements to check debug logging level
  • Added calculation tooltips to AxisMenu showing smoothing chain for calculated columns
  • Added getSmoothingWindow() method to ECUxDataset to expose smoothing window sizes
  • Added getFilterAcceleration() method to ECUxDataset for filter visualization
  • Added getCsvRpmColumn() and getBaseRpmColumn() accessors for debug/debugging
  • SAE checkbox state synchronization in OptionsMenu to reflect external state changes (Issue #107)

Full Changelog: v1.1.6...v1.1.7