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

Committer:
Volodymyr Shymanskyy
Date:
Mon Nov 27 19:48:07 2017 +0200
Revision:
15:975b60f7a8ff
Parent:
10:c241e4227173
Update version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vshymanskyy 0:58b20b438383 1 /**
vshymanskyy 0:58b20b438383 2 * @file BlynkHandlers.h
vshymanskyy 0:58b20b438383 3 * @author Volodymyr Shymanskyy
vshymanskyy 0:58b20b438383 4 * @license This project is released under the MIT License (MIT)
vshymanskyy 0:58b20b438383 5 * @copyright Copyright (c) 2015 Volodymyr Shymanskyy
vshymanskyy 0:58b20b438383 6 * @date Jan 2015
vshymanskyy 0:58b20b438383 7 * @brief Handlers for virtual pin operations
vshymanskyy 0:58b20b438383 8 *
vshymanskyy 0:58b20b438383 9 */
vshymanskyy 0:58b20b438383 10
vshymanskyy 0:58b20b438383 11 #ifndef BlynkHandlers_h
vshymanskyy 0:58b20b438383 12 #define BlynkHandlers_h
vshymanskyy 0:58b20b438383 13
vshymanskyy 0:58b20b438383 14 #include <Blynk/BlynkConfig.h>
vshymanskyy 0:58b20b438383 15 #include <Blynk/BlynkParam.h>
vshymanskyy 0:58b20b438383 16
vshymanskyy 0:58b20b438383 17 // Helper macro
vshymanskyy 0:58b20b438383 18
vshymanskyy 0:58b20b438383 19 #define V0 0
vshymanskyy 0:58b20b438383 20 #define V1 1
vshymanskyy 0:58b20b438383 21 #define V2 2
vshymanskyy 0:58b20b438383 22 #define V3 3
vshymanskyy 0:58b20b438383 23 #define V4 4
vshymanskyy 0:58b20b438383 24 #define V5 5
vshymanskyy 0:58b20b438383 25 #define V6 6
vshymanskyy 0:58b20b438383 26 #define V7 7
vshymanskyy 0:58b20b438383 27 #define V8 8
vshymanskyy 0:58b20b438383 28 #define V9 9
vshymanskyy 0:58b20b438383 29 #define V10 10
vshymanskyy 0:58b20b438383 30 #define V11 11
vshymanskyy 0:58b20b438383 31 #define V12 12
vshymanskyy 0:58b20b438383 32 #define V13 13
vshymanskyy 0:58b20b438383 33 #define V14 14
vshymanskyy 0:58b20b438383 34 #define V15 15
vshymanskyy 0:58b20b438383 35 #define V16 16
vshymanskyy 0:58b20b438383 36 #define V17 17
vshymanskyy 0:58b20b438383 37 #define V18 18
vshymanskyy 0:58b20b438383 38 #define V19 19
vshymanskyy 0:58b20b438383 39 #define V20 20
vshymanskyy 0:58b20b438383 40 #define V21 21
vshymanskyy 0:58b20b438383 41 #define V22 22
vshymanskyy 0:58b20b438383 42 #define V23 23
vshymanskyy 0:58b20b438383 43 #define V24 24
vshymanskyy 0:58b20b438383 44 #define V25 25
vshymanskyy 0:58b20b438383 45 #define V26 26
vshymanskyy 0:58b20b438383 46 #define V27 27
vshymanskyy 0:58b20b438383 47 #define V28 28
vshymanskyy 0:58b20b438383 48 #define V29 29
vshymanskyy 0:58b20b438383 49 #define V30 30
vshymanskyy 0:58b20b438383 50 #define V31 31
Volodymyr Shymanskyy 3:31e4b850b126 51 #ifdef BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 3:31e4b850b126 52 #define V32 32
Volodymyr Shymanskyy 3:31e4b850b126 53 #define V33 33
Volodymyr Shymanskyy 3:31e4b850b126 54 #define V34 34
Volodymyr Shymanskyy 3:31e4b850b126 55 #define V35 35
Volodymyr Shymanskyy 3:31e4b850b126 56 #define V36 36
Volodymyr Shymanskyy 3:31e4b850b126 57 #define V37 37
Volodymyr Shymanskyy 3:31e4b850b126 58 #define V38 38
Volodymyr Shymanskyy 3:31e4b850b126 59 #define V39 39
Volodymyr Shymanskyy 3:31e4b850b126 60 #define V40 40
Volodymyr Shymanskyy 3:31e4b850b126 61 #define V41 41
Volodymyr Shymanskyy 3:31e4b850b126 62 #define V42 42
Volodymyr Shymanskyy 3:31e4b850b126 63 #define V43 43
Volodymyr Shymanskyy 3:31e4b850b126 64 #define V44 44
Volodymyr Shymanskyy 3:31e4b850b126 65 #define V45 45
Volodymyr Shymanskyy 3:31e4b850b126 66 #define V46 46
Volodymyr Shymanskyy 3:31e4b850b126 67 #define V47 47
Volodymyr Shymanskyy 3:31e4b850b126 68 #define V48 48
Volodymyr Shymanskyy 3:31e4b850b126 69 #define V49 49
Volodymyr Shymanskyy 3:31e4b850b126 70 #define V50 50
Volodymyr Shymanskyy 3:31e4b850b126 71 #define V51 51
Volodymyr Shymanskyy 3:31e4b850b126 72 #define V52 52
Volodymyr Shymanskyy 3:31e4b850b126 73 #define V53 53
Volodymyr Shymanskyy 3:31e4b850b126 74 #define V54 54
Volodymyr Shymanskyy 3:31e4b850b126 75 #define V55 55
Volodymyr Shymanskyy 3:31e4b850b126 76 #define V56 56
Volodymyr Shymanskyy 3:31e4b850b126 77 #define V57 57
Volodymyr Shymanskyy 3:31e4b850b126 78 #define V58 58
Volodymyr Shymanskyy 3:31e4b850b126 79 #define V59 59
Volodymyr Shymanskyy 3:31e4b850b126 80 #define V60 60
Volodymyr Shymanskyy 3:31e4b850b126 81 #define V61 61
Volodymyr Shymanskyy 3:31e4b850b126 82 #define V62 62
Volodymyr Shymanskyy 3:31e4b850b126 83 #define V63 63
Volodymyr Shymanskyy 3:31e4b850b126 84 #define V64 64
Volodymyr Shymanskyy 3:31e4b850b126 85 #define V65 65
Volodymyr Shymanskyy 3:31e4b850b126 86 #define V66 66
Volodymyr Shymanskyy 3:31e4b850b126 87 #define V67 67
Volodymyr Shymanskyy 3:31e4b850b126 88 #define V68 68
Volodymyr Shymanskyy 3:31e4b850b126 89 #define V69 69
Volodymyr Shymanskyy 3:31e4b850b126 90 #define V70 70
Volodymyr Shymanskyy 3:31e4b850b126 91 #define V71 71
Volodymyr Shymanskyy 3:31e4b850b126 92 #define V72 72
Volodymyr Shymanskyy 3:31e4b850b126 93 #define V73 73
Volodymyr Shymanskyy 3:31e4b850b126 94 #define V74 74
Volodymyr Shymanskyy 3:31e4b850b126 95 #define V75 75
Volodymyr Shymanskyy 3:31e4b850b126 96 #define V76 76
Volodymyr Shymanskyy 3:31e4b850b126 97 #define V77 77
Volodymyr Shymanskyy 3:31e4b850b126 98 #define V78 78
Volodymyr Shymanskyy 3:31e4b850b126 99 #define V79 79
Volodymyr Shymanskyy 3:31e4b850b126 100 #define V80 80
Volodymyr Shymanskyy 3:31e4b850b126 101 #define V81 81
Volodymyr Shymanskyy 3:31e4b850b126 102 #define V82 82
Volodymyr Shymanskyy 3:31e4b850b126 103 #define V83 83
Volodymyr Shymanskyy 3:31e4b850b126 104 #define V84 84
Volodymyr Shymanskyy 3:31e4b850b126 105 #define V85 85
Volodymyr Shymanskyy 3:31e4b850b126 106 #define V86 86
Volodymyr Shymanskyy 3:31e4b850b126 107 #define V87 87
Volodymyr Shymanskyy 3:31e4b850b126 108 #define V88 88
Volodymyr Shymanskyy 3:31e4b850b126 109 #define V89 89
Volodymyr Shymanskyy 3:31e4b850b126 110 #define V90 90
Volodymyr Shymanskyy 3:31e4b850b126 111 #define V91 91
Volodymyr Shymanskyy 3:31e4b850b126 112 #define V92 92
Volodymyr Shymanskyy 3:31e4b850b126 113 #define V93 93
Volodymyr Shymanskyy 3:31e4b850b126 114 #define V94 94
Volodymyr Shymanskyy 3:31e4b850b126 115 #define V95 95
Volodymyr Shymanskyy 3:31e4b850b126 116 #define V96 96
Volodymyr Shymanskyy 3:31e4b850b126 117 #define V97 97
Volodymyr Shymanskyy 3:31e4b850b126 118 #define V98 98
Volodymyr Shymanskyy 3:31e4b850b126 119 #define V99 99
Volodymyr Shymanskyy 3:31e4b850b126 120 #define V100 100
Volodymyr Shymanskyy 3:31e4b850b126 121 #define V101 101
Volodymyr Shymanskyy 3:31e4b850b126 122 #define V102 102
Volodymyr Shymanskyy 3:31e4b850b126 123 #define V103 103
Volodymyr Shymanskyy 3:31e4b850b126 124 #define V104 104
Volodymyr Shymanskyy 3:31e4b850b126 125 #define V105 105
Volodymyr Shymanskyy 3:31e4b850b126 126 #define V106 106
Volodymyr Shymanskyy 3:31e4b850b126 127 #define V107 107
Volodymyr Shymanskyy 3:31e4b850b126 128 #define V108 108
Volodymyr Shymanskyy 3:31e4b850b126 129 #define V109 109
Volodymyr Shymanskyy 3:31e4b850b126 130 #define V110 110
Volodymyr Shymanskyy 3:31e4b850b126 131 #define V111 111
Volodymyr Shymanskyy 3:31e4b850b126 132 #define V112 112
Volodymyr Shymanskyy 3:31e4b850b126 133 #define V113 113
Volodymyr Shymanskyy 3:31e4b850b126 134 #define V114 114
Volodymyr Shymanskyy 3:31e4b850b126 135 #define V115 115
Volodymyr Shymanskyy 3:31e4b850b126 136 #define V116 116
Volodymyr Shymanskyy 3:31e4b850b126 137 #define V117 117
Volodymyr Shymanskyy 3:31e4b850b126 138 #define V118 118
Volodymyr Shymanskyy 3:31e4b850b126 139 #define V119 119
Volodymyr Shymanskyy 3:31e4b850b126 140 #define V120 120
Volodymyr Shymanskyy 3:31e4b850b126 141 #define V121 121
Volodymyr Shymanskyy 3:31e4b850b126 142 #define V122 122
Volodymyr Shymanskyy 3:31e4b850b126 143 #define V123 123
Volodymyr Shymanskyy 3:31e4b850b126 144 #define V124 124
Volodymyr Shymanskyy 3:31e4b850b126 145 #define V125 125
Volodymyr Shymanskyy 3:31e4b850b126 146 #define V126 126
Volodymyr Shymanskyy 3:31e4b850b126 147 #define V127 127
Volodymyr Shymanskyy 3:31e4b850b126 148 #endif
vshymanskyy 0:58b20b438383 149
vshymanskyy 0:58b20b438383 150 // Initial syntax:
vshymanskyy 0:58b20b438383 151 #define BLYNK_WRITE_2(pin) \
Volodymyr Shymanskyy 7:8879692d4e6c 152 void BlynkWidgetWrite ## pin (BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED &param)
vshymanskyy 0:58b20b438383 153
vshymanskyy 0:58b20b438383 154 #define BLYNK_READ_2(pin) \
Volodymyr Shymanskyy 7:8879692d4e6c 155 void BlynkWidgetRead ## pin (BlynkReq BLYNK_UNUSED &request)
vshymanskyy 0:58b20b438383 156
vshymanskyy 0:58b20b438383 157 #define BLYNK_WRITE_DEFAULT() BLYNK_WRITE_2(Default)
vshymanskyy 0:58b20b438383 158 #define BLYNK_READ_DEFAULT() BLYNK_READ_2(Default)
vshymanskyy 0:58b20b438383 159
vshymanskyy 0:58b20b438383 160 #define BLYNK_WRITE(pin) BLYNK_WRITE_2(pin)
vshymanskyy 0:58b20b438383 161 #define BLYNK_READ(pin) BLYNK_READ_2(pin)
vshymanskyy 0:58b20b438383 162
vshymanskyy 0:58b20b438383 163 // New, more readable syntax:
vshymanskyy 0:58b20b438383 164 #define BLYNK_IN_2(pin) \
Volodymyr Shymanskyy 7:8879692d4e6c 165 void BlynkWidgetWrite ## pin (BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED &getValue)
vshymanskyy 0:58b20b438383 166
vshymanskyy 0:58b20b438383 167 #define BLYNK_OUT_2(pin) \
Volodymyr Shymanskyy 7:8879692d4e6c 168 void BlynkWidgetRead ## pin (BlynkReq BLYNK_UNUSED &request)
vshymanskyy 0:58b20b438383 169
Volodymyr Shymanskyy 7:8879692d4e6c 170 #define BLYNK_INPUT_DEFAULT() BLYNK_IN_2(Default)
Volodymyr Shymanskyy 7:8879692d4e6c 171 #define BLYNK_OUTPUT_DEFAULT() BLYNK_OUT_2(Default)
vshymanskyy 0:58b20b438383 172
Volodymyr Shymanskyy 7:8879692d4e6c 173 #define BLYNK_INPUT(pin) BLYNK_IN_2(pin)
Volodymyr Shymanskyy 7:8879692d4e6c 174 #define BLYNK_OUTPUT(pin) BLYNK_OUT_2(pin)
vshymanskyy 0:58b20b438383 175
vshymanskyy 0:58b20b438383 176 // Additional handlers
vshymanskyy 0:58b20b438383 177 #define BLYNK_CONNECTED() void BlynkOnConnected()
vshymanskyy 0:58b20b438383 178 #define BLYNK_DISCONNECTED() void BlynkOnDisconnected()
vshymanskyy 0:58b20b438383 179
vshymanskyy 0:58b20b438383 180 // Advanced functions
vshymanskyy 0:58b20b438383 181
Volodymyr Shymanskyy 9:7369ec77a3ea 182 #define BLYNK_VAR_INT(name, pin) \
Volodymyr Shymanskyy 9:7369ec77a3ea 183 int name; \
vshymanskyy 0:58b20b438383 184 BLYNK_WRITE(pin) { name = param.asInt(); } \
vshymanskyy 0:58b20b438383 185 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); }
vshymanskyy 0:58b20b438383 186
Volodymyr Shymanskyy 9:7369ec77a3ea 187 #define BLYNK_VAR_LONG(name, pin) \
Volodymyr Shymanskyy 9:7369ec77a3ea 188 long name; \
vshymanskyy 0:58b20b438383 189 BLYNK_WRITE(pin) { name = param.asLong(); } \
vshymanskyy 0:58b20b438383 190 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); }
vshymanskyy 0:58b20b438383 191
vshymanskyy 0:58b20b438383 192 #ifndef BLYNK_NO_FLOAT
Volodymyr Shymanskyy 9:7369ec77a3ea 193 #define BLYNK_VAR_DOUBLE(name, pin) \
Volodymyr Shymanskyy 9:7369ec77a3ea 194 double name; \
vshymanskyy 0:58b20b438383 195 BLYNK_WRITE(pin) { name = param.asDouble(); } \
vshymanskyy 0:58b20b438383 196 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); }
vshymanskyy 0:58b20b438383 197 #endif
vshymanskyy 0:58b20b438383 198
vshymanskyy 0:58b20b438383 199 #ifdef ARDUINO
Volodymyr Shymanskyy 9:7369ec77a3ea 200 #define BLYNK_VAR_STRING(name, pin) \
Volodymyr Shymanskyy 9:7369ec77a3ea 201 String name; \
vshymanskyy 0:58b20b438383 202 BLYNK_WRITE(pin) { name = param.asStr(); } \
vshymanskyy 0:58b20b438383 203 BLYNK_READ(pin) { Blynk.virtualWrite(pin, name); }
vshymanskyy 0:58b20b438383 204 #endif
vshymanskyy 0:58b20b438383 205
vshymanskyy 0:58b20b438383 206 // Default read/write handlers (you can redefine them in your code)
vshymanskyy 0:58b20b438383 207 #ifdef __cplusplus
vshymanskyy 0:58b20b438383 208 extern "C" {
vshymanskyy 0:58b20b438383 209 #endif
vshymanskyy 0:58b20b438383 210
vshymanskyy 0:58b20b438383 211 struct BlynkReq
vshymanskyy 0:58b20b438383 212 {
vshymanskyy 0:58b20b438383 213 uint8_t pin;
vshymanskyy 0:58b20b438383 214 };
vshymanskyy 0:58b20b438383 215
Volodymyr Shymanskyy 7:8879692d4e6c 216 typedef void (*WidgetReadHandler)(BlynkReq BLYNK_UNUSED &request);
Volodymyr Shymanskyy 7:8879692d4e6c 217 typedef void (*WidgetWriteHandler)(BlynkReq BLYNK_UNUSED &request, const BlynkParam BLYNK_UNUSED &param);
vshymanskyy 0:58b20b438383 218
vshymanskyy 0:58b20b438383 219 WidgetReadHandler GetReadHandler(uint8_t pin);
vshymanskyy 0:58b20b438383 220 WidgetWriteHandler GetWriteHandler(uint8_t pin);
vshymanskyy 0:58b20b438383 221
vshymanskyy 0:58b20b438383 222 // Declare placeholders
vshymanskyy 0:58b20b438383 223 BLYNK_READ();
vshymanskyy 0:58b20b438383 224 BLYNK_WRITE();
vshymanskyy 0:58b20b438383 225 void BlynkNoOpCbk();
vshymanskyy 0:58b20b438383 226
vshymanskyy 0:58b20b438383 227 // Declare all pin handlers (you can redefine them in your code)
vshymanskyy 0:58b20b438383 228 BLYNK_CONNECTED();
vshymanskyy 0:58b20b438383 229 BLYNK_DISCONNECTED();
vshymanskyy 0:58b20b438383 230
Volodymyr Shymanskyy 10:c241e4227173 231 // Internal Virtual Pins
Volodymyr Shymanskyy 10:c241e4227173 232 BLYNK_WRITE(InternalPinACON);
Volodymyr Shymanskyy 10:c241e4227173 233 BLYNK_WRITE(InternalPinADIS);
Volodymyr Shymanskyy 10:c241e4227173 234 BLYNK_WRITE(InternalPinRTC);
Volodymyr Shymanskyy 10:c241e4227173 235 BLYNK_WRITE(InternalPinOTA);
Volodymyr Shymanskyy 9:7369ec77a3ea 236
Volodymyr Shymanskyy 10:c241e4227173 237 // Aliases
Volodymyr Shymanskyy 10:c241e4227173 238 #define BLYNK_APP_CONNECTED() BLYNK_WRITE(InternalPinACON)
Volodymyr Shymanskyy 10:c241e4227173 239 #define BLYNK_APP_DISCONNECTED() BLYNK_WRITE(InternalPinADIS)
Volodymyr Shymanskyy 10:c241e4227173 240
Volodymyr Shymanskyy 10:c241e4227173 241 // Regular Virtual Pins
vshymanskyy 0:58b20b438383 242 BLYNK_READ_DEFAULT();
vshymanskyy 0:58b20b438383 243 BLYNK_WRITE_DEFAULT();
vshymanskyy 0:58b20b438383 244
vshymanskyy 0:58b20b438383 245 BLYNK_READ(0 );
vshymanskyy 0:58b20b438383 246 BLYNK_READ(1 );
vshymanskyy 0:58b20b438383 247 BLYNK_READ(2 );
vshymanskyy 0:58b20b438383 248 BLYNK_READ(3 );
vshymanskyy 0:58b20b438383 249 BLYNK_READ(4 );
vshymanskyy 0:58b20b438383 250 BLYNK_READ(5 );
vshymanskyy 0:58b20b438383 251 BLYNK_READ(6 );
vshymanskyy 0:58b20b438383 252 BLYNK_READ(7 );
vshymanskyy 0:58b20b438383 253 BLYNK_READ(8 );
vshymanskyy 0:58b20b438383 254 BLYNK_READ(9 );
vshymanskyy 0:58b20b438383 255 BLYNK_READ(10);
vshymanskyy 0:58b20b438383 256 BLYNK_READ(11);
vshymanskyy 0:58b20b438383 257 BLYNK_READ(12);
vshymanskyy 0:58b20b438383 258 BLYNK_READ(13);
vshymanskyy 0:58b20b438383 259 BLYNK_READ(14);
vshymanskyy 0:58b20b438383 260 BLYNK_READ(15);
vshymanskyy 0:58b20b438383 261 BLYNK_READ(16);
vshymanskyy 0:58b20b438383 262 BLYNK_READ(17);
vshymanskyy 0:58b20b438383 263 BLYNK_READ(18);
vshymanskyy 0:58b20b438383 264 BLYNK_READ(19);
vshymanskyy 0:58b20b438383 265 BLYNK_READ(20);
vshymanskyy 0:58b20b438383 266 BLYNK_READ(21);
vshymanskyy 0:58b20b438383 267 BLYNK_READ(22);
vshymanskyy 0:58b20b438383 268 BLYNK_READ(23);
vshymanskyy 0:58b20b438383 269 BLYNK_READ(24);
vshymanskyy 0:58b20b438383 270 BLYNK_READ(25);
vshymanskyy 0:58b20b438383 271 BLYNK_READ(26);
vshymanskyy 0:58b20b438383 272 BLYNK_READ(27);
vshymanskyy 0:58b20b438383 273 BLYNK_READ(28);
vshymanskyy 0:58b20b438383 274 BLYNK_READ(29);
vshymanskyy 0:58b20b438383 275 BLYNK_READ(30);
vshymanskyy 0:58b20b438383 276 BLYNK_READ(31);
Volodymyr Shymanskyy 3:31e4b850b126 277 #ifdef BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 3:31e4b850b126 278 BLYNK_READ(32);
Volodymyr Shymanskyy 3:31e4b850b126 279 BLYNK_READ(33);
Volodymyr Shymanskyy 3:31e4b850b126 280 BLYNK_READ(34);
Volodymyr Shymanskyy 3:31e4b850b126 281 BLYNK_READ(35);
Volodymyr Shymanskyy 3:31e4b850b126 282 BLYNK_READ(36);
Volodymyr Shymanskyy 3:31e4b850b126 283 BLYNK_READ(37);
Volodymyr Shymanskyy 3:31e4b850b126 284 BLYNK_READ(38);
Volodymyr Shymanskyy 3:31e4b850b126 285 BLYNK_READ(39);
Volodymyr Shymanskyy 3:31e4b850b126 286 BLYNK_READ(40);
Volodymyr Shymanskyy 3:31e4b850b126 287 BLYNK_READ(41);
Volodymyr Shymanskyy 3:31e4b850b126 288 BLYNK_READ(42);
Volodymyr Shymanskyy 3:31e4b850b126 289 BLYNK_READ(43);
Volodymyr Shymanskyy 3:31e4b850b126 290 BLYNK_READ(44);
Volodymyr Shymanskyy 3:31e4b850b126 291 BLYNK_READ(45);
Volodymyr Shymanskyy 3:31e4b850b126 292 BLYNK_READ(46);
Volodymyr Shymanskyy 3:31e4b850b126 293 BLYNK_READ(47);
Volodymyr Shymanskyy 3:31e4b850b126 294 BLYNK_READ(48);
Volodymyr Shymanskyy 3:31e4b850b126 295 BLYNK_READ(49);
Volodymyr Shymanskyy 3:31e4b850b126 296 BLYNK_READ(50);
Volodymyr Shymanskyy 3:31e4b850b126 297 BLYNK_READ(51);
Volodymyr Shymanskyy 3:31e4b850b126 298 BLYNK_READ(52);
Volodymyr Shymanskyy 3:31e4b850b126 299 BLYNK_READ(53);
Volodymyr Shymanskyy 3:31e4b850b126 300 BLYNK_READ(54);
Volodymyr Shymanskyy 3:31e4b850b126 301 BLYNK_READ(55);
Volodymyr Shymanskyy 3:31e4b850b126 302 BLYNK_READ(56);
Volodymyr Shymanskyy 3:31e4b850b126 303 BLYNK_READ(57);
Volodymyr Shymanskyy 3:31e4b850b126 304 BLYNK_READ(58);
Volodymyr Shymanskyy 3:31e4b850b126 305 BLYNK_READ(59);
Volodymyr Shymanskyy 3:31e4b850b126 306 BLYNK_READ(60);
Volodymyr Shymanskyy 3:31e4b850b126 307 BLYNK_READ(61);
Volodymyr Shymanskyy 3:31e4b850b126 308 BLYNK_READ(62);
Volodymyr Shymanskyy 3:31e4b850b126 309 BLYNK_READ(63);
Volodymyr Shymanskyy 3:31e4b850b126 310 BLYNK_READ(64);
Volodymyr Shymanskyy 3:31e4b850b126 311 BLYNK_READ(65);
Volodymyr Shymanskyy 3:31e4b850b126 312 BLYNK_READ(66);
Volodymyr Shymanskyy 3:31e4b850b126 313 BLYNK_READ(67);
Volodymyr Shymanskyy 3:31e4b850b126 314 BLYNK_READ(68);
Volodymyr Shymanskyy 3:31e4b850b126 315 BLYNK_READ(69);
Volodymyr Shymanskyy 3:31e4b850b126 316 BLYNK_READ(70);
Volodymyr Shymanskyy 3:31e4b850b126 317 BLYNK_READ(71);
Volodymyr Shymanskyy 3:31e4b850b126 318 BLYNK_READ(72);
Volodymyr Shymanskyy 3:31e4b850b126 319 BLYNK_READ(73);
Volodymyr Shymanskyy 3:31e4b850b126 320 BLYNK_READ(74);
Volodymyr Shymanskyy 3:31e4b850b126 321 BLYNK_READ(75);
Volodymyr Shymanskyy 3:31e4b850b126 322 BLYNK_READ(76);
Volodymyr Shymanskyy 3:31e4b850b126 323 BLYNK_READ(77);
Volodymyr Shymanskyy 3:31e4b850b126 324 BLYNK_READ(78);
Volodymyr Shymanskyy 3:31e4b850b126 325 BLYNK_READ(79);
Volodymyr Shymanskyy 3:31e4b850b126 326 BLYNK_READ(80);
Volodymyr Shymanskyy 3:31e4b850b126 327 BLYNK_READ(81);
Volodymyr Shymanskyy 3:31e4b850b126 328 BLYNK_READ(82);
Volodymyr Shymanskyy 3:31e4b850b126 329 BLYNK_READ(83);
Volodymyr Shymanskyy 3:31e4b850b126 330 BLYNK_READ(84);
Volodymyr Shymanskyy 3:31e4b850b126 331 BLYNK_READ(85);
Volodymyr Shymanskyy 3:31e4b850b126 332 BLYNK_READ(86);
Volodymyr Shymanskyy 3:31e4b850b126 333 BLYNK_READ(87);
Volodymyr Shymanskyy 3:31e4b850b126 334 BLYNK_READ(88);
Volodymyr Shymanskyy 3:31e4b850b126 335 BLYNK_READ(89);
Volodymyr Shymanskyy 3:31e4b850b126 336 BLYNK_READ(90);
Volodymyr Shymanskyy 3:31e4b850b126 337 BLYNK_READ(91);
Volodymyr Shymanskyy 3:31e4b850b126 338 BLYNK_READ(92);
Volodymyr Shymanskyy 3:31e4b850b126 339 BLYNK_READ(93);
Volodymyr Shymanskyy 3:31e4b850b126 340 BLYNK_READ(94);
Volodymyr Shymanskyy 3:31e4b850b126 341 BLYNK_READ(95);
Volodymyr Shymanskyy 3:31e4b850b126 342 BLYNK_READ(96);
Volodymyr Shymanskyy 3:31e4b850b126 343 BLYNK_READ(97);
Volodymyr Shymanskyy 3:31e4b850b126 344 BLYNK_READ(98);
Volodymyr Shymanskyy 3:31e4b850b126 345 BLYNK_READ(99);
Volodymyr Shymanskyy 3:31e4b850b126 346 BLYNK_READ(100);
Volodymyr Shymanskyy 3:31e4b850b126 347 BLYNK_READ(101);
Volodymyr Shymanskyy 3:31e4b850b126 348 BLYNK_READ(102);
Volodymyr Shymanskyy 3:31e4b850b126 349 BLYNK_READ(103);
Volodymyr Shymanskyy 3:31e4b850b126 350 BLYNK_READ(104);
Volodymyr Shymanskyy 3:31e4b850b126 351 BLYNK_READ(105);
Volodymyr Shymanskyy 3:31e4b850b126 352 BLYNK_READ(106);
Volodymyr Shymanskyy 3:31e4b850b126 353 BLYNK_READ(107);
Volodymyr Shymanskyy 3:31e4b850b126 354 BLYNK_READ(108);
Volodymyr Shymanskyy 3:31e4b850b126 355 BLYNK_READ(109);
Volodymyr Shymanskyy 3:31e4b850b126 356 BLYNK_READ(110);
Volodymyr Shymanskyy 3:31e4b850b126 357 BLYNK_READ(111);
Volodymyr Shymanskyy 3:31e4b850b126 358 BLYNK_READ(112);
Volodymyr Shymanskyy 3:31e4b850b126 359 BLYNK_READ(113);
Volodymyr Shymanskyy 3:31e4b850b126 360 BLYNK_READ(114);
Volodymyr Shymanskyy 3:31e4b850b126 361 BLYNK_READ(115);
Volodymyr Shymanskyy 3:31e4b850b126 362 BLYNK_READ(116);
Volodymyr Shymanskyy 3:31e4b850b126 363 BLYNK_READ(117);
Volodymyr Shymanskyy 3:31e4b850b126 364 BLYNK_READ(118);
Volodymyr Shymanskyy 3:31e4b850b126 365 BLYNK_READ(119);
Volodymyr Shymanskyy 3:31e4b850b126 366 BLYNK_READ(120);
Volodymyr Shymanskyy 3:31e4b850b126 367 BLYNK_READ(121);
Volodymyr Shymanskyy 3:31e4b850b126 368 BLYNK_READ(122);
Volodymyr Shymanskyy 3:31e4b850b126 369 BLYNK_READ(123);
Volodymyr Shymanskyy 3:31e4b850b126 370 BLYNK_READ(124);
Volodymyr Shymanskyy 3:31e4b850b126 371 BLYNK_READ(125);
Volodymyr Shymanskyy 3:31e4b850b126 372 BLYNK_READ(126);
Volodymyr Shymanskyy 3:31e4b850b126 373 BLYNK_READ(127);
Volodymyr Shymanskyy 3:31e4b850b126 374 #endif
vshymanskyy 0:58b20b438383 375
vshymanskyy 0:58b20b438383 376 BLYNK_WRITE(0 );
vshymanskyy 0:58b20b438383 377 BLYNK_WRITE(1 );
vshymanskyy 0:58b20b438383 378 BLYNK_WRITE(2 );
vshymanskyy 0:58b20b438383 379 BLYNK_WRITE(3 );
vshymanskyy 0:58b20b438383 380 BLYNK_WRITE(4 );
vshymanskyy 0:58b20b438383 381 BLYNK_WRITE(5 );
vshymanskyy 0:58b20b438383 382 BLYNK_WRITE(6 );
vshymanskyy 0:58b20b438383 383 BLYNK_WRITE(7 );
vshymanskyy 0:58b20b438383 384 BLYNK_WRITE(8 );
vshymanskyy 0:58b20b438383 385 BLYNK_WRITE(9 );
vshymanskyy 0:58b20b438383 386 BLYNK_WRITE(10);
vshymanskyy 0:58b20b438383 387 BLYNK_WRITE(11);
vshymanskyy 0:58b20b438383 388 BLYNK_WRITE(12);
vshymanskyy 0:58b20b438383 389 BLYNK_WRITE(13);
vshymanskyy 0:58b20b438383 390 BLYNK_WRITE(14);
vshymanskyy 0:58b20b438383 391 BLYNK_WRITE(15);
vshymanskyy 0:58b20b438383 392 BLYNK_WRITE(16);
vshymanskyy 0:58b20b438383 393 BLYNK_WRITE(17);
vshymanskyy 0:58b20b438383 394 BLYNK_WRITE(18);
vshymanskyy 0:58b20b438383 395 BLYNK_WRITE(19);
vshymanskyy 0:58b20b438383 396 BLYNK_WRITE(20);
vshymanskyy 0:58b20b438383 397 BLYNK_WRITE(21);
vshymanskyy 0:58b20b438383 398 BLYNK_WRITE(22);
vshymanskyy 0:58b20b438383 399 BLYNK_WRITE(23);
vshymanskyy 0:58b20b438383 400 BLYNK_WRITE(24);
vshymanskyy 0:58b20b438383 401 BLYNK_WRITE(25);
vshymanskyy 0:58b20b438383 402 BLYNK_WRITE(26);
vshymanskyy 0:58b20b438383 403 BLYNK_WRITE(27);
vshymanskyy 0:58b20b438383 404 BLYNK_WRITE(28);
vshymanskyy 0:58b20b438383 405 BLYNK_WRITE(29);
vshymanskyy 0:58b20b438383 406 BLYNK_WRITE(30);
vshymanskyy 0:58b20b438383 407 BLYNK_WRITE(31);
Volodymyr Shymanskyy 3:31e4b850b126 408 #ifdef BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 3:31e4b850b126 409 BLYNK_WRITE(32);
Volodymyr Shymanskyy 3:31e4b850b126 410 BLYNK_WRITE(33);
Volodymyr Shymanskyy 3:31e4b850b126 411 BLYNK_WRITE(34);
Volodymyr Shymanskyy 3:31e4b850b126 412 BLYNK_WRITE(35);
Volodymyr Shymanskyy 3:31e4b850b126 413 BLYNK_WRITE(36);
Volodymyr Shymanskyy 3:31e4b850b126 414 BLYNK_WRITE(37);
Volodymyr Shymanskyy 3:31e4b850b126 415 BLYNK_WRITE(38);
Volodymyr Shymanskyy 3:31e4b850b126 416 BLYNK_WRITE(39);
Volodymyr Shymanskyy 3:31e4b850b126 417 BLYNK_WRITE(40);
Volodymyr Shymanskyy 3:31e4b850b126 418 BLYNK_WRITE(41);
Volodymyr Shymanskyy 3:31e4b850b126 419 BLYNK_WRITE(42);
Volodymyr Shymanskyy 3:31e4b850b126 420 BLYNK_WRITE(43);
Volodymyr Shymanskyy 3:31e4b850b126 421 BLYNK_WRITE(44);
Volodymyr Shymanskyy 3:31e4b850b126 422 BLYNK_WRITE(45);
Volodymyr Shymanskyy 3:31e4b850b126 423 BLYNK_WRITE(46);
Volodymyr Shymanskyy 3:31e4b850b126 424 BLYNK_WRITE(47);
Volodymyr Shymanskyy 3:31e4b850b126 425 BLYNK_WRITE(48);
Volodymyr Shymanskyy 3:31e4b850b126 426 BLYNK_WRITE(49);
Volodymyr Shymanskyy 3:31e4b850b126 427 BLYNK_WRITE(50);
Volodymyr Shymanskyy 3:31e4b850b126 428 BLYNK_WRITE(51);
Volodymyr Shymanskyy 3:31e4b850b126 429 BLYNK_WRITE(52);
Volodymyr Shymanskyy 3:31e4b850b126 430 BLYNK_WRITE(53);
Volodymyr Shymanskyy 3:31e4b850b126 431 BLYNK_WRITE(54);
Volodymyr Shymanskyy 3:31e4b850b126 432 BLYNK_WRITE(55);
Volodymyr Shymanskyy 3:31e4b850b126 433 BLYNK_WRITE(56);
Volodymyr Shymanskyy 3:31e4b850b126 434 BLYNK_WRITE(57);
Volodymyr Shymanskyy 3:31e4b850b126 435 BLYNK_WRITE(58);
Volodymyr Shymanskyy 3:31e4b850b126 436 BLYNK_WRITE(59);
Volodymyr Shymanskyy 3:31e4b850b126 437 BLYNK_WRITE(60);
Volodymyr Shymanskyy 3:31e4b850b126 438 BLYNK_WRITE(61);
Volodymyr Shymanskyy 3:31e4b850b126 439 BLYNK_WRITE(62);
Volodymyr Shymanskyy 3:31e4b850b126 440 BLYNK_WRITE(63);
Volodymyr Shymanskyy 3:31e4b850b126 441 BLYNK_WRITE(64);
Volodymyr Shymanskyy 3:31e4b850b126 442 BLYNK_WRITE(65);
Volodymyr Shymanskyy 3:31e4b850b126 443 BLYNK_WRITE(66);
Volodymyr Shymanskyy 3:31e4b850b126 444 BLYNK_WRITE(67);
Volodymyr Shymanskyy 3:31e4b850b126 445 BLYNK_WRITE(68);
Volodymyr Shymanskyy 3:31e4b850b126 446 BLYNK_WRITE(69);
Volodymyr Shymanskyy 3:31e4b850b126 447 BLYNK_WRITE(70);
Volodymyr Shymanskyy 3:31e4b850b126 448 BLYNK_WRITE(71);
Volodymyr Shymanskyy 3:31e4b850b126 449 BLYNK_WRITE(72);
Volodymyr Shymanskyy 3:31e4b850b126 450 BLYNK_WRITE(73);
Volodymyr Shymanskyy 3:31e4b850b126 451 BLYNK_WRITE(74);
Volodymyr Shymanskyy 3:31e4b850b126 452 BLYNK_WRITE(75);
Volodymyr Shymanskyy 3:31e4b850b126 453 BLYNK_WRITE(76);
Volodymyr Shymanskyy 3:31e4b850b126 454 BLYNK_WRITE(77);
Volodymyr Shymanskyy 3:31e4b850b126 455 BLYNK_WRITE(78);
Volodymyr Shymanskyy 3:31e4b850b126 456 BLYNK_WRITE(79);
Volodymyr Shymanskyy 3:31e4b850b126 457 BLYNK_WRITE(80);
Volodymyr Shymanskyy 3:31e4b850b126 458 BLYNK_WRITE(81);
Volodymyr Shymanskyy 3:31e4b850b126 459 BLYNK_WRITE(82);
Volodymyr Shymanskyy 3:31e4b850b126 460 BLYNK_WRITE(83);
Volodymyr Shymanskyy 3:31e4b850b126 461 BLYNK_WRITE(84);
Volodymyr Shymanskyy 3:31e4b850b126 462 BLYNK_WRITE(85);
Volodymyr Shymanskyy 3:31e4b850b126 463 BLYNK_WRITE(86);
Volodymyr Shymanskyy 3:31e4b850b126 464 BLYNK_WRITE(87);
Volodymyr Shymanskyy 3:31e4b850b126 465 BLYNK_WRITE(88);
Volodymyr Shymanskyy 3:31e4b850b126 466 BLYNK_WRITE(89);
Volodymyr Shymanskyy 3:31e4b850b126 467 BLYNK_WRITE(90);
Volodymyr Shymanskyy 3:31e4b850b126 468 BLYNK_WRITE(91);
Volodymyr Shymanskyy 3:31e4b850b126 469 BLYNK_WRITE(92);
Volodymyr Shymanskyy 3:31e4b850b126 470 BLYNK_WRITE(93);
Volodymyr Shymanskyy 3:31e4b850b126 471 BLYNK_WRITE(94);
Volodymyr Shymanskyy 3:31e4b850b126 472 BLYNK_WRITE(95);
Volodymyr Shymanskyy 3:31e4b850b126 473 BLYNK_WRITE(96);
Volodymyr Shymanskyy 3:31e4b850b126 474 BLYNK_WRITE(97);
Volodymyr Shymanskyy 3:31e4b850b126 475 BLYNK_WRITE(98);
Volodymyr Shymanskyy 3:31e4b850b126 476 BLYNK_WRITE(99);
Volodymyr Shymanskyy 3:31e4b850b126 477 BLYNK_WRITE(100);
Volodymyr Shymanskyy 3:31e4b850b126 478 BLYNK_WRITE(101);
Volodymyr Shymanskyy 3:31e4b850b126 479 BLYNK_WRITE(102);
Volodymyr Shymanskyy 3:31e4b850b126 480 BLYNK_WRITE(103);
Volodymyr Shymanskyy 3:31e4b850b126 481 BLYNK_WRITE(104);
Volodymyr Shymanskyy 3:31e4b850b126 482 BLYNK_WRITE(105);
Volodymyr Shymanskyy 3:31e4b850b126 483 BLYNK_WRITE(106);
Volodymyr Shymanskyy 3:31e4b850b126 484 BLYNK_WRITE(107);
Volodymyr Shymanskyy 3:31e4b850b126 485 BLYNK_WRITE(108);
Volodymyr Shymanskyy 3:31e4b850b126 486 BLYNK_WRITE(109);
Volodymyr Shymanskyy 3:31e4b850b126 487 BLYNK_WRITE(110);
Volodymyr Shymanskyy 3:31e4b850b126 488 BLYNK_WRITE(111);
Volodymyr Shymanskyy 3:31e4b850b126 489 BLYNK_WRITE(112);
Volodymyr Shymanskyy 3:31e4b850b126 490 BLYNK_WRITE(113);
Volodymyr Shymanskyy 3:31e4b850b126 491 BLYNK_WRITE(114);
Volodymyr Shymanskyy 3:31e4b850b126 492 BLYNK_WRITE(115);
Volodymyr Shymanskyy 3:31e4b850b126 493 BLYNK_WRITE(116);
Volodymyr Shymanskyy 3:31e4b850b126 494 BLYNK_WRITE(117);
Volodymyr Shymanskyy 3:31e4b850b126 495 BLYNK_WRITE(118);
Volodymyr Shymanskyy 3:31e4b850b126 496 BLYNK_WRITE(119);
Volodymyr Shymanskyy 3:31e4b850b126 497 BLYNK_WRITE(120);
Volodymyr Shymanskyy 3:31e4b850b126 498 BLYNK_WRITE(121);
Volodymyr Shymanskyy 3:31e4b850b126 499 BLYNK_WRITE(122);
Volodymyr Shymanskyy 3:31e4b850b126 500 BLYNK_WRITE(123);
Volodymyr Shymanskyy 3:31e4b850b126 501 BLYNK_WRITE(124);
Volodymyr Shymanskyy 3:31e4b850b126 502 BLYNK_WRITE(125);
Volodymyr Shymanskyy 3:31e4b850b126 503 BLYNK_WRITE(126);
Volodymyr Shymanskyy 3:31e4b850b126 504 BLYNK_WRITE(127);
Volodymyr Shymanskyy 3:31e4b850b126 505 #endif
vshymanskyy 0:58b20b438383 506
vshymanskyy 0:58b20b438383 507 #ifdef __cplusplus
vshymanskyy 0:58b20b438383 508 }
vshymanskyy 0:58b20b438383 509 #endif
vshymanskyy 0:58b20b438383 510
vshymanskyy 0:58b20b438383 511 #endif