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");
31 using BaseClass::BaseClass;
41 inline virtual uint16_t
width()
const override
49 inline virtual uint16_t
height()
const override
65 virtual uint16_t index_of(
const uint16_t n)
const override;
72class UnitHex :
public UnitHexLED37<UnitWS2812> {
73 M5_UNIT_COMPONENT_HPP_BUILDER(
UnitHex, 0x00);
79 auto ccfg = component_config();
80 ccfg.max_children = 1;
81 component_config(ccfg);
89class UnitNeoHex :
public UnitHexLED37<UnitSK6812GRB> {
90 M5_UNIT_COMPONENT_HPP_BUILDER(
UnitNeoHex, 0x00);
96 auto ccfg = component_config();
97 ccfg.max_children = 1;
98 component_config(ccfg);
UnitHex()
Constructor.
Definition unit_Hex.hpp:77
Unit comprising 37 LED hexagons.
UnitHexLED37()
Default constructor (37 LEDs)
Definition unit_Hex.hpp:33
virtual uint16_t width() const override
Edge length of the hexagon (4 LEDs per edge)
Definition unit_Hex.hpp:41
virtual uint8_t maxRotation() const override
Get the max rotation (6 steps: 0/60/120/180/240/300 deg)
Definition unit_Hex.hpp:58
virtual uint16_t height() const override
Number of rows in the hexagon.
Definition unit_Hex.hpp:49
UnitNeoHex()
Constructor.
Definition unit_Hex.hpp:94
Top level namespace of M5Stack.
SK6812 unit for M5UnitUnified.
WS2812 unit for M5UnitUnified.