M5Unit-METER 0.1.0 git rev:2ae611f
|
Module 13.2 DualKmeter unit. More...
#include <unit_DualKmeter.hpp>
Classes | |
struct | config_t |
Settings for begin. More... | |
Public Member Functions | |
UnitDualKmeter (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 | |
dual_kmeter::MeasurementUnit | measurementUnit () const |
dual_kmeter::Channel | measurementChannel () const |
void | setMeasurementUnit (const dual_kmeter::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 dual_kmeter::Channel channel=dual_kmeter::Channel::One, const dual_kmeter::MeasurementUnit munit=dual_kmeter::MeasurementUnit::Celsius) |
Start periodic measurement @oaram channel Channel to be measured. | |
bool | stopPeriodicMeasurement () |
Stop periodic measurement. | |
Single shot measurement | |
bool | measureSingleshot (dual_kmeter::Data &d, const dual_kmeter::Channel channel, dual_kmeter::MeasurementUnit munit=dual_kmeter::MeasurementUnit::Celsius, const uint32_t timeoutMs=100) |
Measure temperature single shot. | |
bool | measureInternalSingleshot (dual_kmeter::Data &d, const dual_kmeter::Channel channel, const dual_kmeter::MeasurementUnit munit=dual_kmeter::MeasurementUnit::Celsius, const uint32_t timeoutMs=100) |
Measure internal temperature single shot. | |
Channel | |
bool | readCurrentChannel (dual_kmeter::Channel &channel) |
Read the current measure channel. | |
bool | writeCurrentChannel (const dual_kmeter::Channel channel) |
Write the current measure channel. | |
Protected Member Functions | |
bool | read_register (const uint8_t reg, uint8_t *rbuf, const uint32_t len) |
bool | read_register8 (const uint8_t reg, uint8_t &v) |
bool | start_periodic_measurement () |
bool | start_periodic_measurement (const uint32_t interval, const dual_kmeter::Channel channel, const dual_kmeter::MeasurementUnit munit) |
bool | stop_periodic_measurement () |
bool | read_measurement (dual_kmeter::Data &d, const dual_kmeter::MeasurementUnit munit) |
bool | read_internal_measurement (dual_kmeter::Data &d, const dual_kmeter::MeasurementUnit munit) |
bool | is_data_ready () |
M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitDualKmeter, dual_kmeter::Data) | |
Protected Attributes | |
std::unique_ptr< m5::container::CircularBuffer< dual_kmeter::Data > > | _data {} |
dual_kmeter::MeasurementUnit | _munit {dual_kmeter::MeasurementUnit::Celsius} |
dual_kmeter::Channel | _channel {} |
dual_kmeter::Channel | _current_channel {} |
config_t | _cfg {} |
Module 13.2 DualKmeter unit.
Address | 0 | 1 | 2 | 3 | Note |
---|---|---|---|---|---|
0x11 | OFF | OFF | OFF | OFF | as default |
0x12 | ON | OFF | OFF | OFF | |
0x13 | OFF | ON | OFF | OFF | |
0x14 | ON | ON | OFF | OFF | |
0x15 | OFF | OFF | ON | OFF | |
0x16 | ON | OFF | ON | OFF | |
0x17 | OFF | ON | ON | OFF | |
0x18 | ON | ON | ON | OFF | |
0x19 | OFF | OFF | OFF | ON | |
0x1A | ON | OFF | OFF | ON | |
0x1B | OFF | ON | OFF | ON | |
0x1C | ON | ON | OFF | ON | |
0x1D | OFF | OFF | ON | ON | |
0x1E | ON | OFF | ON | ON | |
0x1F | OFF | ON | ON | ON | |
0x20 | ON | ON | ON | ON |
bool m5::unit::UnitDualKmeter::measureInternalSingleshot | ( | dual_kmeter::Data & | d, |
const dual_kmeter::Channel | channel, | ||
const dual_kmeter::MeasurementUnit | munit = dual_kmeter::MeasurementUnit::Celsius, | ||
const uint32_t | timeoutMs = 100 ) |
Measure internal temperature single shot.
[out] | data | Measuerd data |
munit | measurement unit | |
timeoutMs | Measurement timeout time(ms) |
|
inline |
Gets the measurement channel on periodic measurement
|
inline |
Gets the measurement unit on periodic measurement
bool m5::unit::UnitDualKmeter::measureSingleshot | ( | dual_kmeter::Data & | d, |
const dual_kmeter::Channel | channel, | ||
dual_kmeter::MeasurementUnit | munit = dual_kmeter::MeasurementUnit::Celsius, | ||
const uint32_t | timeoutMs = 100 ) |
Measure temperature single shot.
[out] | data | Measuerd data |
channel | Channel to be measured | |
munit | measurement unit | |
timeoutMs | Measurement timeout time(ms) |
bool m5::unit::UnitDualKmeter::readCurrentChannel | ( | dual_kmeter::Channel & | channel | ) |
Read the current measure channel.
[out] | channel | Channel |
bool m5::unit::UnitDualKmeter::readFirmwareVersion | ( | uint8_t & | ver | ) |
Read firmware version.
[out] | ver | version |
bool m5::unit::UnitDualKmeter::readStatus | ( | uint8_t & | status | ) |
Read status.
[out] | status | Status |
|
inline |
Set the measurement unit on periodic measurement
|
inline |
Start periodic measurement in the current settings.
|
inline |
Start periodic measurement @oaram channel Channel to be measured.
interval | Periodic interval(ms) |
munit | Measurement unit |
|
inline |
Stop periodic measurement.
bool m5::unit::UnitDualKmeter::writeCurrentChannel | ( | const dual_kmeter::Channel | channel | ) |
Write the current measure channel.
channel | Channel |