Lamp-Da 0.1
A compact lantern project
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lampda::modes::ModeManagerTy< Config, AllGroups, hiddenGroupsCount >::StateTy Struct Reference

Public Member Functions

void reset ()
 Reset the stored variable states.
 

Static Public Member Functions

static void LMBD_INLINE before_enter_mode (auto &ctx)
 configuration-related actions done before entering mode
 
static void LMBD_INLINE after_enter_mode (auto &ctx)
 configuration-related actions done after mode entering
 

Public Attributes

AllStatesTy groupStates
 All group states, containing all modes individual states.
 
std::array< uint8_t, nbGroupsTotal > lastModeMemory = {}
 When switching group, remember which mode was on last time we visited it.
 
std::array< ActiveIndexTy, maxFavoriteCountfavorites = {}
 Store the active index of every favorite.
 
uint8_t usedFavoriteCount = 0
 number of favorite set by user [0, maxFavoriteCount]
 
uint8_t isFavoritePending = 0
 indicate that the addition of a favorite in in process
 
uint8_t whichFavoritePending = 0
 indicates the favorite currently selected
 
bool isInDeleteFavorite = false
 indicates that we are in a favorite deletion process
 
uint8_t isFavoriteDeletePending = 0
 indicate that the deletion of a favorite in in process
 
uint8_t lastFavoriteStep = 0
 last used favorite index
 
bool isInFavoriteMockGroup = false
 Indicates that we are in the fake favorite page.
 
ActiveIndexTy beforeFavoriteActiveIndex
 store the index we need to go to when quitting the favorite page
 
uint8_t isSunsetTimingPending = 0
 Indicates that a sunset timer ramp is active.
 
bool isLastScrollAGroupChange = false
 last mode change in scroll changed group
 
uint32_t lastScrollStopped = 0
 keep track of the last scrool release time
 
RampHandlerTy< Config > rampHandler = {Config::defaultCustomRampStepSpeedMs}
 Ramp handlers: custom ramp (or "color ramp")
 
RampHandlerTy< Config > scrollHandler = {Config::scrollRampStepSpeedMs}
 Ramp handlers: mode scroll ramp.
 
bool clearStripOnModeChange = Config::defaultClearStripOnModeChange
 Should clear the strip before switching mode.
 
uint8_t skipNextFrameEffect = 0
 should the next .loop() mode be skipped?
 

Static Public Attributes

static constexpr uint8_t maxFavoriteCount = 8
 Maximum allowed favorite count.
 
static constexpr uint8_t defaultFavoriteCount_indexable = 6
 By default, the system will have X favorites.
 
static constexpr std::array< ActiveIndexTy, maxFavoriteCountdefaultFavorites_indexable
 The default favorites are defined below :
 
static constexpr uint8_t defaultFavoriteCount_simple = 0
 By default, the system will have X favorites.
 
static constexpr std::array< ActiveIndexTy, maxFavoriteCountdefaultFavorites_simple = {}
 The default favorites are defined below :
 

Member Data Documentation

◆ defaultFavorites_indexable

template<typename Config , typename AllGroups , uint8_t hiddenGroupsCount>
constexpr std::array<ActiveIndexTy, maxFavoriteCount> lampda::modes::ModeManagerTy< Config, AllGroups, hiddenGroupsCount >::StateTy::defaultFavorites_indexable
staticconstexpr
Initial value:
= {
ActiveIndexTy::from({0, 2, 80, 0}),
ActiveIndexTy::from({0, 2, 165, 0}),
ActiveIndexTy::from({0, 2, 0, 0}),
ActiveIndexTy::from({0, 0, 0, 0}),
ActiveIndexTy::from({0, 0, 128, 0}),
ActiveIndexTy::from({0, 0, 255, 0}),
}

The default favorites are defined below :


The documentation for this struct was generated from the following file: