10#ifndef M5_UNIT_RGB_UNIT_HEX_HPP
11#define M5_UNIT_RGB_UNIT_HEX_HPP
25template <
class BaseClass>
26class UnitHexLED37 :
public BaseClass {
27 static_assert(std::is_base_of<UnitLED, BaseClass>::value,
"BaseClass must derive from UnitLED");
28 M5_UNIT_COMPONENT_HPP_BUILDER(UnitHexLED37, 0x00);
31 using BaseClass::BaseClass;
32 UnitHexLED37() : BaseClass(37)
35 virtual uint16_t index_of(
const uint16_t n)
const override;
38 inline virtual uint16_t
width()
const override
43 inline virtual uint16_t
height()
const override
48 inline virtual uint8_t maxRotation()
const
59class UnitHex :
public UnitHexLED37<UnitWS2812> {
60 M5_UNIT_COMPONENT_HPP_BUILDER(UnitHex, 0x00);
63 UnitHex() : UnitHexLED37<UnitWS2812>()
65 auto ccfg = component_config();
66 ccfg.max_children = 1;
67 component_config(ccfg);
75class UnitNeoHex :
public UnitHexLED37<UnitSK6812GRB> {
76 M5_UNIT_COMPONENT_HPP_BUILDER(UnitNeoHex, 0x00);
79 UnitNeoHex() : UnitHexLED37<UnitSK6812GRB>()
81 auto ccfg = component_config();
82 ccfg.max_children = 1;
83 component_config(ccfg);
virtual uint16_t width() const override
Edge length of the hexagon (4 LEDs per edge)
Definition unit_Hex.hpp:38
virtual uint16_t height() const override
Number of rows in the hexagon (7 rows)
Definition unit_Hex.hpp:43
Top level namespace of M5stack.
SK6812 unit for M5UnitUnified.
WS2812 unit for M5UnitUnified.