Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Io_moon by
WidgetBridge.h
00001 /** 00002 * @file WidgetBridge.h 00003 * @author Volodymyr Shymanskyy 00004 * @license This project is released under the MIT License (MIT) 00005 * @copyright Copyright (c) 2015 Volodymyr Shymanskyy 00006 * @date Apr 2015 00007 * @brief 00008 * 00009 */ 00010 00011 #ifndef WidgetBridge_h 00012 #define WidgetBridge_h 00013 00014 #include <Blynk/BlynkApi.h> 00015 00016 class WidgetBridge 00017 { 00018 public: 00019 WidgetBridge(int vPin) 00020 : mPin(vPin) 00021 {} 00022 void onWrite(BlynkReq& request, const BlynkParam& param) {} 00023 00024 void setAuthToken(const char* token) { 00025 char mem[64]; 00026 BlynkParam cmd(mem, 0, sizeof(mem)); 00027 cmd.add(mPin); 00028 cmd.add("i"); 00029 cmd.add(token); 00030 Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); 00031 } 00032 00033 template <typename T> 00034 void digitalWrite(const T& pin, int val) { 00035 char mem[64]; 00036 BlynkParam cmd(mem, 0, sizeof(mem)); 00037 cmd.add(mPin); 00038 cmd.add("dw"); 00039 cmd.add(pin); 00040 cmd.add(val); 00041 Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); 00042 } 00043 00044 template <typename T> 00045 void analogWrite(const T& pin, int val) { 00046 char mem[64]; 00047 BlynkParam cmd(mem, 0, sizeof(mem)); 00048 cmd.add(mPin); 00049 cmd.add("aw"); 00050 cmd.add(pin); 00051 cmd.add(val); 00052 Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); 00053 } 00054 00055 template <typename T> 00056 void virtualWrite(int pin, const T& data) { 00057 char mem[64]; 00058 BlynkParam cmd(mem, 0, sizeof(mem)); 00059 cmd.add(mPin); 00060 cmd.add("vw"); 00061 cmd.add(pin); 00062 cmd.add(data); 00063 Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength()-1); 00064 } 00065 00066 template <typename T1, typename T2> 00067 void virtualWrite(int pin, const T1& data1, const T2& data2) { 00068 char mem[64]; 00069 BlynkParam cmd(mem, 0, sizeof(mem)); 00070 cmd.add(mPin); 00071 cmd.add("vw"); 00072 cmd.add(pin); 00073 cmd.add(data1); 00074 cmd.add(data2); 00075 Blynk.sendCmd(BLYNK_CMD_HARDWARE, 0, cmd.getBuffer(), cmd.getLength()-1); 00076 } 00077 00078 template <typename T1, typename T2, typename T3> 00079 void virtualWrite(int pin, const T1& data1, const T2& data2, const T3& data3) { 00080 char mem[64]; 00081 BlynkParam cmd(mem, 0, sizeof(mem)); 00082 cmd.add(mPin); 00083 cmd.add("vw"); 00084 cmd.add(pin); 00085 cmd.add(data1); 00086 cmd.add(data2); 00087 cmd.add(data3); 00088 Blynk.sendCmd(BLYNK_CMD_HARDWARE, 0, cmd.getBuffer(), cmd.getLength()-1); 00089 } 00090 00091 template <typename T1, typename T2, typename T3, typename T4> 00092 void virtualWrite(int pin, const T1& data1, const T2& data2, const T3& data3, const T4& data4) { 00093 char mem[64]; 00094 BlynkParam cmd(mem, 0, sizeof(mem)); 00095 cmd.add(mPin); 00096 cmd.add("vw"); 00097 cmd.add(pin); 00098 cmd.add(data1); 00099 cmd.add(data2); 00100 cmd.add(data3); 00101 cmd.add(data4); 00102 Blynk.sendCmd(BLYNK_CMD_HARDWARE, 0, cmd.getBuffer(), cmd.getLength()-1); 00103 } 00104 00105 void virtualWriteBinary(int pin, const void* buff, size_t len) { 00106 char mem[8]; 00107 BlynkParam cmd(mem, 0, sizeof(mem)); 00108 cmd.add(mPin); 00109 cmd.add("vw"); 00110 cmd.add(pin); 00111 Blynk.sendCmd(BLYNK_CMD_BRIDGE, 0, cmd.getBuffer(), cmd.getLength(), buff, len); 00112 } 00113 00114 void virtualWrite(int pin, const BlynkParam& param) { 00115 virtualWriteBinary(pin, param.getBuffer(), param.getLength()-1); 00116 } 00117 00118 private: 00119 int mPin; 00120 }; 00121 00122 #endif 00123
Generated on Tue Jul 19 2022 01:01:49 by
1.7.2
