semf
semf::SensorConverter< T_RAW, T_CONVERTED > Class Template Referenceabstract

Conversion class for raw sensor measurement values from HardwareSensor to converted values for Sensor used by application level. More...

#include <sensorconverter.h>

Inheritance diagram for semf::SensorConverter< T_RAW, T_CONVERTED >:
Inheritance graph
Collaboration diagram for semf::SensorConverter< T_RAW, T_CONVERTED >:
Collaboration graph

Public Member Functions

 SensorConverter (HardwareSensor< T_RAW > &hardwareSensor, size_t index)
 Constructor. More...
 
virtual ~SensorConverter ()=default
 
- Public Member Functions inherited from semf::app::Sensor< T_CONVERTED >
virtual ~Sensor ()=default
 
virtual T_CONVERTED currentValue () const =0
 Returns the last measured converted value. More...
 
virtual T_CONVERTED averageValue () const =0
 Returns the converted value of the average measured raw values. More...
 
virtual void update ()=0
 Triggers the sensor hardware to start a measurement cycle. More...
 

Protected Member Functions

virtual T_CONVERTED convert (T_RAW value) const =0
 Converts a raw sensor measurement value from HardwareSensor into the required format. More...
 

Additional Inherited Members

- Public Attributes inherited from semf::app::Sensor< T_CONVERTED >
Signal dataAvailable
 

Detailed Description

template<typename T_RAW, typename T_CONVERTED>
class semf::SensorConverter< T_RAW, T_CONVERTED >

Conversion class for raw sensor measurement values from HardwareSensor to converted values for Sensor used by application level.

To use this base class, inherit from it and override the convert() function. In order to trigger a new measurement the inherited update() function can be used.

For building a measurement system, you need the following:

  1. Raw measurement data buffer.
  2. Object from a class inheriting from HardwareSensor interface.
  3. Own class inheriting from SensorValueConverter and implementing the convert() function.
  4. UserSensor object
  • Template Parameters
    T_RAWType of a raw sensor value, e.g. uint16_t for a 16-bit ADC value.
  • Template Parameters
    T_CONVERTEDType of an application/usable sensor value which has an unit, e.g. float for temperature [°C].
    See also
    Sensor
    HardwareSensor

Definition at line 40 of file sensorconverter.h.

Constructor & Destructor Documentation

◆ SensorConverter()

template<typename T_RAW , typename T_CONVERTED >
semf::SensorConverter< T_RAW, T_CONVERTED >::SensorConverter ( HardwareSensor< T_RAW > &  hardwareSensor,
size_t  index 
)

Constructor.

Parameters
hardwareSensorSensor hardware object.
indexIndex of the specific sensor.

Definition at line 78 of file sensorconverter.h.

◆ ~SensorConverter()

template<typename T_RAW , typename T_CONVERTED >
virtual semf::SensorConverter< T_RAW, T_CONVERTED >::~SensorConverter ( )
virtualdefault

Member Function Documentation

◆ convert()

template<typename T_RAW , typename T_CONVERTED >
virtual T_CONVERTED semf::SensorConverter< T_RAW, T_CONVERTED >::convert ( T_RAW  value) const
protectedpure virtual

Converts a raw sensor measurement value from HardwareSensor into the required format.

Parameters
valueRaw value.
Returns
Converted value.