42String 
Menu::line1 = 
"               BRIGHT    SDE BRIGHT     MIC      MIC LEVEL      BOOP        SPEC        SIZE       COLOR       HUE F       HUE B       EFFECT    FAN SPEED  ";
 
   43String 
Menu::line2 = 
" a b c d e f   12^45       12^45       ON off     123456|8     on OFF      ON off      12^45      123456|8    123456|8    123456|8    123456|8    123456|8  ";
 
  114#ifndef NEOTRELLISMENU 
  122#ifndef NEOTRELLISMENU 
 
  209#if defined NEOTRELLISMENU || defined MORSEBUTTON 
  214    float menuTarget = 0.0f;
 
 
  323    uint8_t spacing = options >= 5 ? 3 : (
menuLength - options) / 2;
 
  325    for (uint8_t i = 0; i < spacing; i++) {
 
  329    for (uint8_t i = 0; i < 5; i++) {
 
  330        if (selection < 5 && i < options) {
 
  331            char value = 
'0' + i;
 
  333            if (i == selection) {
 
  338        } 
else if (selection >= 5 && i + 5 < options) {
 
  339            char value = 
'5' + i;
 
  341            if (i + 5 == selection) {
 
 
void AddParameter(float *parameter)
Adds a parameter to the animation track.
void RestartTime()
Restarts the animation track's time to the beginning.
float Update()
Updates the animation track and returns the current parameter value.
Abstract base class for representing a color with operations for modification and interpolation.
Simulates the motion of a damped spring.
float Calculate(float target, unsigned long currentMillis)
Calculates the spring's position and velocity using a target position and timestamp.
void SetConstants(float springConstant, float damping)
Sets the spring constant and damping coefficient.
A template class for animating effect transitions using keyframes.
Abstract base class for applying visual effects to pixel groups.
void SetRatio(float ratio)
Sets the scaling ratio for the effect.
Implements a fisheye distortion effect for pixel groups.
Implements a glitch effect along the X-axis for pixel groups.
Implements a horizontal blur effect for pixel groups.
Implements a magnetic distortion effect for pixel groups.
Abstract base class for rendering materials.
static const float MPI
Mathematical constant  (3.14159265358979323846...).
Manages multiple menus and settings using Adafruit NeoTrellis.
static void SetInitialized()
Marks the menu system as initialized.
static void SetMenuMax(uint8_t menu, uint8_t maxValue)
Sets the maximum value for a specific menu.
static void Update()
Updates the menu state and processes user interactions.
static uint8_t GetMenuValue(uint8_t menu)
Retrieves the current value of a specific menu.
static void Begin()
Begins the menu handling process, setting up necessary states.
static uint8_t GetCurrentMenu()
Retrieves the index of the currently active menu.
static void SetDefaultValue(uint16_t menu, uint8_t value)
Sets a default value for a specific menu.
Implements an overflow distortion effect for pixel groups.
A no-operation effect that leaves pixel groups unchanged.
Applies rotational phase offsets to pixel groups.
Applies horizontal phase offsets to pixel groups.
Applies vertical phase offsets to pixel groups.
Applies a radial blur effect to pixel groups.
A dynamic material that creates a rainbow effect using simplex noise.
void Update(float ratio)
Updates the material animation based on the time ratio.
Radially shifts the red, green, and blue channels of the pixels.
void SetPositionOffset(Vector2D positionOffset)
void SetRotationAngle(float rotationAngle)
void SetRotationOffset(Vector2D rotationOffset)
void SetSize(Vector2D size)
void SetMaterial(Material *material)
void SetBlinkTime(uint16_t blinkTime)
void SetText(uint8_t line, String value, bool centerText=false)
Represents a 2D vector (X, Y) and provides methods for vector arithmetic.
float X
The X-component of the 2D vector.
An effect that applies a vertical blur to a pixel group.