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
BlynkHandlers.h
00001 /** 00002 * @file BlynkHandlers.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 Jan 2015 00007 * @brief Handlers for virtual pin operations 00008 * 00009 */ 00010 00011 #ifndef BlynkHandlers_h 00012 #define BlynkHandlers_h 00013 00014 #include <Blynk/BlynkConfig.h> 00015 #include <Blynk/BlynkParam.h> 00016 00017 // Helper macro 00018 00019 #define V0 0 00020 #define V1 1 00021 #define V2 2 00022 #define V3 3 00023 #define V4 4 00024 #define V5 5 00025 #define V6 6 00026 #define V7 7 00027 #define V8 8 00028 #define V9 9 00029 #define V10 10 00030 #define V11 11 00031 #define V12 12 00032 #define V13 13 00033 #define V14 14 00034 #define V15 15 00035 #define V16 16 00036 #define V17 17 00037 #define V18 18 00038 #define V19 19 00039 #define V20 20 00040 #define V21 21 00041 #define V22 22 00042 #define V23 23 00043 #define V24 24 00044 #define V25 25 00045 #define V26 26 00046 #define V27 27 00047 #define V28 28 00048 #define V29 29 00049 #define V30 30 00050 #define V31 31 00051 #ifdef BLYNK_USE_128_VPINS 00052 #define V32 32 00053 #define V33 33 00054 #define V34 34 00055 #define V35 35 00056 #define V36 36 00057 #define V37 37 00058 #define V38 38 00059 #define V39 39 00060 #define V40 40 00061 #define V41 41 00062 #define V42 42 00063 #define V43 43 00064 #define V44 44 00065 #define V45 45 00066 #define V46 46 00067 #define V47 47 00068 #define V48 48 00069 #define V49 49 00070 #define V50 50 00071 #define V51 51 00072 #define V52 52 00073 #define V53 53 00074 #define V54 54 00075 #define V55 55 00076 #define V56 56 00077 #define V57 57 00078 #define V58 58 00079 #define V59 59 00080 #define V60 60 00081 #define V61 61 00082 #define V62 62 00083 #define V63 63 00084 #define V64 64 00085 #define V65 65 00086 #define V66 66 00087 #define V67 67 00088 #define V68 68 00089 #define V69 69 00090 #define V70 70 00091 #define V71 71 00092 #define V72 72 00093 #define V73 73 00094 #define V74 74 00095 #define V75 75 00096 #define V76 76 00097 #define V77 77 00098 #define V78 78 00099 #define V79 79 00100 #define V80 80 00101 #define V81 81 00102 #define V82 82 00103 #define V83 83 00104 #define V84 84 00105 #define V85 85 00106 #define V86 86 00107 #define V87 87 00108 #define V88 88 00109 #define V89 89 00110 #define V90 90 00111 #define V91 91 00112 #define V92 92 00113 #define V93 93 00114 #define V94 94 00115 #define V95 95 00116 #define V96 96 00117 #define V97 97 00118 #define V98 98 00119 #define V99 99 00120 #define V100 100 00121 #define V101 101 00122 #define V102 102 00123 #define V103 103 00124 #define V104 104 00125 #define V105 105 00126 #define V106 106 00127 #define V107 107 00128 #define V108 108 00129 #define V109 109 00130 #define V110 110 00131 #define V111 111 00132 #define V112 112 00133 #define V113 113 00134 #define V114 114 00135 #define V115 115 00136 #define V116 116 00137 #define V117 117 00138 #define V118 118 00139 #define V119 119 00140 #define V120 120 00141 #define V121 121 00142 #define V122 122 00143 #define V123 123 00144 #define V124 124 00145 #define V125 125 00146 #define V126 126 00147 #define V127 127 00148 #endif 00149 00150 // Initial syntax: 00151 #define BLYNK_WRITE_2(pin) \ 00152 void BlynkWidgetWrite ## pin (BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED ¶m) 00153 00154 #define BLYNK_READ_2(pin) \ 00155 void BlynkWidgetRead ## pin (BlynkReq BLYNK_UNUSED &request) 00156 00157 #define BLYNK_WRITE_DEFAULT() BLYNK_WRITE_2(Default) 00158 #define BLYNK_READ_DEFAULT() BLYNK_READ_2(Default) 00159 00160 #define BLYNK_WRITE(pin) BLYNK_WRITE_2(pin) 00161 #define BLYNK_READ(pin) BLYNK_READ_2(pin) 00162 00163 // New, more readable syntax: 00164 #define BLYNK_IN_2(pin) \ 00165 void BlynkWidgetWrite ## pin (BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED &getValue) 00166 00167 #define BLYNK_OUT_2(pin) \ 00168 void BlynkWidgetRead ## pin (BlynkReq BLYNK_UNUSED &request) 00169 00170 #define BLYNK_INPUT_DEFAULT() BLYNK_IN_2(Default) 00171 #define BLYNK_OUTPUT_DEFAULT() BLYNK_OUT_2(Default) 00172 00173 #define BLYNK_INPUT(pin) BLYNK_IN_2(pin) 00174 #define BLYNK_OUTPUT(pin) BLYNK_OUT_2(pin) 00175 00176 // Additional handlers 00177 #define BLYNK_CONNECTED() void BlynkOnConnected() 00178 #define BLYNK_DISCONNECTED() void BlynkOnDisconnected() 00179 00180 // Advanced functions 00181 00182 #define BLYNK_VAR_INT(name, pin) \ 00183 int name; \ 00184 BLYNK_WRITE(pin) { name = param.asInt(); } \ 00185 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); } 00186 00187 #define BLYNK_VAR_LONG(name, pin) \ 00188 long name; \ 00189 BLYNK_WRITE(pin) { name = param.asLong(); } \ 00190 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); } 00191 00192 #ifndef BLYNK_NO_FLOAT 00193 #define BLYNK_VAR_DOUBLE(name, pin) \ 00194 double name; \ 00195 BLYNK_WRITE(pin) { name = param.asDouble(); } \ 00196 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); } 00197 #endif 00198 00199 #ifdef ARDUINO 00200 #define BLYNK_VAR_STRING(name, pin) \ 00201 String name; \ 00202 BLYNK_WRITE(pin) { name = param.asStr(); } \ 00203 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); } 00204 #endif 00205 00206 // Default read/write handlers (you can redefine them in your code) 00207 #ifdef __cplusplus 00208 extern "C" { 00209 #endif 00210 00211 struct BlynkReq 00212 { 00213 uint8_t pin; 00214 }; 00215 00216 typedef void (*WidgetReadHandler)(BlynkReq BLYNK_UNUSED &request); 00217 typedef void (*WidgetWriteHandler)(BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED ¶m); 00218 00219 WidgetReadHandler GetReadHandler(uint8_t pin); 00220 WidgetWriteHandler GetWriteHandler(uint8_t pin); 00221 00222 // Declare placeholders 00223 BLYNK_READ(); 00224 BLYNK_WRITE(); 00225 void BlynkNoOpCbk(); 00226 00227 // Declare all pin handlers (you can redefine them in your code) 00228 BLYNK_CONNECTED(); 00229 BLYNK_DISCONNECTED(); 00230 00231 // Internal Virtual Pins 00232 BLYNK_WRITE(InternalPinACON); 00233 BLYNK_WRITE(InternalPinADIS); 00234 BLYNK_WRITE(InternalPinRTC); 00235 BLYNK_WRITE(InternalPinOTA); 00236 00237 // Aliases 00238 #define BLYNK_APP_CONNECTED() BLYNK_WRITE(InternalPinACON) 00239 #define BLYNK_APP_DISCONNECTED() BLYNK_WRITE(InternalPinADIS) 00240 00241 // Regular Virtual Pins 00242 BLYNK_READ_DEFAULT(); 00243 BLYNK_WRITE_DEFAULT(); 00244 00245 BLYNK_READ(0 ); 00246 BLYNK_READ(1 ); 00247 BLYNK_READ(2 ); 00248 BLYNK_READ(3 ); 00249 BLYNK_READ(4 ); 00250 BLYNK_READ(5 ); 00251 BLYNK_READ(6 ); 00252 BLYNK_READ(7 ); 00253 BLYNK_READ(8 ); 00254 BLYNK_READ(9 ); 00255 BLYNK_READ(10); 00256 BLYNK_READ(11); 00257 BLYNK_READ(12); 00258 BLYNK_READ(13); 00259 BLYNK_READ(14); 00260 BLYNK_READ(15); 00261 BLYNK_READ(16); 00262 BLYNK_READ(17); 00263 BLYNK_READ(18); 00264 BLYNK_READ(19); 00265 BLYNK_READ(20); 00266 BLYNK_READ(21); 00267 BLYNK_READ(22); 00268 BLYNK_READ(23); 00269 BLYNK_READ(24); 00270 BLYNK_READ(25); 00271 BLYNK_READ(26); 00272 BLYNK_READ(27); 00273 BLYNK_READ(28); 00274 BLYNK_READ(29); 00275 BLYNK_READ(30); 00276 BLYNK_READ(31); 00277 #ifdef BLYNK_USE_128_VPINS 00278 BLYNK_READ(32); 00279 BLYNK_READ(33); 00280 BLYNK_READ(34); 00281 BLYNK_READ(35); 00282 BLYNK_READ(36); 00283 BLYNK_READ(37); 00284 BLYNK_READ(38); 00285 BLYNK_READ(39); 00286 BLYNK_READ(40); 00287 BLYNK_READ(41); 00288 BLYNK_READ(42); 00289 BLYNK_READ(43); 00290 BLYNK_READ(44); 00291 BLYNK_READ(45); 00292 BLYNK_READ(46); 00293 BLYNK_READ(47); 00294 BLYNK_READ(48); 00295 BLYNK_READ(49); 00296 BLYNK_READ(50); 00297 BLYNK_READ(51); 00298 BLYNK_READ(52); 00299 BLYNK_READ(53); 00300 BLYNK_READ(54); 00301 BLYNK_READ(55); 00302 BLYNK_READ(56); 00303 BLYNK_READ(57); 00304 BLYNK_READ(58); 00305 BLYNK_READ(59); 00306 BLYNK_READ(60); 00307 BLYNK_READ(61); 00308 BLYNK_READ(62); 00309 BLYNK_READ(63); 00310 BLYNK_READ(64); 00311 BLYNK_READ(65); 00312 BLYNK_READ(66); 00313 BLYNK_READ(67); 00314 BLYNK_READ(68); 00315 BLYNK_READ(69); 00316 BLYNK_READ(70); 00317 BLYNK_READ(71); 00318 BLYNK_READ(72); 00319 BLYNK_READ(73); 00320 BLYNK_READ(74); 00321 BLYNK_READ(75); 00322 BLYNK_READ(76); 00323 BLYNK_READ(77); 00324 BLYNK_READ(78); 00325 BLYNK_READ(79); 00326 BLYNK_READ(80); 00327 BLYNK_READ(81); 00328 BLYNK_READ(82); 00329 BLYNK_READ(83); 00330 BLYNK_READ(84); 00331 BLYNK_READ(85); 00332 BLYNK_READ(86); 00333 BLYNK_READ(87); 00334 BLYNK_READ(88); 00335 BLYNK_READ(89); 00336 BLYNK_READ(90); 00337 BLYNK_READ(91); 00338 BLYNK_READ(92); 00339 BLYNK_READ(93); 00340 BLYNK_READ(94); 00341 BLYNK_READ(95); 00342 BLYNK_READ(96); 00343 BLYNK_READ(97); 00344 BLYNK_READ(98); 00345 BLYNK_READ(99); 00346 BLYNK_READ(100); 00347 BLYNK_READ(101); 00348 BLYNK_READ(102); 00349 BLYNK_READ(103); 00350 BLYNK_READ(104); 00351 BLYNK_READ(105); 00352 BLYNK_READ(106); 00353 BLYNK_READ(107); 00354 BLYNK_READ(108); 00355 BLYNK_READ(109); 00356 BLYNK_READ(110); 00357 BLYNK_READ(111); 00358 BLYNK_READ(112); 00359 BLYNK_READ(113); 00360 BLYNK_READ(114); 00361 BLYNK_READ(115); 00362 BLYNK_READ(116); 00363 BLYNK_READ(117); 00364 BLYNK_READ(118); 00365 BLYNK_READ(119); 00366 BLYNK_READ(120); 00367 BLYNK_READ(121); 00368 BLYNK_READ(122); 00369 BLYNK_READ(123); 00370 BLYNK_READ(124); 00371 BLYNK_READ(125); 00372 BLYNK_READ(126); 00373 BLYNK_READ(127); 00374 #endif 00375 00376 BLYNK_WRITE(0 ); 00377 BLYNK_WRITE(1 ); 00378 BLYNK_WRITE(2 ); 00379 BLYNK_WRITE(3 ); 00380 BLYNK_WRITE(4 ); 00381 BLYNK_WRITE(5 ); 00382 BLYNK_WRITE(6 ); 00383 BLYNK_WRITE(7 ); 00384 BLYNK_WRITE(8 ); 00385 BLYNK_WRITE(9 ); 00386 BLYNK_WRITE(10); 00387 BLYNK_WRITE(11); 00388 BLYNK_WRITE(12); 00389 BLYNK_WRITE(13); 00390 BLYNK_WRITE(14); 00391 BLYNK_WRITE(15); 00392 BLYNK_WRITE(16); 00393 BLYNK_WRITE(17); 00394 BLYNK_WRITE(18); 00395 BLYNK_WRITE(19); 00396 BLYNK_WRITE(20); 00397 BLYNK_WRITE(21); 00398 BLYNK_WRITE(22); 00399 BLYNK_WRITE(23); 00400 BLYNK_WRITE(24); 00401 BLYNK_WRITE(25); 00402 BLYNK_WRITE(26); 00403 BLYNK_WRITE(27); 00404 BLYNK_WRITE(28); 00405 BLYNK_WRITE(29); 00406 BLYNK_WRITE(30); 00407 BLYNK_WRITE(31); 00408 #ifdef BLYNK_USE_128_VPINS 00409 BLYNK_WRITE(32); 00410 BLYNK_WRITE(33); 00411 BLYNK_WRITE(34); 00412 BLYNK_WRITE(35); 00413 BLYNK_WRITE(36); 00414 BLYNK_WRITE(37); 00415 BLYNK_WRITE(38); 00416 BLYNK_WRITE(39); 00417 BLYNK_WRITE(40); 00418 BLYNK_WRITE(41); 00419 BLYNK_WRITE(42); 00420 BLYNK_WRITE(43); 00421 BLYNK_WRITE(44); 00422 BLYNK_WRITE(45); 00423 BLYNK_WRITE(46); 00424 BLYNK_WRITE(47); 00425 BLYNK_WRITE(48); 00426 BLYNK_WRITE(49); 00427 BLYNK_WRITE(50); 00428 BLYNK_WRITE(51); 00429 BLYNK_WRITE(52); 00430 BLYNK_WRITE(53); 00431 BLYNK_WRITE(54); 00432 BLYNK_WRITE(55); 00433 BLYNK_WRITE(56); 00434 BLYNK_WRITE(57); 00435 BLYNK_WRITE(58); 00436 BLYNK_WRITE(59); 00437 BLYNK_WRITE(60); 00438 BLYNK_WRITE(61); 00439 BLYNK_WRITE(62); 00440 BLYNK_WRITE(63); 00441 BLYNK_WRITE(64); 00442 BLYNK_WRITE(65); 00443 BLYNK_WRITE(66); 00444 BLYNK_WRITE(67); 00445 BLYNK_WRITE(68); 00446 BLYNK_WRITE(69); 00447 BLYNK_WRITE(70); 00448 BLYNK_WRITE(71); 00449 BLYNK_WRITE(72); 00450 BLYNK_WRITE(73); 00451 BLYNK_WRITE(74); 00452 BLYNK_WRITE(75); 00453 BLYNK_WRITE(76); 00454 BLYNK_WRITE(77); 00455 BLYNK_WRITE(78); 00456 BLYNK_WRITE(79); 00457 BLYNK_WRITE(80); 00458 BLYNK_WRITE(81); 00459 BLYNK_WRITE(82); 00460 BLYNK_WRITE(83); 00461 BLYNK_WRITE(84); 00462 BLYNK_WRITE(85); 00463 BLYNK_WRITE(86); 00464 BLYNK_WRITE(87); 00465 BLYNK_WRITE(88); 00466 BLYNK_WRITE(89); 00467 BLYNK_WRITE(90); 00468 BLYNK_WRITE(91); 00469 BLYNK_WRITE(92); 00470 BLYNK_WRITE(93); 00471 BLYNK_WRITE(94); 00472 BLYNK_WRITE(95); 00473 BLYNK_WRITE(96); 00474 BLYNK_WRITE(97); 00475 BLYNK_WRITE(98); 00476 BLYNK_WRITE(99); 00477 BLYNK_WRITE(100); 00478 BLYNK_WRITE(101); 00479 BLYNK_WRITE(102); 00480 BLYNK_WRITE(103); 00481 BLYNK_WRITE(104); 00482 BLYNK_WRITE(105); 00483 BLYNK_WRITE(106); 00484 BLYNK_WRITE(107); 00485 BLYNK_WRITE(108); 00486 BLYNK_WRITE(109); 00487 BLYNK_WRITE(110); 00488 BLYNK_WRITE(111); 00489 BLYNK_WRITE(112); 00490 BLYNK_WRITE(113); 00491 BLYNK_WRITE(114); 00492 BLYNK_WRITE(115); 00493 BLYNK_WRITE(116); 00494 BLYNK_WRITE(117); 00495 BLYNK_WRITE(118); 00496 BLYNK_WRITE(119); 00497 BLYNK_WRITE(120); 00498 BLYNK_WRITE(121); 00499 BLYNK_WRITE(122); 00500 BLYNK_WRITE(123); 00501 BLYNK_WRITE(124); 00502 BLYNK_WRITE(125); 00503 BLYNK_WRITE(126); 00504 BLYNK_WRITE(127); 00505 #endif 00506 00507 #ifdef __cplusplus 00508 } 00509 #endif 00510 00511 #endif
Generated on Tue Jul 12 2022 15:11:12 by 1.7.2