forked from blynkkk/blynk-library
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathWidgetLED.h
67 lines (54 loc) · 1.23 KB
/
WidgetLED.h
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/**
* @file WidgetLED.h
* @author Volodymyr Shymanskyy
* @license This project is released under the MIT License (MIT)
* @copyright Copyright (c) 2015 Volodymyr Shymanskyy
* @date Apr 2015
* @brief
*/
#ifndef WidgetLED_h
#define WidgetLED_h
#include <Blynk/BlynkApi.h>
class WidgetLED
{
public:
WidgetLED(uint8_t pin) : mPin(pin) {}
void setVPin(int vPin) { mPin = vPin; }
#ifdef BLYNK_EXPERIMENTAL
void setRGB(uint8_t r, uint8_t g, uint8_t b) {
char mem[64] = "";
BlynkParam cmd(mem, 0, sizeof(mem));
cmd.add("rgb");
cmd.add(r);
cmd.add(g);
cmd.add(b);
Blynk.virtualWrite(mPin, cmd);
}
void setHSV(uint8_t h, uint8_t s, uint8_t v) {
char mem[64] = "";
BlynkParam cmd(mem, 0, sizeof(mem));
cmd.add("hsv");
cmd.add(h);
cmd.add(s);
cmd.add(v);
Blynk.virtualWrite(mPin, cmd);
}
#endif
uint8_t getValue() const {
return mValue;
}
void setValue(uint8_t value) {
mValue = value;
Blynk.virtualWrite(mPin, value);
}
void on() {
setValue(255);
}
void off() {
setValue(0);
}
private:
uint8_t mPin;
uint8_t mValue;
};
#endif