10#ifndef M5_UNIT_WEIGHT_I2C_UNIT_MINISCALES_HPP
11#define M5_UNIT_WEIGHT_I2C_UNIT_MINISCALES_HPP
22class UnitMiniScales :
public UnitWeightI2C {
23 M5_UNIT_COMPONENT_HPP_BUILDER(UnitMiniScales, 0x26);
38 virtual ~UnitMiniScales()
46 virtual void update(
const bool force =
false)
override;
86 return writeLEDColor((rgb32 >> 16) & 0xFF, (rgb32 >> 8) & 0xFF, rgb32 & 0xFF);
101 bool writeLEDColor(
const uint8_t r,
const uint8_t g,
const uint8_t b);
128 return _button && (_button != _prev_button);
137 return !_button && (_button != _prev_button);
142 bool _button{}, _prev_button{};
143 config_t _cfg_mini{};
146namespace miniscales {
150constexpr uint8_t BUTTON_REG {0x20};
151constexpr uint8_t RGB_LED_REG {0x30};
bool readButtonStatus(bool &press)
Read the button status.
Definition unit_MiniScales.cpp:78
bool readLEDColor(uint32_t &rgb32)
Read the LED color as RGB32 (00RRGGBB HEX)
Definition unit_MiniScales.cpp:34
bool isPressed() const
Is button pressed?
Definition unit_MiniScales.hpp:117
void config(const config_t &cfg)
Set the configuration.
Definition unit_MiniScales.hpp:56
config_t config()
Gets the configuration.
Definition unit_MiniScales.hpp:51
virtual void update(const bool force=false) override
Update the cached measurement and button state.
Definition unit_MiniScales.cpp:25
bool wasPressed() const
Was button pressed?
Definition unit_MiniScales.hpp:126
bool writeLEDColor(const uint32_t rgb32)
Write the LED color as RGB32 (00RRGGBB HEX)
Definition unit_MiniScales.hpp:84
bool wasReleased() const
Is button released?
Definition unit_MiniScales.hpp:135
WeightI2C unit.
Definition unit_WeightI2C.hpp:72
config_t config()
Gets the configuration.
Definition unit_WeightI2C.hpp:120
Top level namespace of M5Stack.
Settings for begin.
Definition unit_MiniScales.hpp:30
bool manage_button_status
Manage button status with update?
Definition unit_MiniScales.hpp:32
Settings for begin.
Definition unit_WeightI2C.hpp:80
WeightI2C Unit for M5UnitUnified.