34 lines
935 B
C
34 lines
935 B
C
#ifndef FADER_H
|
|
#define FADER_H
|
|
|
|
#include <stdint.h>
|
|
|
|
struct sk6812_ctx;
|
|
|
|
struct fader_colour {
|
|
float red, green, blue, white; // value range is 0.0 to 255.0
|
|
};
|
|
|
|
struct fader_ctx {
|
|
uint32_t num_modules;
|
|
|
|
struct fader_colour *cur_colour;
|
|
struct fader_colour *target_colour;
|
|
|
|
struct sk6812_ctx *led_ctx;
|
|
|
|
uint8_t something_changed;
|
|
|
|
float fadestep;
|
|
};
|
|
|
|
int fader_init(struct fader_ctx *ctx, uint32_t nMod, struct sk6812_ctx *ledCtx);
|
|
void fader_shutdown(struct fader_ctx *ctx);
|
|
void fader_set_colour(struct fader_ctx *ctx, uint32_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w);
|
|
void fader_fade_colour(struct fader_ctx *ctx, uint32_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w);
|
|
void fader_add_colour(struct fader_ctx *ctx, uint32_t module, uint8_t r, uint8_t g, uint8_t b, uint8_t w);
|
|
void fader_set_fadestep(struct fader_ctx *ctx, uint8_t newFadestep);
|
|
void fader_update(struct fader_ctx *ctx);
|
|
|
|
#endif // FADER_H
|