16#ifndef M5_UNIT_UNIFIED_HPP
17#define M5_UNIT_UNIFIED_HPP
21#if defined(M5_UNIT_UNIFIED_USING_RMT_V2)
23#include <driver/rmt.h>
52 using container_type = std::vector<Component*>;
57 UnitUnified() =
default;
58 UnitUnified(
const UnitUnified&) =
delete;
59 UnitUnified(UnitUnified&&) noexcept = default;
65 UnitUnified& operator=(const UnitUnified&) = delete;
67 UnitUnified& operator=(UnitUnified&&) noexcept = default;
78 bool add(Component& u, TwoWire& wire);
86 bool add(Component& u, const int8_t rx_pin, const int8_t tx_pin);
93 bool add(Component& u, HardwareSerial& serial);
100 bool add(Component& u, SPIClass& spi, const SPISettings& settings);
107 bool add(Component& u,
m5::hal::bus::Bus* bus);
114 bool add(Component& u,
m5::I2C_Class& i2c);
120 void update(const
bool force = false);
126 bool add_children(Component& u);
127 std::
string make_unit_info(const Component* u, const uint8_t indent = 0) const;
130 container_type _units{};
133 static uint32_t _registerCount;
Main header of M5UnitComponent.
std::string debugInfo() const
Output information for debug.
Definition M5UnitUnified.cpp:191
bool begin()
Begin of all units under management.
Definition M5UnitUnified.cpp:169
void update(const bool force=false)
Update of all units under management.
Definition M5UnitUnified.cpp:181
bool add(Component &u, TwoWire &wire)
Adding unit to be managed (I2C)
Definition M5UnitUnified.cpp:41
Top level namespace of M5stack.
Definition test_helper.hpp:20