summaryrefslogtreecommitdiff
path: root/lib/rgb/rgb.h
blob: fa1cbd89dfba29aabf2828716fefa87bcd3a6485 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include "settings.h"
#include <Arduino.h>

class RGB
{
public:
    uint8_t currentR;
    uint8_t currentG;
    uint8_t currentB;
    uint8_t brightness; 

    RGB();
    void init();
    void setBrightness(uint8_t br); 
    void setColorRGB(uint8_t red, uint8_t green, uint8_t blue, bool saveColor = true);
    void fadeColor(uint8_t red, uint8_t green, uint8_t blue, int duration);
    void blink(int cycles, int interval);
    void breathe(int cycles, int period);
    void rainbowCycle(int duration, float speed);

private:
    int scaleColor(uint8_t val);
};