Blynk example
Dependents: Blynk_Example_WIZwiki-W7500
Fork of Blynk by
WidgetBridge.h
- Committer:
- Volodymyr Shymanskyy
- Date:
- 2016-10-12
- Revision:
- 7:8879692d4e6c
- Parent:
- 3:31e4b850b126
- Child:
- 9:7369ec77a3ea
File content as of revision 7:8879692d4e6c:
/** * @file WidgetBridge.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 WidgetBridge_h #define WidgetBridge_h #include <Blynk/BlynkApi.h> class WidgetBridge { public: WidgetBridge(int vPin) : mPin(vPin) {} void onWrite(BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED ¶m) {} void setAuthToken(const char* token) { char mem[BLYNK_MAX_SENDBYTES]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("i"); cmd.add(token); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } template <typename T> void digitalWrite(const T& pin, int val) { char mem[BLYNK_MAX_SENDBYTES]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("dw"); cmd.add(pin); cmd.add(val); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } template <typename T> void analogWrite(const T& pin, int val) { char mem[BLYNK_MAX_SENDBYTES]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("aw"); cmd.add(pin); cmd.add(val); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } template <typename T> void virtualWrite(int pin, const T& data) { char mem[BLYNK_MAX_SENDBYTES]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("vw"); cmd.add(pin); cmd.add(data); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } template <typename T1, typename T2> void virtualWrite(int pin, const T1& data1, const T2& data2) { char mem[BLYNK_MAX_SENDBYTES]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("vw"); cmd.add(pin); cmd.add(data1); cmd.add(data2); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } template <typename T1, typename T2, typename T3> void virtualWrite(int pin, const T1& data1, const T2& data2, const T3& data3) { char mem[BLYNK_MAX_SENDBYTES]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("vw"); cmd.add(pin); cmd.add(data1); cmd.add(data2); cmd.add(data3); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } template <typename T1, typename T2, typename T3, typename T4> void virtualWrite(int pin, const T1& data1, const T2& data2, const T3& data3, const T4& data4) { char mem[BLYNK_MAX_SENDBYTES]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("vw"); cmd.add(pin); cmd.add(data1); cmd.add(data2); cmd.add(data3); cmd.add(data4); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } void virtualWriteBinary(int pin, const void* buff, size_t len) { char mem[8]; BlynkParam cmd(mem, 0, sizeof(mem)); cmd.add(mPin); cmd.add("vw"); cmd.add(pin); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength(), buff, len); } void virtualWrite(int pin, const BlynkParam& param) { virtualWriteBinary(pin, param.getBuffer(), param.getLength()-1); } private: int mPin; }; #endif