AceUtils  0.5.0
Useful Arduino utilties which are too small as separate libraries, but complex enough to be shared among multiple projects, and often have external dependencies to other libraries.
ModeGroup.h
1 #ifndef ACE_UTILS_MODE_GROUP_MODE_GROUP_H
2 #define ACE_UTILS_MODE_GROUP_MODE_GROUP_H
3 
4 namespace ace_utils {
5 namespace mode_group {
6 
8 const uint8_t kModeUnknown = 0;
9 
17 struct ModeGroup {
19  const ModeGroup* const parentGroup;
20 
22  const uint8_t numModes;
23 
25  const uint8_t* const modes;
26 
34  const ModeGroup* const* const childGroups;
35 };
36 
37 } // mode_group
38 } // ace_utils
39 
40 #endif
ace_utils::mode_group::ModeGroup
A data structure that captures the group of sibliing clock modes which can be cycled through using th...
Definition: ModeGroup.h:17
ace_utils::mode_group::ModeGroup::childGroups
const ModeGroup *const *const childGroups
List of child ModeGroup corresponding to each element in 'modes'.
Definition: ModeGroup.h:34
ace_utils::mode_group::ModeGroup::numModes
const uint8_t numModes
Number of modes.
Definition: ModeGroup.h:22
ace_utils::mode_group::ModeGroup::parentGroup
const ModeGroup *const parentGroup
Pointer to the parent ModeGroup.
Definition: ModeGroup.h:19
ace_utils::mode_group::ModeGroup::modes
const uint8_t *const modes
Array of mode identifiers of size numModes.
Definition: ModeGroup.h:25