Skip to content

Tutorial

๐Ÿ“ˆ Example Use Cases#

Scenario Function
Throttle Delta return($Throttle - $ThrottleRef)
Lap Time Marker if ($Speed < 5) SetMarker("Lap Start")
Filtered RPM return(Filter($RPM, 5))
Interpolated Map return(BiLinearInterpolate("map.3d", $X, $Y))

๐Ÿงช Worked Tutorial: Filtering Noisy RPM Data#

Objective#

Smooth out high-frequency noise in the RPM signal using a low-pass filter. This is useful for improving the readability of engine speed data and reducing transient spikes that may obscure trends.

Step-by-Step#

  1. Open the Function Editor
  2. Navigate to View > Function Editor or click the Function Editor icon on the toolbar.

  3. Create a New Function

  4. Use File > New or press Ctrl + N.

  5. Configure General Properties

  6. Name: FilteredRPM
  7. Units: rpm
  8. Format: %5.0f
  9. Display Min/Max: 0 to 10000 (adjust based on expected RPM range)

  10. Configure Function Properties

  11. Function Mode: Instantaneous
  12. Calculation Mode: Fixed frequency
  13. Calculation Frequency (Hz): 100
    > ๐Ÿ“ TODO: Confirm optimal frequency for RPM filtering based on your data sampling rate.
  14. Interpolate Between Samples: Enabled
  15. Join Gaps Around Null: Enabled

  16. Write the Function Code

return(Filter($RPM, 5))
6. Build and Test - Press F6 to build the function. - Add it to a display and verify the output is smoother than the raw $RPM.