Blynk example
Dependents: Blynk_Example_WIZwiki-W7500
Fork of Blynk by
Diff: WidgetBridge.h
- Revision:
- 9:7369ec77a3ea
- Parent:
- 7:8879692d4e6c
diff -r a34aa310ec48 -r 7369ec77a3ea WidgetBridge.h --- a/WidgetBridge.h Wed Oct 12 10:38:37 2016 +0300 +++ b/WidgetBridge.h Thu Jan 05 14:55:36 2017 +0200 @@ -11,15 +11,15 @@ #ifndef WidgetBridge_h #define WidgetBridge_h -#include <Blynk/BlynkApi.h> +#include <Blynk/BlynkWidgetBase.h> class WidgetBridge + : private BlynkWidgetBase { public: - WidgetBridge(int vPin) - : mPin(vPin) + WidgetBridge(uint8_t vPin) + : BlynkWidgetBase(vPin) {} - void onWrite(BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED ¶m) {} void setAuthToken(const char* token) { char mem[BLYNK_MAX_SENDBYTES]; @@ -52,53 +52,14 @@ 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) { + template <typename... Args> + void virtualWrite(int pin, Args... values) { 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); + cmd.add_multi(values...); Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); } @@ -115,8 +76,6 @@ virtualWriteBinary(pin, param.getBuffer(), param.getLength()-1); } -private: - int mPin; }; #endif