Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc. http://www.blynk.cc/

Dependents:   Blynk_RBL_BLE_Nano Blynk_MicroBit Blynk_Serial Blynk_RBL_BLE_Nano

Committer:
vshymanskyy
Date:
Sat May 07 08:02:50 2016 +0000
Revision:
0:58b20b438383
Child:
7:8879692d4e6c
First commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vshymanskyy 0:58b20b438383 1 /**
vshymanskyy 0:58b20b438383 2 * @file WidgetLED.h
vshymanskyy 0:58b20b438383 3 * @author Volodymyr Shymanskyy
vshymanskyy 0:58b20b438383 4 * @license This project is released under the MIT License (MIT)
vshymanskyy 0:58b20b438383 5 * @copyright Copyright (c) 2015 Volodymyr Shymanskyy
vshymanskyy 0:58b20b438383 6 * @date Apr 2015
vshymanskyy 0:58b20b438383 7 * @brief
vshymanskyy 0:58b20b438383 8 */
vshymanskyy 0:58b20b438383 9
vshymanskyy 0:58b20b438383 10 #ifndef WidgetLED_h
vshymanskyy 0:58b20b438383 11 #define WidgetLED_h
vshymanskyy 0:58b20b438383 12
vshymanskyy 0:58b20b438383 13 #include <Blynk/BlynkApi.h>
vshymanskyy 0:58b20b438383 14
vshymanskyy 0:58b20b438383 15 class WidgetLED
vshymanskyy 0:58b20b438383 16 {
vshymanskyy 0:58b20b438383 17 public:
vshymanskyy 0:58b20b438383 18 WidgetLED(uint8_t pin) : mPin(pin) {}
vshymanskyy 0:58b20b438383 19 void setVPin(int vPin) { mPin = vPin; }
vshymanskyy 0:58b20b438383 20
vshymanskyy 0:58b20b438383 21 #ifdef BLYNK_EXPERIMENTAL
vshymanskyy 0:58b20b438383 22
vshymanskyy 0:58b20b438383 23 void setRGB(uint8_t r, uint8_t g, uint8_t b) {
vshymanskyy 0:58b20b438383 24 char mem[64] = "";
vshymanskyy 0:58b20b438383 25 BlynkParam cmd(mem, 0, sizeof(mem));
vshymanskyy 0:58b20b438383 26 cmd.add("rgb");
vshymanskyy 0:58b20b438383 27 cmd.add(r);
vshymanskyy 0:58b20b438383 28 cmd.add(g);
vshymanskyy 0:58b20b438383 29 cmd.add(b);
vshymanskyy 0:58b20b438383 30 Blynk.virtualWrite(mPin, cmd);
vshymanskyy 0:58b20b438383 31 }
vshymanskyy 0:58b20b438383 32
vshymanskyy 0:58b20b438383 33 void setHSV(uint8_t h, uint8_t s, uint8_t v) {
vshymanskyy 0:58b20b438383 34 char mem[64] = "";
vshymanskyy 0:58b20b438383 35 BlynkParam cmd(mem, 0, sizeof(mem));
vshymanskyy 0:58b20b438383 36 cmd.add("hsv");
vshymanskyy 0:58b20b438383 37 cmd.add(h);
vshymanskyy 0:58b20b438383 38 cmd.add(s);
vshymanskyy 0:58b20b438383 39 cmd.add(v);
vshymanskyy 0:58b20b438383 40 Blynk.virtualWrite(mPin, cmd);
vshymanskyy 0:58b20b438383 41 }
vshymanskyy 0:58b20b438383 42
vshymanskyy 0:58b20b438383 43 #endif
vshymanskyy 0:58b20b438383 44
vshymanskyy 0:58b20b438383 45 uint8_t getValue() const {
vshymanskyy 0:58b20b438383 46 return mValue;
vshymanskyy 0:58b20b438383 47 }
vshymanskyy 0:58b20b438383 48
vshymanskyy 0:58b20b438383 49 void setValue(uint8_t value) {
vshymanskyy 0:58b20b438383 50 mValue = value;
vshymanskyy 0:58b20b438383 51 Blynk.virtualWrite(mPin, value);
vshymanskyy 0:58b20b438383 52 }
vshymanskyy 0:58b20b438383 53
vshymanskyy 0:58b20b438383 54 void on() {
vshymanskyy 0:58b20b438383 55 setValue(255);
vshymanskyy 0:58b20b438383 56 }
vshymanskyy 0:58b20b438383 57
vshymanskyy 0:58b20b438383 58 void off() {
vshymanskyy 0:58b20b438383 59 setValue(0);
vshymanskyy 0:58b20b438383 60 }
vshymanskyy 0:58b20b438383 61
vshymanskyy 0:58b20b438383 62 private:
vshymanskyy 0:58b20b438383 63 uint8_t mPin;
vshymanskyy 0:58b20b438383 64 uint8_t mValue;
vshymanskyy 0:58b20b438383 65 };
vshymanskyy 0:58b20b438383 66
vshymanskyy 0:58b20b438383 67 #endif