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

Revision:
0:58b20b438383
Child:
3:31e4b850b126
diff -r 000000000000 -r 58b20b438383 Blynk/BlynkDetectDevice.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Blynk/BlynkDetectDevice.h	Sat May 07 08:02:50 2016 +0000
@@ -0,0 +1,232 @@
+/**
+ * @file       BlynkDetectDevice.h
+ * @author     Volodymyr Shymanskyy
+ * @license    This project is released under the MIT License (MIT)
+ * @copyright  Copyright (c) 2016 Volodymyr Shymanskyy
+ * @date       May 2016
+ * @brief
+ *
+ */
+
+#ifndef BlynkDetectDevice_h
+#define BlynkDetectDevice_h
+
+#ifndef BLYNK_INFO_CPU
+
+    /******************************************
+     * ATmega
+     */
+
+    #if   defined(__AVR_ATmega168__)
+    #define BLYNK_INFO_CPU      "ATmega168"
+    #elif defined(__AVR_ATmega328P__)
+    #define BLYNK_INFO_CPU      "ATmega328P"
+    #elif defined(__AVR_ATmega1280__)
+    #define BLYNK_INFO_CPU      "ATmega1280"
+    #elif defined(__AVR_ATmega1284__)
+    #define BLYNK_INFO_CPU      "ATmega1284"
+    #elif defined(__AVR_ATmega2560__)
+    #define BLYNK_INFO_CPU      "ATmega2560"
+    #elif defined(__AVR_ATmega32U4__)
+    #define BLYNK_INFO_CPU      "ATmega32U4"
+    #elif defined(__SAM3X8E__)
+    #define BLYNK_INFO_CPU      "AT91SAM3X8E"
+
+    /******************************************
+     * ATtiny
+     */
+
+    #elif defined(__AVR_ATtiny25__)
+    #define BLYNK_INFO_CPU      "ATtiny25"
+    #elif defined(__AVR_ATtiny45__)
+    #define BLYNK_INFO_CPU      "ATtiny45"
+    #elif defined(__AVR_ATtiny85__)
+    #define BLYNK_INFO_CPU      "ATtiny85"
+    #elif defined(__AVR_ATtiny24__)
+    #define BLYNK_INFO_CPU      "ATtiny24"
+    #elif defined(__AVR_ATtiny44__)
+    #define BLYNK_INFO_CPU      "ATtiny44"
+    #elif defined(__AVR_ATtiny84__)
+    #define BLYNK_INFO_CPU      "ATtiny84"
+    #elif defined(__AVR_ATtiny2313__)
+    #define BLYNK_INFO_CPU      "ATtiny2313"
+    #elif defined(__AVR_ATtiny4313__)
+    #define BLYNK_INFO_CPU      "ATtiny4313"
+    #endif
+#endif
+
+#ifndef BLYNK_INFO_DEVICE
+
+    #if   defined(ENERGIA)
+        #define BLYNK_INFO_DEVICE  "Energia"
+
+        #if   defined(__MSP430F5529__)
+        #define BLYNK_INFO_CPU  "MSP430F5529"
+        #define BLYNK_NO_FLOAT
+        #endif
+
+    #elif defined(LINUX)
+
+        #define BLYNK_INFO_DEVICE  "Linux"
+
+    #elif defined(SPARK) || defined(PARTICLE)
+
+        #if PLATFORM_ID==0
+        #define BLYNK_INFO_DEVICE  "Particle Core"
+        #elif PLATFORM_ID==6
+        #define BLYNK_INFO_DEVICE  "Particle Photon"
+        #elif PLATFORM_ID==8
+        #define BLYNK_INFO_DEVICE  "Particle P1"
+        #elif PLATFORM_ID==9
+        #define BLYNK_INFO_DEVICE  "Particle Ethernet"
+        #elif PLATFORM_ID==10
+        #define BLYNK_INFO_DEVICE  "Particle Electron"
+        #elif PLATFORM_ID==82
+        #define BLYNK_INFO_DEVICE  "Digistump Oak"
+        #elif PLATFORM_ID==88
+        #define BLYNK_INFO_DEVICE  "RedBear Duo"
+        #elif PLATFORM_ID==103
+        #define BLYNK_INFO_DEVICE  "Bluz"
+        #else
+        #warning "Cannot detect board type"
+        #define BLYNK_INFO_DEVICE  "Particle"
+        #endif
+
+    #elif defined(MBED_LIBRARY_VERSION)
+
+        #define BLYNK_INFO_DEVICE  "MBED"
+
+    #elif defined(ARDUINO) && defined(MPIDE)
+        #define BLYNK_NO_YIELD
+
+        #if   defined(_BOARD_UNO_)
+        #define BLYNK_INFO_DEVICE  "chipKIT Uno32"
+        #else
+        #define BLYNK_INFO_DEVICE  "chipKIT"
+        #endif
+
+    #elif defined(ARDUINO)
+
+        /* Arduino AVR */
+        #if   defined(ARDUINO_AVR_NANO)
+        #define BLYNK_INFO_DEVICE  "Arduino Nano"
+        #elif defined(ARDUINO_AVR_UNO) || defined(ARDUINO_AVR_DUEMILANOVE)
+        #define BLYNK_INFO_DEVICE  "Arduino Uno"
+        #elif defined(ARDUINO_AVR_YUN)
+        #define BLYNK_INFO_DEVICE  "Arduino Yun"
+        #elif defined(ARDUINO_AVR_MINI)
+        #define BLYNK_INFO_DEVICE  "Arduino Mini"
+        #elif defined(ARDUINO_AVR_ETHERNET)
+        #define BLYNK_INFO_DEVICE  "Arduino Ethernet"
+        #elif defined(ARDUINO_AVR_FIO)
+        #define BLYNK_INFO_DEVICE  "Arduino Fio"
+        #elif defined(ARDUINO_AVR_BT)
+        #define BLYNK_INFO_DEVICE  "Arduino BT"
+        #elif defined(ARDUINO_AVR_PRO)
+        #define BLYNK_INFO_DEVICE  "Arduino Pro"
+        #elif defined(ARDUINO_AVR_NG)
+        #define BLYNK_INFO_DEVICE  "Arduino NG"
+        #elif defined(ARDUINO_AVR_GEMMA)
+        #define BLYNK_INFO_DEVICE  "Arduino Gemma"
+        #elif defined(ARDUINO_AVR_MEGA) || defined(ARDUINO_AVR_MEGA2560)
+        #define BLYNK_INFO_DEVICE  "Arduino Mega"
+        #elif defined(ARDUINO_AVR_ADK)
+        #define BLYNK_INFO_DEVICE  "Arduino Mega ADK"
+        #elif defined(ARDUINO_AVR_LEONARDO)
+        #define BLYNK_INFO_DEVICE  "Arduino Leonardo"
+        #elif defined(ARDUINO_AVR_MICRO)
+        #define BLYNK_INFO_DEVICE  "Arduino Micro"
+        #elif defined(ARDUINO_AVR_ESPLORA)
+        #define BLYNK_INFO_DEVICE  "Arduino Esplora"
+        #elif defined(ARDUINO_AVR_LILYPAD)
+        #define BLYNK_INFO_DEVICE  "Lilypad"
+        #elif defined(ARDUINO_AVR_LILYPAD_USB)
+        #define BLYNK_INFO_DEVICE  "Lilypad USB"
+        #elif defined(ARDUINO_AVR_ROBOT_MOTOR)
+        #define BLYNK_INFO_DEVICE  "Robot Motor"
+        #elif defined(ARDUINO_AVR_ROBOT_CONTROL)
+        #define BLYNK_INFO_DEVICE  "Robot Control"
+
+        /* Arduino SAM/SAMD */
+        #elif defined(ARDUINO_SAM_DUE)
+        #define BLYNK_INFO_DEVICE  "Arduino Due"
+        #elif defined(ARDUINO_SAMD_ZERO)
+        #define BLYNK_INFO_DEVICE  "Arduino Zero"
+        #elif defined(ARDUINO_SAMD_MKR1000)
+        #define BLYNK_INFO_DEVICE  "Arduino MKR1000"
+
+        /* Intel */
+        #elif defined(ARDUINO_GALILEO)
+        #define BLYNK_INFO_DEVICE  "Galileo"
+        #elif defined(ARDUINO_GALILEOGEN2)
+        #define BLYNK_INFO_DEVICE  "Galileo Gen2"
+        #elif defined(ARDUINO_EDISON)
+        #define BLYNK_INFO_DEVICE  "Edison"
+        #elif defined(ARDUINO_ARCH_ARC32) // TODO
+        #define BLYNK_INFO_DEVICE  "Arduino 101"
+
+        /* Konekt */
+        #elif defined(ARDUINO_DASH)
+        #define BLYNK_INFO_DEVICE  "Dash"
+        #elif defined(ARDUINO_DASHPRO)
+        #define BLYNK_INFO_DEVICE  "Dash Pro"
+
+        /* Red Bear Lab */
+        #elif defined(ARDUINO_RedBear_Duo)
+        #define BLYNK_INFO_DEVICE  "RedBear Duo"
+        #elif defined(ARDUINO_BLEND)
+        #define BLYNK_INFO_DEVICE  "Blend"
+        #elif defined(ARDUINO_BLEND_MICRO_8MHZ) || defined(ARDUINO_BLEND_MICRO_16MHZ)
+        #define BLYNK_INFO_DEVICE  "Blend Micro"
+        #elif defined(ARDUINO_RBL_nRF51822)
+        #define BLYNK_INFO_DEVICE  "BLE Nano"
+
+        /* ESP8266 */
+        #elif defined(ARDUINO_ESP8266_ESP01)
+        #define BLYNK_INFO_DEVICE  "ESP8266"
+        #elif defined(ARDUINO_ESP8266_ESP12)
+        #define BLYNK_INFO_DEVICE  "ESP-12"
+        #elif defined(ARDUINO_ESP8266_NODEMCU)
+        #define BLYNK_INFO_DEVICE  "NodeMCU"
+        #elif defined(ARDUINO_ESP8266_THING)
+        #define BLYNK_INFO_DEVICE  "Esp Thing"
+        #elif defined(ARDUINO_ESP8266_THING_DEV)
+        #define BLYNK_INFO_DEVICE  "Esp Thing Dev"
+
+        /* Digistump */
+        #elif defined(ARDUINO_ESP8266_OAK)
+        #define BLYNK_INFO_DEVICE  "Oak"
+        #elif defined(ARDUINO_AVR_DIGISPARK)
+        #define BLYNK_INFO_DEVICE  "Digispark"
+        #elif defined(ARDUINO_AVR_DIGISPARKPRO)
+        #define BLYNK_INFO_DEVICE  "Digispark Pro"
+
+        /* Microduino */
+        #elif defined(ARDUINO_AVR_USB)
+        #define BLYNK_INFO_DEVICE  "CoreUSB"
+        #elif defined(ARDUINO_AVR_PLUS)
+        #define BLYNK_INFO_DEVICE  "Core+"
+        #elif defined(ARDUINO_AVR_RF)
+        #define BLYNK_INFO_DEVICE  "CoreRF"
+
+        /* Wildfire */
+        #elif defined(ARDUINO_WILDFIRE_V2)
+        #define BLYNK_INFO_DEVICE  "Wildfire V2"
+        #elif defined(ARDUINO_WILDFIRE_V3)
+        #define BLYNK_INFO_DEVICE  "Wildfire V3"
+        #elif defined(ARDUINO_WILDFIRE_V4)
+        #define BLYNK_INFO_DEVICE  "Wildfire V4"
+
+        /* Simblee */
+        #elif defined(__Simblee__) // TODO: ARDUINO_SIMBLEE bug?
+        #define BLYNK_INFO_DEVICE  "Simblee"
+
+        #else
+        #warning "Cannot detect board type"
+        #define BLYNK_INFO_DEVICE  "Arduino"
+        #endif
+
+	#endif
+#endif
+
+#endif