-
-
Notifications
You must be signed in to change notification settings - Fork 264
NeoPixelAnimator object API
Construct an animator with the number of animation channels, using the given timescale for all time values.
The timescale is number of milliseconds per time unit. The following flags are available.
NEO_MILLISECONDS
NEO_CENTISECONDS
NEO_DECISECONDS
NEO_SECONDS
NEO_DECASECONDS
Return true if there is at least one active running animation.
Return true if there is an available animation channel, and set the given indexAvailable variable to the channel index.
indexAvailable - a pointer to the variable to return the available channel index
indexStart - the index to start searching at
Start an animation at the given index, set the length in time to duration, and provide a update callback that apply the effect.
indexAnimation - the animation channel to use. If there is an active animation on that channel, it will be stopped first and then the channel will be reused.
duration - the length of time the animation will run. The scale is based on the flags passed to the constructor of this manager class.
animUpdate - the callback function that will be called for every passage of time.
Stop the animation on the given channel.
indexAnimation - the animation channel to stop.
Without changing any of the parameters of the animation, restart the animation. If the animation was running it will jump to the beginning and then progress from the start.
This provides an easy way to loop an animation if needed.
indexAnimation - the animation channel to restart.
Return true if the specified animation channel is running.
indexAnimation - the animation channel to check
Return the duration of the specified animation channel. The time is based on the flags passed to the constructor of this manager class. indexAnimation - the animation channel to retrieve from.
Called to allow the animations to progress in time. This must be called periodically in the Loop(). Best if called at least once every 10ms but can be called as fast as the loop() runs.
Pause all animations. This will freeze the animations in their current state.
Resume all animations. This will unfreeze the animations from where Pause() was called.
Return if the animations are paused. The Pause() method is called to pause and Resume() is called to resume.
Return the current time scale that was passed in at construction time. You can't modify the time scale once the animator is created.
This struct contains three properties that provide state information to the animation callback.
float progress - the progress from 0.0 to 1.0 of the animation to apply
uint16_t index - the channel index of the animation
AnimationState state - the animation state, which can be one of the following...
- AnimationState_Started - this is the first call to update, will only be set once unless the animation is restarted.
- AnimationState_Progress - this is one of the many calls between the first and last.
- AnimationState_Completed - this is the last call to update, will only be set once unless the animation is restarted