M5Unit-METER 0.2.0 git rev:3a4ce01
Loading...
Searching...
No Matches
m5::unit::UnitKmeterISO Class Reference

KMeterISO unit. More...

#include <unit_KmeterISO.hpp>

Inheritance diagram for m5::unit::UnitKmeterISO:

Classes

struct  config_t
 Settings for begin. More...
 

Public Member Functions

 UnitKmeterISO (const uint8_t addr=DEFAULT_ADDRESS)
 
virtual bool begin () override
 
virtual void update (const bool force=false) override
 
bool readStatus (uint8_t &status)
 Read status.
 
bool readFirmwareVersion (uint8_t &ver)
 Read firmware version.
 
Settings for begin
config_t config ()
 Gets the configration.
 
void config (const config_t &cfg)
 Set the configration.
 
Properties
kmeter_iso::MeasurementUnit measurementUnit () const
 
void setMeasurementUnit (const kmeter_iso::MeasurementUnit munit)
 
Measurement data by periodic
float temperature () const
 Oldest temperature.
 
Periodic measurement
bool startPeriodicMeasurement ()
 Start periodic measurement in the current settings.
 
bool startPeriodicMeasurement (const uint32_t interval, const kmeter_iso::MeasurementUnit munit=kmeter_iso::MeasurementUnit::Celsius)
 Start periodic measurement.
 
bool stopPeriodicMeasurement ()
 Stop periodic measurement.
 
Single shot measurement
bool measureSingleshot (kmeter_iso::Data &d, const kmeter_iso::MeasurementUnit munit=kmeter_iso::MeasurementUnit::Celsius, const uint32_t timeoutMs=100)
 Measure temperature single shot.
 
bool measureInternalSingleshot (kmeter_iso::Data &d, const kmeter_iso::MeasurementUnit munit=kmeter_iso::MeasurementUnit::Celsius, const uint32_t timeoutMs=100)
 Measure internal temperature single shot.
 
I2C Address
Warning
Handling warning
bool changeI2CAddress (const uint8_t i2c_address)
 Change device I2C address.
 
bool readI2CAddress (uint8_t &i2c_address)
 Read device I2C address.
 

Protected Member Functions

bool start_periodic_measurement ()
 
bool start_periodic_measurement (const uint32_t interval, const kmeter_iso::MeasurementUnit munit)
 
bool stop_periodic_measurement ()
 
bool read_measurement (kmeter_iso::Data &d, const kmeter_iso::MeasurementUnit munit)
 
bool read_internal_measurement (kmeter_iso::Data &d, const kmeter_iso::MeasurementUnit munit)
 
bool is_data_ready ()
 
 M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitKmeterISO, kmeter_iso::Data)
 

Protected Attributes

std::unique_ptr< m5::container::CircularBuffer< kmeter_iso::Data > > _data {}
 
kmeter_iso::MeasurementUnit _munit {kmeter_iso::MeasurementUnit::Celsius}
 
config_t _cfg {}
 

Detailed Description

KMeterISO unit.

Member Function Documentation

◆ changeI2CAddress()

bool m5::unit::UnitKmeterISO::changeI2CAddress ( const uint8_t i2c_address)

Change device I2C address.

Parameters
i2c_addressI2C address
Returns
True if successful
Warning
During periodic detection runs, an error is returned

◆ measureInternalSingleshot()

bool m5::unit::UnitKmeterISO::measureInternalSingleshot ( kmeter_iso::Data & d,
const kmeter_iso::MeasurementUnit munit = kmeter_iso::MeasurementUnit::Celsius,
const uint32_t timeoutMs = 100 )

Measure internal temperature single shot.

Parameters
[out]dataMeasuerd data
munitmeasurement unit
timeoutMsMeasurement timeout time(ms)
Returns
True if successful
Warning
During periodic detection runs, an error is returned

◆ measurementUnit()

kmeter_iso::MeasurementUnit m5::unit::UnitKmeterISO::measurementUnit ( ) const
inline

Gets the measurement unit on periodic measurement

◆ measureSingleshot()

bool m5::unit::UnitKmeterISO::measureSingleshot ( kmeter_iso::Data & d,
const kmeter_iso::MeasurementUnit munit = kmeter_iso::MeasurementUnit::Celsius,
const uint32_t timeoutMs = 100 )

Measure temperature single shot.

Parameters
[out]dataMeasuerd data
munitmeasurement unit
timeoutMsMeasurement timeout time(ms)
Returns
True if successful
Warning
During periodic detection runs, an error is returned

◆ readFirmwareVersion()

bool m5::unit::UnitKmeterISO::readFirmwareVersion ( uint8_t & ver)

Read firmware version.

Parameters
[out]verversion
Returns
True if successful

◆ readI2CAddress()

bool m5::unit::UnitKmeterISO::readI2CAddress ( uint8_t & i2c_address)

Read device I2C address.

Parameters
[out]i2c_addressI2C address
Returns
True if successful

◆ readStatus()

bool m5::unit::UnitKmeterISO::readStatus ( uint8_t & status)

Read status.

Parameters
[out]statusStatus
Returns
True if successful

◆ setMeasurementUnit()

void m5::unit::UnitKmeterISO::setMeasurementUnit ( const kmeter_iso::MeasurementUnit munit)
inline

Set the measurement unit on periodic measurement

◆ startPeriodicMeasurement() [1/2]

bool m5::unit::UnitKmeterISO::startPeriodicMeasurement ( )
inline

Start periodic measurement in the current settings.

Returns
True if successful

◆ startPeriodicMeasurement() [2/2]

bool m5::unit::UnitKmeterISO::startPeriodicMeasurement ( const uint32_t interval,
const kmeter_iso::MeasurementUnit munit = kmeter_iso::MeasurementUnit::Celsius )
inline

Start periodic measurement.

Parameters
intervalPeriodic interval(ms)
munitMeasurement unit
Returns
True if successful

◆ stopPeriodicMeasurement()

bool m5::unit::UnitKmeterISO::stopPeriodicMeasurement ( )
inline

Stop periodic measurement.

Returns
True if successful