10#ifndef M5_UNIT_METER_UNIT_EEPROM_HPP
11#define M5_UNIT_METER_UNIT_EEPROM_HPP
14#include <M5UnitComponent.hpp>
15#include <m5_utility/stl/extension.hpp>
31class UnitEEPROM :
public Component {
32 M5_UNIT_COMPONENT_HPP_BUILDER(UnitEEPROM, 0x00);
35 explicit UnitEEPROM(
const uint8_t addr = DEFAULT_ADDRESS) : Component(addr)
47 return _calibration[m5::stl::to_underlying(gain)].hope;
54 return _calibration[m5::stl::to_underlying(gain)].actual;
76 std::array<Calibration, 8 > _calibration{};
bool readCalibration()
Read calibration data from EEPROM.
Definition unit_EEPROM.cpp:32
int16_t hope(m5::unit::ads111x::Gain gain) const
Gets the expected (hope) ADC value for the given gain.
Definition unit_EEPROM.hpp:45
int16_t actual(m5::unit::ads111x::Gain gain) const
Gets the actual ADC value for the given gain.
Definition unit_EEPROM.hpp:52
float calibrationFactor(m5::unit::ads111x::Gain gain) const
Gets the calibration factor for the given gain.
Definition unit_EEPROM.hpp:59
Top level namespace of M5stack.
Base class for ADS111x families.
Gain
Programmable gain amplifier.
Definition unit_ADS111x.hpp:47