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:
vshymanskyy
Date:
Fri Jan 26 22:18:19 2018 +0000
Revision:
22:e1d3971fd902
Parent:
21:fd9a3d7ddadb
Fix BlynkSystemInit for MBED

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vshymanskyy 0:58b20b438383 1 /**
vshymanskyy 0:58b20b438383 2 * @file BlynkDetectDevice.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) 2016 Volodymyr Shymanskyy
vshymanskyy 0:58b20b438383 6 * @date May 2016
vshymanskyy 0:58b20b438383 7 * @brief
vshymanskyy 0:58b20b438383 8 *
vshymanskyy 0:58b20b438383 9 */
vshymanskyy 0:58b20b438383 10
vshymanskyy 0:58b20b438383 11 #ifndef BlynkDetectDevice_h
vshymanskyy 0:58b20b438383 12 #define BlynkDetectDevice_h
vshymanskyy 0:58b20b438383 13
Volodymyr Shymanskyy 9:7369ec77a3ea 14 // General defines
Volodymyr Shymanskyy 9:7369ec77a3ea 15
Volodymyr Shymanskyy 15:975b60f7a8ff 16 #define BLYNK_CONCAT(a, b) a ## b
Volodymyr Shymanskyy 15:975b60f7a8ff 17 #define BLYNK_CONCAT2(a, b) BLYNK_CONCAT(a, b)
Volodymyr Shymanskyy 15:975b60f7a8ff 18
Volodymyr Shymanskyy 9:7369ec77a3ea 19 #define BLYNK_STRINGIFY(x) #x
Volodymyr Shymanskyy 9:7369ec77a3ea 20 #define BLYNK_TOSTRING(x) BLYNK_STRINGIFY(x)
Volodymyr Shymanskyy 15:975b60f7a8ff 21
Volodymyr Shymanskyy 9:7369ec77a3ea 22 #define BLYNK_COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
Volodymyr Shymanskyy 15:975b60f7a8ff 23
Volodymyr Shymanskyy 9:7369ec77a3ea 24 #define BLYNK_ATTR_PACKED __attribute__ ((__packed__))
Volodymyr Shymanskyy 9:7369ec77a3ea 25 #define BLYNK_NORETURN __attribute__ ((noreturn))
Volodymyr Shymanskyy 9:7369ec77a3ea 26 #define BLYNK_UNUSED __attribute__((__unused__))
Volodymyr Shymanskyy 9:7369ec77a3ea 27 #define BLYNK_DEPRECATED __attribute__ ((deprecated))
Volodymyr Shymanskyy 16:6d9bf99b263c 28 #define BLYNK_CONSTRUCTOR __attribute__((constructor))
Volodymyr Shymanskyy 9:7369ec77a3ea 29
Volodymyr Shymanskyy 9:7369ec77a3ea 30 // Causes problems on some platforms
Volodymyr Shymanskyy 9:7369ec77a3ea 31 #define BLYNK_FORCE_INLINE inline //__attribute__((always_inline))
Volodymyr Shymanskyy 9:7369ec77a3ea 32
vshymanskyy 0:58b20b438383 33 #ifndef BLYNK_INFO_CPU
vshymanskyy 0:58b20b438383 34
vshymanskyy 0:58b20b438383 35 /******************************************
vshymanskyy 0:58b20b438383 36 * ATmega
vshymanskyy 0:58b20b438383 37 */
vshymanskyy 0:58b20b438383 38
vshymanskyy 0:58b20b438383 39 #if defined(__AVR_ATmega168__)
vshymanskyy 0:58b20b438383 40 #define BLYNK_INFO_CPU "ATmega168"
vshymanskyy 0:58b20b438383 41 #elif defined(__AVR_ATmega328P__)
vshymanskyy 0:58b20b438383 42 #define BLYNK_INFO_CPU "ATmega328P"
vshymanskyy 0:58b20b438383 43 #elif defined(__AVR_ATmega1280__)
vshymanskyy 0:58b20b438383 44 #define BLYNK_INFO_CPU "ATmega1280"
vshymanskyy 0:58b20b438383 45 #elif defined(__AVR_ATmega1284__)
vshymanskyy 0:58b20b438383 46 #define BLYNK_INFO_CPU "ATmega1284"
vshymanskyy 0:58b20b438383 47 #elif defined(__AVR_ATmega2560__)
vshymanskyy 0:58b20b438383 48 #define BLYNK_INFO_CPU "ATmega2560"
vshymanskyy 0:58b20b438383 49 #elif defined(__AVR_ATmega32U4__)
vshymanskyy 0:58b20b438383 50 #define BLYNK_INFO_CPU "ATmega32U4"
vshymanskyy 0:58b20b438383 51 #elif defined(__SAM3X8E__)
vshymanskyy 0:58b20b438383 52 #define BLYNK_INFO_CPU "AT91SAM3X8E"
vshymanskyy 0:58b20b438383 53
vshymanskyy 0:58b20b438383 54 /******************************************
vshymanskyy 0:58b20b438383 55 * ATtiny
vshymanskyy 0:58b20b438383 56 */
vshymanskyy 0:58b20b438383 57
vshymanskyy 0:58b20b438383 58 #elif defined(__AVR_ATtiny25__)
vshymanskyy 0:58b20b438383 59 #define BLYNK_INFO_CPU "ATtiny25"
vshymanskyy 0:58b20b438383 60 #elif defined(__AVR_ATtiny45__)
vshymanskyy 0:58b20b438383 61 #define BLYNK_INFO_CPU "ATtiny45"
vshymanskyy 0:58b20b438383 62 #elif defined(__AVR_ATtiny85__)
vshymanskyy 0:58b20b438383 63 #define BLYNK_INFO_CPU "ATtiny85"
vshymanskyy 0:58b20b438383 64 #elif defined(__AVR_ATtiny24__)
vshymanskyy 0:58b20b438383 65 #define BLYNK_INFO_CPU "ATtiny24"
vshymanskyy 0:58b20b438383 66 #elif defined(__AVR_ATtiny44__)
vshymanskyy 0:58b20b438383 67 #define BLYNK_INFO_CPU "ATtiny44"
vshymanskyy 0:58b20b438383 68 #elif defined(__AVR_ATtiny84__)
vshymanskyy 0:58b20b438383 69 #define BLYNK_INFO_CPU "ATtiny84"
vshymanskyy 0:58b20b438383 70 #elif defined(__AVR_ATtiny2313__)
vshymanskyy 0:58b20b438383 71 #define BLYNK_INFO_CPU "ATtiny2313"
vshymanskyy 0:58b20b438383 72 #elif defined(__AVR_ATtiny4313__)
vshymanskyy 0:58b20b438383 73 #define BLYNK_INFO_CPU "ATtiny4313"
vshymanskyy 0:58b20b438383 74 #endif
vshymanskyy 0:58b20b438383 75 #endif
vshymanskyy 0:58b20b438383 76
vshymanskyy 0:58b20b438383 77 #ifndef BLYNK_INFO_DEVICE
vshymanskyy 0:58b20b438383 78
vshymanskyy 0:58b20b438383 79 #if defined(ENERGIA)
Volodymyr Shymanskyy 7:8879692d4e6c 80
Volodymyr Shymanskyy 7:8879692d4e6c 81 #define BLYNK_NO_YIELD
Volodymyr Shymanskyy 3:31e4b850b126 82 #define BLYNK_USE_128_VPINS
vshymanskyy 0:58b20b438383 83
Volodymyr Shymanskyy 7:8879692d4e6c 84 #if defined(ENERGIA_ARCH_MSP430)
Volodymyr Shymanskyy 9:7369ec77a3ea 85 #define BLYNK_INFO_DEVICE "LaunchPad MSP430"
Volodymyr Shymanskyy 7:8879692d4e6c 86 #define BLYNK_INFO_CPU "MSP430"
Volodymyr Shymanskyy 7:8879692d4e6c 87 #define BLYNK_NO_FLOAT
Volodymyr Shymanskyy 7:8879692d4e6c 88 #elif defined(ENERGIA_ARCH_MSP432)
Volodymyr Shymanskyy 9:7369ec77a3ea 89 #define BLYNK_INFO_DEVICE "LaunchPad MSP432"
Volodymyr Shymanskyy 7:8879692d4e6c 90 #define BLYNK_INFO_CPU "MSP432"
Volodymyr Shymanskyy 7:8879692d4e6c 91 #elif defined(ENERGIA_ARCH_TIVAC)
Volodymyr Shymanskyy 7:8879692d4e6c 92 #define BLYNK_INFO_DEVICE "LaunchPad"
Volodymyr Shymanskyy 7:8879692d4e6c 93
Volodymyr Shymanskyy 7:8879692d4e6c 94 #elif defined(ENERGIA_ARCH_CC3200)
Volodymyr Shymanskyy 7:8879692d4e6c 95 #define BLYNK_INFO_CONNECTION "CC3200"
Volodymyr Shymanskyy 7:8879692d4e6c 96 #define BLYNK_SEND_CHUNK 64
Volodymyr Shymanskyy 9:7369ec77a3ea 97 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 7:8879692d4e6c 98
Volodymyr Shymanskyy 9:7369ec77a3ea 99 #if defined(ENERGIA_CC3200_LAUNCHXL) //TODO: This is a bug in Energia IDE
Volodymyr Shymanskyy 9:7369ec77a3ea 100 #define BLYNK_INFO_DEVICE "CC32000 LaunchXL"
Volodymyr Shymanskyy 7:8879692d4e6c 101 #elif defined(ENERGIA_RedBearLab_CC3200)
Volodymyr Shymanskyy 7:8879692d4e6c 102 #define BLYNK_INFO_DEVICE "RBL CC3200"
Volodymyr Shymanskyy 7:8879692d4e6c 103 #elif defined(ENERGIA_RedBearLab_WiFiMini)
Volodymyr Shymanskyy 7:8879692d4e6c 104 #define BLYNK_INFO_DEVICE "RBL WiFi Mini"
Volodymyr Shymanskyy 7:8879692d4e6c 105 #elif defined(ENERGIA_RedBearLab_WiFiMicro)
Volodymyr Shymanskyy 7:8879692d4e6c 106 #define BLYNK_INFO_DEVICE "RBL WiFi Micro"
Volodymyr Shymanskyy 7:8879692d4e6c 107 #endif
Volodymyr Shymanskyy 7:8879692d4e6c 108 #endif
Volodymyr Shymanskyy 7:8879692d4e6c 109
Volodymyr Shymanskyy 7:8879692d4e6c 110 #if !defined(BLYNK_INFO_DEVICE)
Volodymyr Shymanskyy 7:8879692d4e6c 111 #define BLYNK_INFO_DEVICE "Energia"
vshymanskyy 0:58b20b438383 112 #endif
vshymanskyy 0:58b20b438383 113
vshymanskyy 0:58b20b438383 114 #elif defined(LINUX)
vshymanskyy 0:58b20b438383 115
vshymanskyy 0:58b20b438383 116 #define BLYNK_INFO_DEVICE "Linux"
Volodymyr Shymanskyy 3:31e4b850b126 117 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 118 #define BLYNK_BUFFERS_SIZE 4096
vshymanskyy 0:58b20b438383 119
vshymanskyy 0:58b20b438383 120 #elif defined(SPARK) || defined(PARTICLE)
vshymanskyy 0:58b20b438383 121
Volodymyr Shymanskyy 3:31e4b850b126 122 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 123 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 3:31e4b850b126 124
vshymanskyy 0:58b20b438383 125 #if PLATFORM_ID==0
vshymanskyy 0:58b20b438383 126 #define BLYNK_INFO_DEVICE "Particle Core"
Volodymyr Shymanskyy 9:7369ec77a3ea 127 #undef BLYNK_BUFFERS_SIZE // Use default on Core
vshymanskyy 0:58b20b438383 128 #elif PLATFORM_ID==6
vshymanskyy 0:58b20b438383 129 #define BLYNK_INFO_DEVICE "Particle Photon"
vshymanskyy 0:58b20b438383 130 #elif PLATFORM_ID==8
vshymanskyy 0:58b20b438383 131 #define BLYNK_INFO_DEVICE "Particle P1"
vshymanskyy 0:58b20b438383 132 #elif PLATFORM_ID==9
vshymanskyy 0:58b20b438383 133 #define BLYNK_INFO_DEVICE "Particle Ethernet"
vshymanskyy 0:58b20b438383 134 #elif PLATFORM_ID==10
vshymanskyy 0:58b20b438383 135 #define BLYNK_INFO_DEVICE "Particle Electron"
Volodymyr Shymanskyy 13:ed6276c0afb7 136 #elif PLATFORM_ID==31
Volodymyr Shymanskyy 13:ed6276c0afb7 137 #define BLYNK_INFO_DEVICE "Particle RPi"
vshymanskyy 0:58b20b438383 138 #elif PLATFORM_ID==82
vshymanskyy 0:58b20b438383 139 #define BLYNK_INFO_DEVICE "Digistump Oak"
vshymanskyy 0:58b20b438383 140 #elif PLATFORM_ID==88
vshymanskyy 0:58b20b438383 141 #define BLYNK_INFO_DEVICE "RedBear Duo"
vshymanskyy 0:58b20b438383 142 #elif PLATFORM_ID==103
vshymanskyy 0:58b20b438383 143 #define BLYNK_INFO_DEVICE "Bluz"
vshymanskyy 0:58b20b438383 144 #else
Volodymyr Shymanskyy 9:7369ec77a3ea 145 #if defined(BLYNK_DEBUG_ALL)
Volodymyr Shymanskyy 9:7369ec77a3ea 146 #warning "Cannot detect board type"
Volodymyr Shymanskyy 9:7369ec77a3ea 147 #endif
vshymanskyy 0:58b20b438383 148 #define BLYNK_INFO_DEVICE "Particle"
vshymanskyy 0:58b20b438383 149 #endif
vshymanskyy 0:58b20b438383 150
Volodymyr Shymanskyy 16:6d9bf99b263c 151 #elif defined(__MBED__)
vshymanskyy 0:58b20b438383 152
vshymanskyy 0:58b20b438383 153 #define BLYNK_INFO_DEVICE "MBED"
Volodymyr Shymanskyy 3:31e4b850b126 154 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 155 #define BLYNK_BUFFERS_SIZE 512
vshymanskyy 4:fa1450a7dd08 156 #define noInterrupts() __disable_irq()
vshymanskyy 4:fa1450a7dd08 157 #define interrupts() __enable_irq()
vshymanskyy 0:58b20b438383 158
vshymanskyy 0:58b20b438383 159 #elif defined(ARDUINO) && defined(MPIDE)
vshymanskyy 0:58b20b438383 160 #define BLYNK_NO_YIELD
vshymanskyy 0:58b20b438383 161
vshymanskyy 0:58b20b438383 162 #if defined(_BOARD_UNO_)
vshymanskyy 0:58b20b438383 163 #define BLYNK_INFO_DEVICE "chipKIT Uno32"
vshymanskyy 0:58b20b438383 164 #else
vshymanskyy 0:58b20b438383 165 #define BLYNK_INFO_DEVICE "chipKIT"
vshymanskyy 0:58b20b438383 166 #endif
vshymanskyy 0:58b20b438383 167
Volodymyr Shymanskyy 21:fd9a3d7ddadb 168 #elif defined(ARDUINO) && defined(ARDUINO_AMEBA)
Volodymyr Shymanskyy 21:fd9a3d7ddadb 169 #if defined(BOARD_RTL8710)
Volodymyr Shymanskyy 21:fd9a3d7ddadb 170 #define BLYNK_INFO_DEVICE "RTL8710"
Volodymyr Shymanskyy 21:fd9a3d7ddadb 171 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 21:fd9a3d7ddadb 172 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 21:fd9a3d7ddadb 173 #elif defined(BOARD_RTL8711AM)
Volodymyr Shymanskyy 21:fd9a3d7ddadb 174 #define BLYNK_INFO_DEVICE "RTL8711AM"
Volodymyr Shymanskyy 21:fd9a3d7ddadb 175 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 21:fd9a3d7ddadb 176 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 21:fd9a3d7ddadb 177 #elif defined(BOARD_RTL8195A)
Volodymyr Shymanskyy 21:fd9a3d7ddadb 178 #define BLYNK_INFO_DEVICE "RTL8195A"
Volodymyr Shymanskyy 21:fd9a3d7ddadb 179 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 21:fd9a3d7ddadb 180 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 21:fd9a3d7ddadb 181 #else
Volodymyr Shymanskyy 21:fd9a3d7ddadb 182 #define BLYNK_INFO_DEVICE "Ameba"
Volodymyr Shymanskyy 21:fd9a3d7ddadb 183 #endif
Volodymyr Shymanskyy 21:fd9a3d7ddadb 184
Volodymyr Shymanskyy 3:31e4b850b126 185 #elif defined(ARDUINO) && defined(TEENSYDUINO)
Volodymyr Shymanskyy 3:31e4b850b126 186
Volodymyr Shymanskyy 9:7369ec77a3ea 187 #if defined(__MK66FX1M0__)
Volodymyr Shymanskyy 9:7369ec77a3ea 188 #define BLYNK_INFO_DEVICE "Teensy 3.6"
Volodymyr Shymanskyy 9:7369ec77a3ea 189 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 190 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 9:7369ec77a3ea 191 #elif defined(__MK64FX512__)
Volodymyr Shymanskyy 9:7369ec77a3ea 192 #define BLYNK_INFO_DEVICE "Teensy 3.5"
Volodymyr Shymanskyy 9:7369ec77a3ea 193 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 194 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 9:7369ec77a3ea 195 #elif defined(__MK20DX256__)
Volodymyr Shymanskyy 3:31e4b850b126 196 #define BLYNK_INFO_DEVICE "Teensy 3.2/3.1"
Volodymyr Shymanskyy 3:31e4b850b126 197 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 198 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 3:31e4b850b126 199 #elif defined(__MK20DX128__)
Volodymyr Shymanskyy 3:31e4b850b126 200 #define BLYNK_INFO_DEVICE "Teensy 3.0"
Volodymyr Shymanskyy 3:31e4b850b126 201 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 202 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 3:31e4b850b126 203 #elif defined(__MKL26Z64__)
Volodymyr Shymanskyy 3:31e4b850b126 204 #define BLYNK_INFO_DEVICE "Teensy LC"
Volodymyr Shymanskyy 9:7369ec77a3ea 205 #define BLYNK_BUFFERS_SIZE 512
Volodymyr Shymanskyy 3:31e4b850b126 206 #elif defined(ARDUINO_ARCH_AVR)
Volodymyr Shymanskyy 3:31e4b850b126 207 #define BLYNK_INFO_DEVICE "Teensy 2.0"
Volodymyr Shymanskyy 3:31e4b850b126 208 #else
Volodymyr Shymanskyy 3:31e4b850b126 209 #define BLYNK_INFO_DEVICE "Teensy"
Volodymyr Shymanskyy 3:31e4b850b126 210 #endif
Volodymyr Shymanskyy 3:31e4b850b126 211
vshymanskyy 0:58b20b438383 212 #elif defined(ARDUINO)
vshymanskyy 0:58b20b438383 213
Volodymyr Shymanskyy 7:8879692d4e6c 214 #if defined(ESP8266) || defined(ESP32)
Volodymyr Shymanskyy 3:31e4b850b126 215 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 216 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 3:31e4b850b126 217 #endif
Volodymyr Shymanskyy 3:31e4b850b126 218
vshymanskyy 0:58b20b438383 219 /* Arduino AVR */
vshymanskyy 0:58b20b438383 220 #if defined(ARDUINO_AVR_NANO)
vshymanskyy 0:58b20b438383 221 #define BLYNK_INFO_DEVICE "Arduino Nano"
vshymanskyy 0:58b20b438383 222 #elif defined(ARDUINO_AVR_UNO) || defined(ARDUINO_AVR_DUEMILANOVE)
vshymanskyy 0:58b20b438383 223 #define BLYNK_INFO_DEVICE "Arduino Uno"
vshymanskyy 0:58b20b438383 224 #elif defined(ARDUINO_AVR_YUN)
vshymanskyy 0:58b20b438383 225 #define BLYNK_INFO_DEVICE "Arduino Yun"
vshymanskyy 0:58b20b438383 226 #elif defined(ARDUINO_AVR_MINI)
vshymanskyy 0:58b20b438383 227 #define BLYNK_INFO_DEVICE "Arduino Mini"
vshymanskyy 0:58b20b438383 228 #elif defined(ARDUINO_AVR_ETHERNET)
vshymanskyy 0:58b20b438383 229 #define BLYNK_INFO_DEVICE "Arduino Ethernet"
vshymanskyy 0:58b20b438383 230 #elif defined(ARDUINO_AVR_FIO)
vshymanskyy 0:58b20b438383 231 #define BLYNK_INFO_DEVICE "Arduino Fio"
vshymanskyy 0:58b20b438383 232 #elif defined(ARDUINO_AVR_BT)
vshymanskyy 0:58b20b438383 233 #define BLYNK_INFO_DEVICE "Arduino BT"
vshymanskyy 0:58b20b438383 234 #elif defined(ARDUINO_AVR_PRO)
vshymanskyy 0:58b20b438383 235 #define BLYNK_INFO_DEVICE "Arduino Pro"
vshymanskyy 0:58b20b438383 236 #elif defined(ARDUINO_AVR_NG)
vshymanskyy 0:58b20b438383 237 #define BLYNK_INFO_DEVICE "Arduino NG"
vshymanskyy 0:58b20b438383 238 #elif defined(ARDUINO_AVR_GEMMA)
vshymanskyy 0:58b20b438383 239 #define BLYNK_INFO_DEVICE "Arduino Gemma"
vshymanskyy 0:58b20b438383 240 #elif defined(ARDUINO_AVR_MEGA) || defined(ARDUINO_AVR_MEGA2560)
vshymanskyy 0:58b20b438383 241 #define BLYNK_INFO_DEVICE "Arduino Mega"
Volodymyr Shymanskyy 3:31e4b850b126 242 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 243 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 244 #elif defined(ARDUINO_AVR_ADK)
vshymanskyy 0:58b20b438383 245 #define BLYNK_INFO_DEVICE "Arduino Mega ADK"
Volodymyr Shymanskyy 3:31e4b850b126 246 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 247 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 248 #elif defined(ARDUINO_AVR_LEONARDO)
vshymanskyy 0:58b20b438383 249 #define BLYNK_INFO_DEVICE "Arduino Leonardo"
vshymanskyy 0:58b20b438383 250 #elif defined(ARDUINO_AVR_MICRO)
vshymanskyy 0:58b20b438383 251 #define BLYNK_INFO_DEVICE "Arduino Micro"
vshymanskyy 0:58b20b438383 252 #elif defined(ARDUINO_AVR_ESPLORA)
vshymanskyy 0:58b20b438383 253 #define BLYNK_INFO_DEVICE "Arduino Esplora"
vshymanskyy 0:58b20b438383 254 #elif defined(ARDUINO_AVR_LILYPAD)
vshymanskyy 0:58b20b438383 255 #define BLYNK_INFO_DEVICE "Lilypad"
vshymanskyy 0:58b20b438383 256 #elif defined(ARDUINO_AVR_LILYPAD_USB)
vshymanskyy 0:58b20b438383 257 #define BLYNK_INFO_DEVICE "Lilypad USB"
vshymanskyy 0:58b20b438383 258 #elif defined(ARDUINO_AVR_ROBOT_MOTOR)
vshymanskyy 0:58b20b438383 259 #define BLYNK_INFO_DEVICE "Robot Motor"
vshymanskyy 0:58b20b438383 260 #elif defined(ARDUINO_AVR_ROBOT_CONTROL)
vshymanskyy 0:58b20b438383 261 #define BLYNK_INFO_DEVICE "Robot Control"
vshymanskyy 0:58b20b438383 262
vshymanskyy 0:58b20b438383 263 /* Arduino SAM/SAMD */
vshymanskyy 0:58b20b438383 264 #elif defined(ARDUINO_SAM_DUE)
vshymanskyy 0:58b20b438383 265 #define BLYNK_INFO_DEVICE "Arduino Due"
Volodymyr Shymanskyy 3:31e4b850b126 266 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 267 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 268 #elif defined(ARDUINO_SAMD_ZERO)
vshymanskyy 0:58b20b438383 269 #define BLYNK_INFO_DEVICE "Arduino Zero"
Volodymyr Shymanskyy 3:31e4b850b126 270 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 271 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 272 #elif defined(ARDUINO_SAMD_MKR1000)
vshymanskyy 0:58b20b438383 273 #define BLYNK_INFO_DEVICE "Arduino MKR1000"
Volodymyr Shymanskyy 3:31e4b850b126 274 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 275 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 276
vshymanskyy 0:58b20b438383 277 /* Intel */
vshymanskyy 0:58b20b438383 278 #elif defined(ARDUINO_GALILEO)
vshymanskyy 0:58b20b438383 279 #define BLYNK_INFO_DEVICE "Galileo"
Volodymyr Shymanskyy 3:31e4b850b126 280 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 281 #define BLYNK_BUFFERS_SIZE 4096
vshymanskyy 0:58b20b438383 282 #elif defined(ARDUINO_GALILEOGEN2)
vshymanskyy 0:58b20b438383 283 #define BLYNK_INFO_DEVICE "Galileo Gen2"
Volodymyr Shymanskyy 9:7369ec77a3ea 284 #define BLYNK_BUFFERS_SIZE 4096
Volodymyr Shymanskyy 3:31e4b850b126 285 #define BLYNK_USE_128_VPINS
vshymanskyy 0:58b20b438383 286 #elif defined(ARDUINO_EDISON)
vshymanskyy 0:58b20b438383 287 #define BLYNK_INFO_DEVICE "Edison"
Volodymyr Shymanskyy 3:31e4b850b126 288 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 289 #define BLYNK_BUFFERS_SIZE 4096
Volodymyr Shymanskyy 3:31e4b850b126 290 #elif defined(ARDUINO_ARCH_ARC32)
vshymanskyy 0:58b20b438383 291 #define BLYNK_INFO_DEVICE "Arduino 101"
Volodymyr Shymanskyy 3:31e4b850b126 292 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 293 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 294
vshymanskyy 0:58b20b438383 295 /* Konekt */
vshymanskyy 0:58b20b438383 296 #elif defined(ARDUINO_DASH)
vshymanskyy 0:58b20b438383 297 #define BLYNK_INFO_DEVICE "Dash"
vshymanskyy 0:58b20b438383 298 #elif defined(ARDUINO_DASHPRO)
vshymanskyy 0:58b20b438383 299 #define BLYNK_INFO_DEVICE "Dash Pro"
vshymanskyy 0:58b20b438383 300
vshymanskyy 0:58b20b438383 301 /* Red Bear Lab */
vshymanskyy 0:58b20b438383 302 #elif defined(ARDUINO_RedBear_Duo)
vshymanskyy 0:58b20b438383 303 #define BLYNK_INFO_DEVICE "RedBear Duo"
Volodymyr Shymanskyy 3:31e4b850b126 304 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 305 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 306 #elif defined(ARDUINO_BLEND)
vshymanskyy 0:58b20b438383 307 #define BLYNK_INFO_DEVICE "Blend"
vshymanskyy 0:58b20b438383 308 #elif defined(ARDUINO_BLEND_MICRO_8MHZ) || defined(ARDUINO_BLEND_MICRO_16MHZ)
vshymanskyy 0:58b20b438383 309 #define BLYNK_INFO_DEVICE "Blend Micro"
vshymanskyy 0:58b20b438383 310 #elif defined(ARDUINO_RBL_nRF51822)
vshymanskyy 0:58b20b438383 311 #define BLYNK_INFO_DEVICE "BLE Nano"
vshymanskyy 0:58b20b438383 312
vshymanskyy 0:58b20b438383 313 /* ESP8266 */
vshymanskyy 0:58b20b438383 314 #elif defined(ARDUINO_ESP8266_ESP01)
vshymanskyy 0:58b20b438383 315 #define BLYNK_INFO_DEVICE "ESP8266"
vshymanskyy 0:58b20b438383 316 #elif defined(ARDUINO_ESP8266_ESP12)
vshymanskyy 0:58b20b438383 317 #define BLYNK_INFO_DEVICE "ESP-12"
vshymanskyy 0:58b20b438383 318 #elif defined(ARDUINO_ESP8266_NODEMCU)
vshymanskyy 0:58b20b438383 319 #define BLYNK_INFO_DEVICE "NodeMCU"
vshymanskyy 0:58b20b438383 320 #elif defined(ARDUINO_ESP8266_THING)
vshymanskyy 0:58b20b438383 321 #define BLYNK_INFO_DEVICE "Esp Thing"
vshymanskyy 0:58b20b438383 322 #elif defined(ARDUINO_ESP8266_THING_DEV)
vshymanskyy 0:58b20b438383 323 #define BLYNK_INFO_DEVICE "Esp Thing Dev"
vshymanskyy 0:58b20b438383 324
Volodymyr Shymanskyy 7:8879692d4e6c 325 /* ESP32 */
Volodymyr Shymanskyy 7:8879692d4e6c 326 #elif defined(ARDUINO_ESP32_DEV)
Volodymyr Shymanskyy 7:8879692d4e6c 327 #define BLYNK_INFO_DEVICE "ESP32"
Volodymyr Shymanskyy 9:7369ec77a3ea 328 #elif defined(ARDUINO_ESP320)
Volodymyr Shymanskyy 9:7369ec77a3ea 329 #define BLYNK_INFO_DEVICE "SweetPeas ESP320"
Volodymyr Shymanskyy 9:7369ec77a3ea 330 #elif defined(ARDUINO_NANO32)
Volodymyr Shymanskyy 9:7369ec77a3ea 331 #define BLYNK_INFO_DEVICE "ESP32 Nano32"
Volodymyr Shymanskyy 9:7369ec77a3ea 332 #elif defined(ARDUINO_LoLin32)
Volodymyr Shymanskyy 9:7369ec77a3ea 333 #define BLYNK_INFO_DEVICE "LoLin32"
Volodymyr Shymanskyy 9:7369ec77a3ea 334 #elif defined(ARDUINO_ESPea32)
Volodymyr Shymanskyy 9:7369ec77a3ea 335 #define BLYNK_INFO_DEVICE "ESPea32"
Volodymyr Shymanskyy 9:7369ec77a3ea 336 #elif defined(ARDUINO_QUANTUM)
Volodymyr Shymanskyy 9:7369ec77a3ea 337 #define BLYNK_INFO_DEVICE "Noduino Quantum"
Volodymyr Shymanskyy 9:7369ec77a3ea 338
Volodymyr Shymanskyy 9:7369ec77a3ea 339 /* STM32 */
Volodymyr Shymanskyy 9:7369ec77a3ea 340 #elif defined(ARDUINO_ARCH_STM32F1)
Volodymyr Shymanskyy 9:7369ec77a3ea 341 #define BLYNK_INFO_DEVICE "STM32F1"
Volodymyr Shymanskyy 9:7369ec77a3ea 342 #define BLYNK_NO_YIELD
Volodymyr Shymanskyy 9:7369ec77a3ea 343 #elif defined(ARDUINO_ARCH_STM32F3)
Volodymyr Shymanskyy 9:7369ec77a3ea 344 #define BLYNK_INFO_DEVICE "STM32F3"
Volodymyr Shymanskyy 9:7369ec77a3ea 345 #define BLYNK_NO_YIELD
Volodymyr Shymanskyy 9:7369ec77a3ea 346 #elif defined(ARDUINO_ARCH_STM32F4)
Volodymyr Shymanskyy 9:7369ec77a3ea 347 #define BLYNK_INFO_DEVICE "STM32F4"
Volodymyr Shymanskyy 9:7369ec77a3ea 348 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 349 #define BLYNK_BUFFERS_SIZE 1024
Volodymyr Shymanskyy 9:7369ec77a3ea 350 #define BLYNK_NO_YIELD
Volodymyr Shymanskyy 7:8879692d4e6c 351
vshymanskyy 0:58b20b438383 352 /* Digistump */
vshymanskyy 0:58b20b438383 353 #elif defined(ARDUINO_ESP8266_OAK)
vshymanskyy 0:58b20b438383 354 #define BLYNK_INFO_DEVICE "Oak"
Volodymyr Shymanskyy 3:31e4b850b126 355 #define BLYNK_USE_128_VPINS
vshymanskyy 0:58b20b438383 356 #elif defined(ARDUINO_AVR_DIGISPARK)
vshymanskyy 0:58b20b438383 357 #define BLYNK_INFO_DEVICE "Digispark"
Volodymyr Shymanskyy 3:31e4b850b126 358 #define BLYNK_NO_YIELD
vshymanskyy 0:58b20b438383 359 #elif defined(ARDUINO_AVR_DIGISPARKPRO)
vshymanskyy 0:58b20b438383 360 #define BLYNK_INFO_DEVICE "Digispark Pro"
Volodymyr Shymanskyy 3:31e4b850b126 361 #define BLYNK_NO_YIELD
vshymanskyy 0:58b20b438383 362
vshymanskyy 0:58b20b438383 363 /* Microduino */
vshymanskyy 0:58b20b438383 364 #elif defined(ARDUINO_AVR_USB)
vshymanskyy 0:58b20b438383 365 #define BLYNK_INFO_DEVICE "CoreUSB"
vshymanskyy 0:58b20b438383 366 #elif defined(ARDUINO_AVR_PLUS)
vshymanskyy 0:58b20b438383 367 #define BLYNK_INFO_DEVICE "Core+"
vshymanskyy 0:58b20b438383 368 #elif defined(ARDUINO_AVR_RF)
vshymanskyy 0:58b20b438383 369 #define BLYNK_INFO_DEVICE "CoreRF"
vshymanskyy 0:58b20b438383 370
vshymanskyy 0:58b20b438383 371 /* Wildfire */
vshymanskyy 0:58b20b438383 372 #elif defined(ARDUINO_WILDFIRE_V2)
vshymanskyy 0:58b20b438383 373 #define BLYNK_INFO_DEVICE "Wildfire V2"
Volodymyr Shymanskyy 3:31e4b850b126 374 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 375 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 376 #elif defined(ARDUINO_WILDFIRE_V3)
vshymanskyy 0:58b20b438383 377 #define BLYNK_INFO_DEVICE "Wildfire V3"
Volodymyr Shymanskyy 3:31e4b850b126 378 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 379 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 380 #elif defined(ARDUINO_WILDFIRE_V4)
vshymanskyy 0:58b20b438383 381 #define BLYNK_INFO_DEVICE "Wildfire V4"
Volodymyr Shymanskyy 3:31e4b850b126 382 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 383 #define BLYNK_BUFFERS_SIZE 1024
vshymanskyy 0:58b20b438383 384
vshymanskyy 0:58b20b438383 385 /* Simblee */
Volodymyr Shymanskyy 3:31e4b850b126 386 #elif defined(__Simblee__)
vshymanskyy 0:58b20b438383 387 #define BLYNK_INFO_DEVICE "Simblee"
Volodymyr Shymanskyy 3:31e4b850b126 388 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 389 #define BLYNK_BUFFERS_SIZE 512
Volodymyr Shymanskyy 9:7369ec77a3ea 390
Volodymyr Shymanskyy 9:7369ec77a3ea 391 /* RFduino */
Volodymyr Shymanskyy 9:7369ec77a3ea 392 #elif defined(__RFduino__)
Volodymyr Shymanskyy 9:7369ec77a3ea 393 #define BLYNK_INFO_DEVICE "RFduino"
Volodymyr Shymanskyy 9:7369ec77a3ea 394 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 395 #define BLYNK_BUFFERS_SIZE 512
Volodymyr Shymanskyy 9:7369ec77a3ea 396
Volodymyr Shymanskyy 9:7369ec77a3ea 397 /* Nordic NRF5x */
Volodymyr Shymanskyy 9:7369ec77a3ea 398 #elif defined(ARDUINO_ARCH_NRF5)
Volodymyr Shymanskyy 9:7369ec77a3ea 399 #define BLYNK_INFO_DEVICE "nRF5"
Volodymyr Shymanskyy 9:7369ec77a3ea 400 #define BLYNK_USE_128_VPINS
Volodymyr Shymanskyy 9:7369ec77a3ea 401 #define BLYNK_BUFFERS_SIZE 512
vshymanskyy 0:58b20b438383 402
vshymanskyy 0:58b20b438383 403 #else
Volodymyr Shymanskyy 9:7369ec77a3ea 404 #if defined(BLYNK_DEBUG_ALL)
Volodymyr Shymanskyy 9:7369ec77a3ea 405 #warning "Cannot detect board type"
Volodymyr Shymanskyy 9:7369ec77a3ea 406 #endif
vshymanskyy 0:58b20b438383 407 #define BLYNK_INFO_DEVICE "Arduino"
vshymanskyy 0:58b20b438383 408 #endif
vshymanskyy 0:58b20b438383 409
Volodymyr Shymanskyy 7:8879692d4e6c 410 #endif
Volodymyr Shymanskyy 7:8879692d4e6c 411
Volodymyr Shymanskyy 9:7369ec77a3ea 412 #if !defined(BLYNK_MAX_READBYTES) && defined(BLYNK_BUFFERS_SIZE)
Volodymyr Shymanskyy 9:7369ec77a3ea 413 #define BLYNK_MAX_READBYTES BLYNK_BUFFERS_SIZE
Volodymyr Shymanskyy 9:7369ec77a3ea 414 #endif
Volodymyr Shymanskyy 9:7369ec77a3ea 415
Volodymyr Shymanskyy 9:7369ec77a3ea 416 #if !defined(BLYNK_MAX_SENDBYTES) && defined(BLYNK_BUFFERS_SIZE)
Volodymyr Shymanskyy 9:7369ec77a3ea 417 #define BLYNK_MAX_SENDBYTES BLYNK_BUFFERS_SIZE
Volodymyr Shymanskyy 9:7369ec77a3ea 418 #endif
Volodymyr Shymanskyy 9:7369ec77a3ea 419
Volodymyr Shymanskyy 9:7369ec77a3ea 420 // Print diagnostics
Volodymyr Shymanskyy 9:7369ec77a3ea 421
Volodymyr Shymanskyy 9:7369ec77a3ea 422 #if defined(BLYNK_DEBUG_ALL)
Volodymyr Shymanskyy 9:7369ec77a3ea 423 #if defined(BLYNK_INFO_DEVICE)
Volodymyr Shymanskyy 9:7369ec77a3ea 424 #pragma message ("BLYNK_INFO_DEVICE=" BLYNK_TOSTRING(BLYNK_INFO_DEVICE))
Volodymyr Shymanskyy 9:7369ec77a3ea 425 #endif
Volodymyr Shymanskyy 9:7369ec77a3ea 426
Volodymyr Shymanskyy 9:7369ec77a3ea 427 #if defined(BLYNK_INFO_CPU)
Volodymyr Shymanskyy 9:7369ec77a3ea 428 #pragma message ("BLYNK_INFO_CPU=" BLYNK_TOSTRING(BLYNK_INFO_CPU))
Volodymyr Shymanskyy 9:7369ec77a3ea 429 #endif
Volodymyr Shymanskyy 9:7369ec77a3ea 430
Volodymyr Shymanskyy 9:7369ec77a3ea 431 #if defined(BLYNK_BUFFERS_SIZE)
Volodymyr Shymanskyy 9:7369ec77a3ea 432 #pragma message ("BLYNK_BUFFERS_SIZE=" BLYNK_TOSTRING(BLYNK_BUFFERS_SIZE))
Volodymyr Shymanskyy 9:7369ec77a3ea 433 #endif
Volodymyr Shymanskyy 7:8879692d4e6c 434 #endif
Volodymyr Shymanskyy 7:8879692d4e6c 435
vshymanskyy 0:58b20b438383 436 #endif
vshymanskyy 0:58b20b438383 437
vshymanskyy 0:58b20b438383 438 #endif