* AM2321的取温度间隔得大于2s,否则,i2c会不工作了 * SimpleTimer有个bug,会导致两次快速的读温度,现在读温度函数里加了保护 * Blynk有个bug,会导致无法把数据传到服务器 * 现在可以正常工作了
BlynkHandlers.cpp
00001 /** 00002 * @file BlynkHandlers.cpp 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 Virtual pin utilities 00008 */ 00009 00010 #include <Blynk/BlynkConfig.h> 00011 #include <Blynk/BlynkHandlers.h> 00012 #include <Blynk/BlynkDebug.h> 00013 00014 void BlynkNoOpCbk() 00015 {} 00016 00017 void BlynkWidgetRead(BlynkReq& request) 00018 { 00019 BLYNK_LOG2(BLYNK_F("No handler for reading from pin "), request.pin); 00020 } 00021 00022 void BlynkWidgetWrite(BlynkReq& request, const BlynkParam& param) 00023 { 00024 BLYNK_LOG2(BLYNK_F("No handler for writing to pin "), request.pin); 00025 } 00026 00027 #define BLYNK_ON_READ_IMPL(pin) void BlynkWidgetRead ## pin (BlynkReq& req) \ 00028 __attribute__((weak, alias("BlynkWidgetRead"))) 00029 00030 #define BLYNK_ON_WRITE_IMPL(pin) void BlynkWidgetWrite ## pin (BlynkReq& req, const BlynkParam& param) \ 00031 __attribute__((weak, alias("BlynkWidgetWrite"))) 00032 00033 BLYNK_CONNECTED() __attribute__((weak, alias("BlynkNoOpCbk"))); 00034 BLYNK_DISCONNECTED() __attribute__((weak, alias("BlynkNoOpCbk"))); 00035 00036 BLYNK_ON_READ_IMPL(Default); 00037 BLYNK_ON_WRITE_IMPL(Default); 00038 00039 BLYNK_ON_READ_IMPL(0 ); 00040 BLYNK_ON_READ_IMPL(1 ); 00041 BLYNK_ON_READ_IMPL(2 ); 00042 BLYNK_ON_READ_IMPL(3 ); 00043 BLYNK_ON_READ_IMPL(4 ); 00044 BLYNK_ON_READ_IMPL(5 ); 00045 BLYNK_ON_READ_IMPL(6 ); 00046 BLYNK_ON_READ_IMPL(7 ); 00047 BLYNK_ON_READ_IMPL(8 ); 00048 BLYNK_ON_READ_IMPL(9 ); 00049 BLYNK_ON_READ_IMPL(10); 00050 BLYNK_ON_READ_IMPL(11); 00051 BLYNK_ON_READ_IMPL(12); 00052 BLYNK_ON_READ_IMPL(13); 00053 BLYNK_ON_READ_IMPL(14); 00054 BLYNK_ON_READ_IMPL(15); 00055 BLYNK_ON_READ_IMPL(16); 00056 BLYNK_ON_READ_IMPL(17); 00057 BLYNK_ON_READ_IMPL(18); 00058 BLYNK_ON_READ_IMPL(19); 00059 BLYNK_ON_READ_IMPL(20); 00060 BLYNK_ON_READ_IMPL(21); 00061 BLYNK_ON_READ_IMPL(22); 00062 BLYNK_ON_READ_IMPL(23); 00063 BLYNK_ON_READ_IMPL(24); 00064 BLYNK_ON_READ_IMPL(25); 00065 BLYNK_ON_READ_IMPL(26); 00066 BLYNK_ON_READ_IMPL(27); 00067 BLYNK_ON_READ_IMPL(28); 00068 BLYNK_ON_READ_IMPL(29); 00069 BLYNK_ON_READ_IMPL(30); 00070 BLYNK_ON_READ_IMPL(31); 00071 #ifdef BLYNK_USE_128_VPINS 00072 BLYNK_ON_READ_IMPL(32); 00073 BLYNK_ON_READ_IMPL(33); 00074 BLYNK_ON_READ_IMPL(34); 00075 BLYNK_ON_READ_IMPL(35); 00076 BLYNK_ON_READ_IMPL(36); 00077 BLYNK_ON_READ_IMPL(37); 00078 BLYNK_ON_READ_IMPL(38); 00079 BLYNK_ON_READ_IMPL(39); 00080 BLYNK_ON_READ_IMPL(40); 00081 BLYNK_ON_READ_IMPL(41); 00082 BLYNK_ON_READ_IMPL(42); 00083 BLYNK_ON_READ_IMPL(43); 00084 BLYNK_ON_READ_IMPL(44); 00085 BLYNK_ON_READ_IMPL(45); 00086 BLYNK_ON_READ_IMPL(46); 00087 BLYNK_ON_READ_IMPL(47); 00088 BLYNK_ON_READ_IMPL(48); 00089 BLYNK_ON_READ_IMPL(49); 00090 BLYNK_ON_READ_IMPL(50); 00091 BLYNK_ON_READ_IMPL(51); 00092 BLYNK_ON_READ_IMPL(52); 00093 BLYNK_ON_READ_IMPL(53); 00094 BLYNK_ON_READ_IMPL(54); 00095 BLYNK_ON_READ_IMPL(55); 00096 BLYNK_ON_READ_IMPL(56); 00097 BLYNK_ON_READ_IMPL(57); 00098 BLYNK_ON_READ_IMPL(58); 00099 BLYNK_ON_READ_IMPL(59); 00100 BLYNK_ON_READ_IMPL(60); 00101 BLYNK_ON_READ_IMPL(61); 00102 BLYNK_ON_READ_IMPL(62); 00103 BLYNK_ON_READ_IMPL(63); 00104 BLYNK_ON_READ_IMPL(64); 00105 BLYNK_ON_READ_IMPL(65); 00106 BLYNK_ON_READ_IMPL(66); 00107 BLYNK_ON_READ_IMPL(67); 00108 BLYNK_ON_READ_IMPL(68); 00109 BLYNK_ON_READ_IMPL(69); 00110 BLYNK_ON_READ_IMPL(70); 00111 BLYNK_ON_READ_IMPL(71); 00112 BLYNK_ON_READ_IMPL(72); 00113 BLYNK_ON_READ_IMPL(73); 00114 BLYNK_ON_READ_IMPL(74); 00115 BLYNK_ON_READ_IMPL(75); 00116 BLYNK_ON_READ_IMPL(76); 00117 BLYNK_ON_READ_IMPL(77); 00118 BLYNK_ON_READ_IMPL(78); 00119 BLYNK_ON_READ_IMPL(79); 00120 BLYNK_ON_READ_IMPL(80); 00121 BLYNK_ON_READ_IMPL(81); 00122 BLYNK_ON_READ_IMPL(82); 00123 BLYNK_ON_READ_IMPL(83); 00124 BLYNK_ON_READ_IMPL(84); 00125 BLYNK_ON_READ_IMPL(85); 00126 BLYNK_ON_READ_IMPL(86); 00127 BLYNK_ON_READ_IMPL(87); 00128 BLYNK_ON_READ_IMPL(88); 00129 BLYNK_ON_READ_IMPL(89); 00130 BLYNK_ON_READ_IMPL(90); 00131 BLYNK_ON_READ_IMPL(91); 00132 BLYNK_ON_READ_IMPL(92); 00133 BLYNK_ON_READ_IMPL(93); 00134 BLYNK_ON_READ_IMPL(94); 00135 BLYNK_ON_READ_IMPL(95); 00136 BLYNK_ON_READ_IMPL(96); 00137 BLYNK_ON_READ_IMPL(97); 00138 BLYNK_ON_READ_IMPL(98); 00139 BLYNK_ON_READ_IMPL(99); 00140 BLYNK_ON_READ_IMPL(100); 00141 BLYNK_ON_READ_IMPL(101); 00142 BLYNK_ON_READ_IMPL(102); 00143 BLYNK_ON_READ_IMPL(103); 00144 BLYNK_ON_READ_IMPL(104); 00145 BLYNK_ON_READ_IMPL(105); 00146 BLYNK_ON_READ_IMPL(106); 00147 BLYNK_ON_READ_IMPL(107); 00148 BLYNK_ON_READ_IMPL(108); 00149 BLYNK_ON_READ_IMPL(109); 00150 BLYNK_ON_READ_IMPL(110); 00151 BLYNK_ON_READ_IMPL(111); 00152 BLYNK_ON_READ_IMPL(112); 00153 BLYNK_ON_READ_IMPL(113); 00154 BLYNK_ON_READ_IMPL(114); 00155 BLYNK_ON_READ_IMPL(115); 00156 BLYNK_ON_READ_IMPL(116); 00157 BLYNK_ON_READ_IMPL(117); 00158 BLYNK_ON_READ_IMPL(118); 00159 BLYNK_ON_READ_IMPL(119); 00160 BLYNK_ON_READ_IMPL(120); 00161 BLYNK_ON_READ_IMPL(121); 00162 BLYNK_ON_READ_IMPL(122); 00163 BLYNK_ON_READ_IMPL(123); 00164 BLYNK_ON_READ_IMPL(124); 00165 BLYNK_ON_READ_IMPL(125); 00166 BLYNK_ON_READ_IMPL(126); 00167 BLYNK_ON_READ_IMPL(127); 00168 #endif 00169 00170 BLYNK_ON_WRITE_IMPL(0 ); 00171 BLYNK_ON_WRITE_IMPL(1 ); 00172 BLYNK_ON_WRITE_IMPL(2 ); 00173 BLYNK_ON_WRITE_IMPL(3 ); 00174 BLYNK_ON_WRITE_IMPL(4 ); 00175 BLYNK_ON_WRITE_IMPL(5 ); 00176 BLYNK_ON_WRITE_IMPL(6 ); 00177 BLYNK_ON_WRITE_IMPL(7 ); 00178 BLYNK_ON_WRITE_IMPL(8 ); 00179 BLYNK_ON_WRITE_IMPL(9 ); 00180 BLYNK_ON_WRITE_IMPL(10); 00181 BLYNK_ON_WRITE_IMPL(11); 00182 BLYNK_ON_WRITE_IMPL(12); 00183 BLYNK_ON_WRITE_IMPL(13); 00184 BLYNK_ON_WRITE_IMPL(14); 00185 BLYNK_ON_WRITE_IMPL(15); 00186 BLYNK_ON_WRITE_IMPL(16); 00187 BLYNK_ON_WRITE_IMPL(17); 00188 BLYNK_ON_WRITE_IMPL(18); 00189 BLYNK_ON_WRITE_IMPL(19); 00190 BLYNK_ON_WRITE_IMPL(20); 00191 BLYNK_ON_WRITE_IMPL(21); 00192 BLYNK_ON_WRITE_IMPL(22); 00193 BLYNK_ON_WRITE_IMPL(23); 00194 BLYNK_ON_WRITE_IMPL(24); 00195 BLYNK_ON_WRITE_IMPL(25); 00196 BLYNK_ON_WRITE_IMPL(26); 00197 BLYNK_ON_WRITE_IMPL(27); 00198 BLYNK_ON_WRITE_IMPL(28); 00199 BLYNK_ON_WRITE_IMPL(29); 00200 BLYNK_ON_WRITE_IMPL(30); 00201 BLYNK_ON_WRITE_IMPL(31); 00202 #ifdef BLYNK_USE_128_VPINS 00203 BLYNK_ON_WRITE_IMPL(32); 00204 BLYNK_ON_WRITE_IMPL(33); 00205 BLYNK_ON_WRITE_IMPL(34); 00206 BLYNK_ON_WRITE_IMPL(35); 00207 BLYNK_ON_WRITE_IMPL(36); 00208 BLYNK_ON_WRITE_IMPL(37); 00209 BLYNK_ON_WRITE_IMPL(38); 00210 BLYNK_ON_WRITE_IMPL(39); 00211 BLYNK_ON_WRITE_IMPL(40); 00212 BLYNK_ON_WRITE_IMPL(41); 00213 BLYNK_ON_WRITE_IMPL(42); 00214 BLYNK_ON_WRITE_IMPL(43); 00215 BLYNK_ON_WRITE_IMPL(44); 00216 BLYNK_ON_WRITE_IMPL(45); 00217 BLYNK_ON_WRITE_IMPL(46); 00218 BLYNK_ON_WRITE_IMPL(47); 00219 BLYNK_ON_WRITE_IMPL(48); 00220 BLYNK_ON_WRITE_IMPL(49); 00221 BLYNK_ON_WRITE_IMPL(50); 00222 BLYNK_ON_WRITE_IMPL(51); 00223 BLYNK_ON_WRITE_IMPL(52); 00224 BLYNK_ON_WRITE_IMPL(53); 00225 BLYNK_ON_WRITE_IMPL(54); 00226 BLYNK_ON_WRITE_IMPL(55); 00227 BLYNK_ON_WRITE_IMPL(56); 00228 BLYNK_ON_WRITE_IMPL(57); 00229 BLYNK_ON_WRITE_IMPL(58); 00230 BLYNK_ON_WRITE_IMPL(59); 00231 BLYNK_ON_WRITE_IMPL(60); 00232 BLYNK_ON_WRITE_IMPL(61); 00233 BLYNK_ON_WRITE_IMPL(62); 00234 BLYNK_ON_WRITE_IMPL(63); 00235 BLYNK_ON_WRITE_IMPL(64); 00236 BLYNK_ON_WRITE_IMPL(65); 00237 BLYNK_ON_WRITE_IMPL(66); 00238 BLYNK_ON_WRITE_IMPL(67); 00239 BLYNK_ON_WRITE_IMPL(68); 00240 BLYNK_ON_WRITE_IMPL(69); 00241 BLYNK_ON_WRITE_IMPL(70); 00242 BLYNK_ON_WRITE_IMPL(71); 00243 BLYNK_ON_WRITE_IMPL(72); 00244 BLYNK_ON_WRITE_IMPL(73); 00245 BLYNK_ON_WRITE_IMPL(74); 00246 BLYNK_ON_WRITE_IMPL(75); 00247 BLYNK_ON_WRITE_IMPL(76); 00248 BLYNK_ON_WRITE_IMPL(77); 00249 BLYNK_ON_WRITE_IMPL(78); 00250 BLYNK_ON_WRITE_IMPL(79); 00251 BLYNK_ON_WRITE_IMPL(80); 00252 BLYNK_ON_WRITE_IMPL(81); 00253 BLYNK_ON_WRITE_IMPL(82); 00254 BLYNK_ON_WRITE_IMPL(83); 00255 BLYNK_ON_WRITE_IMPL(84); 00256 BLYNK_ON_WRITE_IMPL(85); 00257 BLYNK_ON_WRITE_IMPL(86); 00258 BLYNK_ON_WRITE_IMPL(87); 00259 BLYNK_ON_WRITE_IMPL(88); 00260 BLYNK_ON_WRITE_IMPL(89); 00261 BLYNK_ON_WRITE_IMPL(90); 00262 BLYNK_ON_WRITE_IMPL(91); 00263 BLYNK_ON_WRITE_IMPL(92); 00264 BLYNK_ON_WRITE_IMPL(93); 00265 BLYNK_ON_WRITE_IMPL(94); 00266 BLYNK_ON_WRITE_IMPL(95); 00267 BLYNK_ON_WRITE_IMPL(96); 00268 BLYNK_ON_WRITE_IMPL(97); 00269 BLYNK_ON_WRITE_IMPL(98); 00270 BLYNK_ON_WRITE_IMPL(99); 00271 BLYNK_ON_WRITE_IMPL(100); 00272 BLYNK_ON_WRITE_IMPL(101); 00273 BLYNK_ON_WRITE_IMPL(102); 00274 BLYNK_ON_WRITE_IMPL(103); 00275 BLYNK_ON_WRITE_IMPL(104); 00276 BLYNK_ON_WRITE_IMPL(105); 00277 BLYNK_ON_WRITE_IMPL(106); 00278 BLYNK_ON_WRITE_IMPL(107); 00279 BLYNK_ON_WRITE_IMPL(108); 00280 BLYNK_ON_WRITE_IMPL(109); 00281 BLYNK_ON_WRITE_IMPL(110); 00282 BLYNK_ON_WRITE_IMPL(111); 00283 BLYNK_ON_WRITE_IMPL(112); 00284 BLYNK_ON_WRITE_IMPL(113); 00285 BLYNK_ON_WRITE_IMPL(114); 00286 BLYNK_ON_WRITE_IMPL(115); 00287 BLYNK_ON_WRITE_IMPL(116); 00288 BLYNK_ON_WRITE_IMPL(117); 00289 BLYNK_ON_WRITE_IMPL(118); 00290 BLYNK_ON_WRITE_IMPL(119); 00291 BLYNK_ON_WRITE_IMPL(120); 00292 BLYNK_ON_WRITE_IMPL(121); 00293 BLYNK_ON_WRITE_IMPL(122); 00294 BLYNK_ON_WRITE_IMPL(123); 00295 BLYNK_ON_WRITE_IMPL(124); 00296 BLYNK_ON_WRITE_IMPL(125); 00297 BLYNK_ON_WRITE_IMPL(126); 00298 BLYNK_ON_WRITE_IMPL(127); 00299 #endif 00300 00301 static const WidgetReadHandler BlynkReadHandlerVector[] BLYNK_PROGMEM = { 00302 BlynkWidgetRead0, BlynkWidgetRead1, BlynkWidgetRead2, BlynkWidgetRead3, 00303 BlynkWidgetRead4, BlynkWidgetRead5, BlynkWidgetRead6, BlynkWidgetRead7, 00304 BlynkWidgetRead8, BlynkWidgetRead9, BlynkWidgetRead10, BlynkWidgetRead11, 00305 BlynkWidgetRead12, BlynkWidgetRead13, BlynkWidgetRead14, BlynkWidgetRead15, 00306 BlynkWidgetRead16, BlynkWidgetRead17, BlynkWidgetRead18, BlynkWidgetRead19, 00307 BlynkWidgetRead20, BlynkWidgetRead21, BlynkWidgetRead22, BlynkWidgetRead23, 00308 BlynkWidgetRead24, BlynkWidgetRead25, BlynkWidgetRead26, BlynkWidgetRead27, 00309 BlynkWidgetRead28, BlynkWidgetRead29, BlynkWidgetRead30, BlynkWidgetRead31, 00310 #ifdef BLYNK_USE_128_VPINS 00311 BlynkWidgetRead32, BlynkWidgetRead33, BlynkWidgetRead34, BlynkWidgetRead35, 00312 BlynkWidgetRead36, BlynkWidgetRead37, BlynkWidgetRead38, BlynkWidgetRead39, 00313 BlynkWidgetRead40, BlynkWidgetRead41, BlynkWidgetRead42, BlynkWidgetRead43, 00314 BlynkWidgetRead44, BlynkWidgetRead45, BlynkWidgetRead46, BlynkWidgetRead47, 00315 BlynkWidgetRead48, BlynkWidgetRead49, BlynkWidgetRead50, BlynkWidgetRead51, 00316 BlynkWidgetRead52, BlynkWidgetRead53, BlynkWidgetRead54, BlynkWidgetRead55, 00317 BlynkWidgetRead56, BlynkWidgetRead57, BlynkWidgetRead58, BlynkWidgetRead59, 00318 BlynkWidgetRead60, BlynkWidgetRead61, BlynkWidgetRead62, BlynkWidgetRead63, 00319 BlynkWidgetRead64, BlynkWidgetRead65, BlynkWidgetRead66, BlynkWidgetRead67, 00320 BlynkWidgetRead68, BlynkWidgetRead69, BlynkWidgetRead70, BlynkWidgetRead71, 00321 BlynkWidgetRead72, BlynkWidgetRead73, BlynkWidgetRead74, BlynkWidgetRead75, 00322 BlynkWidgetRead76, BlynkWidgetRead77, BlynkWidgetRead78, BlynkWidgetRead79, 00323 BlynkWidgetRead80, BlynkWidgetRead81, BlynkWidgetRead82, BlynkWidgetRead83, 00324 BlynkWidgetRead84, BlynkWidgetRead85, BlynkWidgetRead86, BlynkWidgetRead87, 00325 BlynkWidgetRead88, BlynkWidgetRead89, BlynkWidgetRead90, BlynkWidgetRead91, 00326 BlynkWidgetRead92, BlynkWidgetRead93, BlynkWidgetRead94, BlynkWidgetRead95, 00327 BlynkWidgetRead96, BlynkWidgetRead97, BlynkWidgetRead98, BlynkWidgetRead99, 00328 BlynkWidgetRead100, BlynkWidgetRead101, BlynkWidgetRead102, BlynkWidgetRead103, 00329 BlynkWidgetRead104, BlynkWidgetRead105, BlynkWidgetRead106, BlynkWidgetRead107, 00330 BlynkWidgetRead108, BlynkWidgetRead109, BlynkWidgetRead110, BlynkWidgetRead111, 00331 BlynkWidgetRead112, BlynkWidgetRead113, BlynkWidgetRead114, BlynkWidgetRead115, 00332 BlynkWidgetRead116, BlynkWidgetRead117, BlynkWidgetRead118, BlynkWidgetRead119, 00333 BlynkWidgetRead120, BlynkWidgetRead121, BlynkWidgetRead122, BlynkWidgetRead123, 00334 BlynkWidgetRead124, BlynkWidgetRead125, BlynkWidgetRead126, BlynkWidgetRead127, 00335 #endif 00336 }; 00337 00338 static const WidgetWriteHandler BlynkWriteHandlerVector[] BLYNK_PROGMEM = { 00339 BlynkWidgetWrite0, BlynkWidgetWrite1, BlynkWidgetWrite2, BlynkWidgetWrite3, 00340 BlynkWidgetWrite4, BlynkWidgetWrite5, BlynkWidgetWrite6, BlynkWidgetWrite7, 00341 BlynkWidgetWrite8, BlynkWidgetWrite9, BlynkWidgetWrite10, BlynkWidgetWrite11, 00342 BlynkWidgetWrite12, BlynkWidgetWrite13, BlynkWidgetWrite14, BlynkWidgetWrite15, 00343 BlynkWidgetWrite16, BlynkWidgetWrite17, BlynkWidgetWrite18, BlynkWidgetWrite19, 00344 BlynkWidgetWrite20, BlynkWidgetWrite21, BlynkWidgetWrite22, BlynkWidgetWrite23, 00345 BlynkWidgetWrite24, BlynkWidgetWrite25, BlynkWidgetWrite26, BlynkWidgetWrite27, 00346 BlynkWidgetWrite28, BlynkWidgetWrite29, BlynkWidgetWrite30, BlynkWidgetWrite31, 00347 #ifdef BLYNK_USE_128_VPINS 00348 BlynkWidgetWrite32, BlynkWidgetWrite33, BlynkWidgetWrite34, BlynkWidgetWrite35, 00349 BlynkWidgetWrite36, BlynkWidgetWrite37, BlynkWidgetWrite38, BlynkWidgetWrite39, 00350 BlynkWidgetWrite40, BlynkWidgetWrite41, BlynkWidgetWrite42, BlynkWidgetWrite43, 00351 BlynkWidgetWrite44, BlynkWidgetWrite45, BlynkWidgetWrite46, BlynkWidgetWrite47, 00352 BlynkWidgetWrite48, BlynkWidgetWrite49, BlynkWidgetWrite50, BlynkWidgetWrite51, 00353 BlynkWidgetWrite52, BlynkWidgetWrite53, BlynkWidgetWrite54, BlynkWidgetWrite55, 00354 BlynkWidgetWrite56, BlynkWidgetWrite57, BlynkWidgetWrite58, BlynkWidgetWrite59, 00355 BlynkWidgetWrite60, BlynkWidgetWrite61, BlynkWidgetWrite62, BlynkWidgetWrite63, 00356 BlynkWidgetWrite64, BlynkWidgetWrite65, BlynkWidgetWrite66, BlynkWidgetWrite67, 00357 BlynkWidgetWrite68, BlynkWidgetWrite69, BlynkWidgetWrite70, BlynkWidgetWrite71, 00358 BlynkWidgetWrite72, BlynkWidgetWrite73, BlynkWidgetWrite74, BlynkWidgetWrite75, 00359 BlynkWidgetWrite76, BlynkWidgetWrite77, BlynkWidgetWrite78, BlynkWidgetWrite79, 00360 BlynkWidgetWrite80, BlynkWidgetWrite81, BlynkWidgetWrite82, BlynkWidgetWrite83, 00361 BlynkWidgetWrite84, BlynkWidgetWrite85, BlynkWidgetWrite86, BlynkWidgetWrite87, 00362 BlynkWidgetWrite88, BlynkWidgetWrite89, BlynkWidgetWrite90, BlynkWidgetWrite91, 00363 BlynkWidgetWrite92, BlynkWidgetWrite93, BlynkWidgetWrite94, BlynkWidgetWrite95, 00364 BlynkWidgetWrite96, BlynkWidgetWrite97, BlynkWidgetWrite98, BlynkWidgetWrite99, 00365 BlynkWidgetWrite100, BlynkWidgetWrite101, BlynkWidgetWrite102, BlynkWidgetWrite103, 00366 BlynkWidgetWrite104, BlynkWidgetWrite105, BlynkWidgetWrite106, BlynkWidgetWrite107, 00367 BlynkWidgetWrite108, BlynkWidgetWrite109, BlynkWidgetWrite110, BlynkWidgetWrite111, 00368 BlynkWidgetWrite112, BlynkWidgetWrite113, BlynkWidgetWrite114, BlynkWidgetWrite115, 00369 BlynkWidgetWrite116, BlynkWidgetWrite117, BlynkWidgetWrite118, BlynkWidgetWrite119, 00370 BlynkWidgetWrite120, BlynkWidgetWrite121, BlynkWidgetWrite122, BlynkWidgetWrite123, 00371 BlynkWidgetWrite124, BlynkWidgetWrite125, BlynkWidgetWrite126, BlynkWidgetWrite127, 00372 #endif 00373 }; 00374 00375 WidgetReadHandler GetReadHandler(uint8_t pin) 00376 { 00377 if (pin >= COUNT_OF(BlynkReadHandlerVector)) 00378 return NULL; 00379 #ifdef BLYNK_HAS_PROGMEM 00380 return (WidgetReadHandler)pgm_read_word(&BlynkReadHandlerVector[pin]); 00381 #else 00382 return BlynkReadHandlerVector[pin]; 00383 #endif 00384 } 00385 00386 WidgetWriteHandler GetWriteHandler(uint8_t pin) 00387 { 00388 if (pin >= COUNT_OF(BlynkWriteHandlerVector)) 00389 return NULL; 00390 #ifdef BLYNK_HAS_PROGMEM 00391 return (WidgetWriteHandler)pgm_read_word(&BlynkWriteHandlerVector[pin]); 00392 #else 00393 return BlynkWriteHandlerVector[pin]; 00394 #endif 00395 } 00396
Generated on Tue Jul 12 2022 13:01:26 by 1.7.2