Port to ESP32
This commit is contained in:
63
main/animation.h
Normal file
63
main/animation.h
Normal file
@ -0,0 +1,63 @@
|
||||
/**
|
||||
* @file animation.h
|
||||
* @brief LED animation patterns
|
||||
*/
|
||||
|
||||
#ifndef ANIMATION_H
|
||||
#define ANIMATION_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "esp_err.h"
|
||||
|
||||
/**
|
||||
* @brief Animation modes
|
||||
*/
|
||||
typedef enum {
|
||||
ANIM_BLACK = 0, // All off
|
||||
ANIM_RED = 1, // All red
|
||||
ANIM_BLUE = 2, // All blue
|
||||
ANIM_GREEN = 3, // All green
|
||||
ANIM_WHITE = 4, // All white
|
||||
ANIM_RAINBOW = 5, // FastLED rainbow
|
||||
ANIM_RAINBOW_GLITTER = 6, // Rainbow with glitter
|
||||
ANIM_CONFETTI = 7, // Random colored speckles
|
||||
ANIM_SINELON = 8, // Colored dot sweeping (RGB cycling)
|
||||
ANIM_BPM = 9, // Colored stripes @ 33 BPM
|
||||
ANIM_NAVIGATION = 10, // Navigation lights (red left, green right)
|
||||
ANIM_CHASE = 11, // Red dot sweeping
|
||||
ANIM_CHASE_RGB = 12, // RGB cycling dot sweeping
|
||||
ANIM_RANDOM = 13, // Random mode
|
||||
ANIM_MODE_COUNT
|
||||
} animation_mode_t;
|
||||
|
||||
/**
|
||||
* @brief Initialize animation system
|
||||
* @return ESP_OK on success
|
||||
*/
|
||||
esp_err_t animation_init(void);
|
||||
|
||||
/**
|
||||
* @brief Set current animation mode
|
||||
* @param mode Animation mode
|
||||
*/
|
||||
void animation_set_mode(animation_mode_t mode);
|
||||
|
||||
/**
|
||||
* @brief Get current animation mode
|
||||
* @return Current mode
|
||||
*/
|
||||
animation_mode_t animation_get_mode(void);
|
||||
|
||||
/**
|
||||
* @brief Update animation (call periodically, e.g., 30-60 FPS)
|
||||
*/
|
||||
void animation_update(void);
|
||||
|
||||
/**
|
||||
* @brief Get animation mode name
|
||||
* @param mode Animation mode
|
||||
* @return Mode name string
|
||||
*/
|
||||
const char* animation_get_mode_name(animation_mode_t mode);
|
||||
|
||||
#endif // ANIMATION_H
|
||||
Reference in New Issue
Block a user