rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes
FlexConverter Class Reference

#include <flex_sensor.h>

Inheritance diagram for FlexConverter:
Inheritance graph
[legend]
Collaboration diagram for FlexConverter:
Collaboration graph
[legend]

Public Member Functions

 FlexConverter ()
 
SensorResult convert (float frequency) const override
 
- Public Member Functions inherited from SensorConverter
 SensorConverter (const SensorConverter &)=delete
 
 SensorConverter ()=default
 
virtual void showInfo (float testRawValue) const
 

Private Attributes

Biquad m_filter
 

Detailed Description

Definition at line 5 of file flex_sensor.h.

Constructor & Destructor Documentation

◆ FlexConverter()

FlexConverter::FlexConverter ( )
inline

Definition at line 7 of file flex_sensor.h.

7 {
8 // Update rate is 50-150hz, so this actually filters at 0.5-1.5hz -3db depending on E%, which is ok
10 }
void configureLowpass(float samplingFrequency, float cutoffFrequency, float Q=0.54f)
Definition biquad.cpp:48
Biquad m_filter
Definition flex_sensor.h:29
Here is the call graph for this function:

Member Function Documentation

◆ convert()

SensorResult FlexConverter::convert ( float  frequency) const
inlineoverridevirtual

Implements SensorConverter.

Definition at line 12 of file flex_sensor.h.

12 {
13 // Sensor should only report 50-150hz, significantly outside that range indicates a problem
14 // it changes to 200hz+ to indicate methanol "contamination"
15 if (frequency < 45) {
16 return UnexpectedCode::Low;
17 }
18
19 if (frequency > 155) {
20 return UnexpectedCode::High;
21 }
22
23 float flexPct = clampF(0, frequency - 50, 100);
24
25 return m_filter.filter(flexPct);
26 }
float filter(float input)
Definition biquad.cpp:74
static float frequency
Definition init_flex.cpp:21
Here is the call graph for this function:

Field Documentation

◆ m_filter

Biquad FlexConverter::m_filter
mutableprivate

Definition at line 29 of file flex_sensor.h.

Referenced by convert(), and FlexConverter().


The documentation for this class was generated from the following file: