M5Unit-METER 0.3.0 git rev:2c09d95
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 configuration.
 
void config (const config_t &cfg)
 Set the configuration.
 
Properties
kmeter_iso::MeasurementUnit measurementUnit () const
 Gets the measurement unit on periodic measurement.
 
void setMeasurementUnit (const kmeter_iso::MeasurementUnit munit)
 Set the measurement unit on periodic measurement.
 
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 &data, const kmeter_iso::MeasurementUnit munit=kmeter_iso::MeasurementUnit::Celsius, const uint32_t timeoutMs=100)
 Measure temperature single shot.
 
bool measureInternalSingleshot (kmeter_iso::Data &data, 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 & data,
const kmeter_iso::MeasurementUnit munit = kmeter_iso::MeasurementUnit::Celsius,
const uint32_t timeoutMs = 100 )

Measure internal temperature single shot.

Parameters
[out]dataMeasured 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.

Returns
Current measurement unit

◆ measureSingleshot()

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

Measure temperature single shot.

Parameters
[out]dataMeasured 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.

Parameters
munitMeasurement unit to set

◆ 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