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:
Wed Oct 12 09:18:39 2016 +0300
Revision:
7:8879692d4e6c
Parent:
0:58b20b438383
Child:
9:7369ec77a3ea
Update library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vshymanskyy 0:58b20b438383 1 /**
vshymanskyy 0:58b20b438383 2 * @file BlynkProtocolDefs.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 Blynk protocol definitions
vshymanskyy 0:58b20b438383 8 *
vshymanskyy 0:58b20b438383 9 */
vshymanskyy 0:58b20b438383 10
vshymanskyy 0:58b20b438383 11 #ifndef BlynkProtocolDefs_h
vshymanskyy 0:58b20b438383 12 #define BlynkProtocolDefs_h
vshymanskyy 0:58b20b438383 13
vshymanskyy 0:58b20b438383 14 enum BlynkCmd
vshymanskyy 0:58b20b438383 15 {
vshymanskyy 0:58b20b438383 16 BLYNK_CMD_RESPONSE = 0,
vshymanskyy 0:58b20b438383 17 BLYNK_CMD_REGISTER = 1,
vshymanskyy 0:58b20b438383 18 BLYNK_CMD_LOGIN = 2,
vshymanskyy 0:58b20b438383 19 BLYNK_CMD_SAVE_PROF = 3,
vshymanskyy 0:58b20b438383 20 BLYNK_CMD_LOAD_PROF = 4,
vshymanskyy 0:58b20b438383 21 BLYNK_CMD_GET_TOKEN = 5,
vshymanskyy 0:58b20b438383 22 BLYNK_CMD_PING = 6,
vshymanskyy 0:58b20b438383 23 BLYNK_CMD_ACTIVATE = 7,
vshymanskyy 0:58b20b438383 24 BLYNK_CMD_DEACTIVATE = 8,
vshymanskyy 0:58b20b438383 25 BLYNK_CMD_REFRESH = 9,
vshymanskyy 0:58b20b438383 26 BLYNK_CMD_GET_GRAPH_DATA = 10,
vshymanskyy 0:58b20b438383 27 BLYNK_CMD_GET_GRAPH_DATA_RESPONSE = 11,
vshymanskyy 0:58b20b438383 28
vshymanskyy 0:58b20b438383 29 BLYNK_CMD_TWEET = 12,
vshymanskyy 0:58b20b438383 30 BLYNK_CMD_EMAIL = 13,
vshymanskyy 0:58b20b438383 31 BLYNK_CMD_NOTIFY = 14,
vshymanskyy 0:58b20b438383 32 BLYNK_CMD_BRIDGE = 15,
vshymanskyy 0:58b20b438383 33 BLYNK_CMD_HARDWARE_SYNC = 16,
vshymanskyy 0:58b20b438383 34 BLYNK_CMD_HARDWARE_INFO = 17,
vshymanskyy 0:58b20b438383 35 BLYNK_CMD_SMS = 18,
Volodymyr Shymanskyy 7:8879692d4e6c 36 BLYNK_CMD_PROPERTY = 19,
vshymanskyy 0:58b20b438383 37 BLYNK_CMD_HARDWARE = 20,
vshymanskyy 0:58b20b438383 38
vshymanskyy 0:58b20b438383 39 BLYNK_CMD_CREATE_DASH = 21,
vshymanskyy 0:58b20b438383 40 BLYNK_CMD_SAVE_DASH = 22,
vshymanskyy 0:58b20b438383 41 BLYNK_CMD_DELETE_DASH = 23,
vshymanskyy 0:58b20b438383 42 BLYNK_CMD_LOAD_PROF_GZ = 24,
vshymanskyy 0:58b20b438383 43 BLYNK_CMD_SYNC = 25,
vshymanskyy 0:58b20b438383 44 BLYNK_CMD_SHARING = 26,
vshymanskyy 0:58b20b438383 45 BLYNK_CMD_ADD_PUSH_TOKEN = 27,
vshymanskyy 0:58b20b438383 46
vshymanskyy 0:58b20b438383 47 //sharing commands
vshymanskyy 0:58b20b438383 48 BLYNK_CMD_GET_SHARED_DASH = 29,
vshymanskyy 0:58b20b438383 49 BLYNK_CMD_GET_SHARE_TOKEN = 30,
vshymanskyy 0:58b20b438383 50 BLYNK_CMD_REFRESH_SHARE_TOKEN = 31,
vshymanskyy 0:58b20b438383 51 BLYNK_CMD_SHARE_LOGIN = 32
vshymanskyy 0:58b20b438383 52 };
vshymanskyy 0:58b20b438383 53
vshymanskyy 0:58b20b438383 54 enum BlynkStatus
vshymanskyy 0:58b20b438383 55 {
vshymanskyy 0:58b20b438383 56 BLYNK_SUCCESS = 200,
vshymanskyy 0:58b20b438383 57 BLYNK_QUOTA_LIMIT_EXCEPTION = 1,
vshymanskyy 0:58b20b438383 58 BLYNK_ILLEGAL_COMMAND = 2,
vshymanskyy 0:58b20b438383 59 BLYNK_NOT_REGISTERED = 3,
vshymanskyy 0:58b20b438383 60 BLYNK_ALREADY_REGISTERED = 4,
vshymanskyy 0:58b20b438383 61 BLYNK_NOT_AUTHENTICATED = 5,
vshymanskyy 0:58b20b438383 62 BLYNK_NOT_ALLOWED = 6,
vshymanskyy 0:58b20b438383 63 BLYNK_NO_CONNECTION = 7,
vshymanskyy 0:58b20b438383 64 BLYNK_NO_ACTIVE_DASHBOARD = 8,
vshymanskyy 0:58b20b438383 65 BLYNK_INVALID_TOKEN = 9,
vshymanskyy 0:58b20b438383 66 BLYNK_DEVICE_WENT_OFFLINE = 10,
vshymanskyy 0:58b20b438383 67 BLYNK_ALREADY_LOGGED_IN = 11,
vshymanskyy 0:58b20b438383 68 BLYNK_GET_GRAPH_DATA_EXCEPTION = 12,
vshymanskyy 0:58b20b438383 69 BLYNK_NO_DATA_EXCEPTION = 17,
vshymanskyy 0:58b20b438383 70 BLYNK_DEVICE_WENT_OFFLINE_2 = 18,
vshymanskyy 0:58b20b438383 71 BLYNK_SERVER_EXCEPTION = 19,
vshymanskyy 0:58b20b438383 72
vshymanskyy 0:58b20b438383 73 BLYNK_NTF_INVALID_BODY = 13,
vshymanskyy 0:58b20b438383 74 BLYNK_NTF_NOT_AUTHORIZED = 14,
vshymanskyy 0:58b20b438383 75 BLYNK_NTF_ECXEPTION = 15,
vshymanskyy 0:58b20b438383 76
vshymanskyy 0:58b20b438383 77 BLYNK_TIMEOUT = 16
vshymanskyy 0:58b20b438383 78 };
vshymanskyy 0:58b20b438383 79
vshymanskyy 0:58b20b438383 80 struct BlynkHeader
vshymanskyy 0:58b20b438383 81 {
vshymanskyy 0:58b20b438383 82 uint8_t type;
vshymanskyy 0:58b20b438383 83 uint16_t msg_id;
vshymanskyy 0:58b20b438383 84 uint16_t length;
vshymanskyy 0:58b20b438383 85 }
vshymanskyy 0:58b20b438383 86 BLYNK_ATTR_PACKED;
vshymanskyy 0:58b20b438383 87
Volodymyr Shymanskyy 7:8879692d4e6c 88 #if !defined(ESP32) && (defined(ARDUINO) || defined(ESP8266) || defined(PARTICLE) || defined(MBED_LIBRARY_VERSION))
vshymanskyy 0:58b20b438383 89 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
vshymanskyy 0:58b20b438383 90 #define htons(x) ( ((x)<<8) | (((x)>>8)&0xFF) )
vshymanskyy 0:58b20b438383 91 #define htonl(x) ( ((x)<<24 & 0xFF000000UL) | \
vshymanskyy 0:58b20b438383 92 ((x)<< 8 & 0x00FF0000UL) | \
vshymanskyy 0:58b20b438383 93 ((x)>> 8 & 0x0000FF00UL) | \
vshymanskyy 0:58b20b438383 94 ((x)>>24 & 0x000000FFUL) )
vshymanskyy 0:58b20b438383 95 #define ntohs(x) htons(x)
vshymanskyy 0:58b20b438383 96 #define ntohl(x) htonl(x)
vshymanskyy 0:58b20b438383 97 #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
vshymanskyy 0:58b20b438383 98 #define htons(x) (x)
vshymanskyy 0:58b20b438383 99 #define htonl(x) (x)
vshymanskyy 0:58b20b438383 100 #define ntohs(x) (x)
vshymanskyy 0:58b20b438383 101 #define ntohl(x) (x)
vshymanskyy 0:58b20b438383 102 #else
vshymanskyy 0:58b20b438383 103 #error byte order problem
vshymanskyy 0:58b20b438383 104 #endif
vshymanskyy 0:58b20b438383 105 #endif
vshymanskyy 0:58b20b438383 106
vshymanskyy 0:58b20b438383 107 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
vshymanskyy 0:58b20b438383 108 #define BLYNK_HW_PM (('p' << 0) | ('m' << 8))
vshymanskyy 0:58b20b438383 109 #define BLYNK_HW_DW (('d' << 0) | ('w' << 8))
vshymanskyy 0:58b20b438383 110 #define BLYNK_HW_DR (('d' << 0) | ('r' << 8))
vshymanskyy 0:58b20b438383 111 #define BLYNK_HW_AW (('a' << 0) | ('w' << 8))
vshymanskyy 0:58b20b438383 112 #define BLYNK_HW_AR (('a' << 0) | ('r' << 8))
vshymanskyy 0:58b20b438383 113 #define BLYNK_HW_VW (('v' << 0) | ('w' << 8))
vshymanskyy 0:58b20b438383 114 #define BLYNK_HW_VR (('v' << 0) | ('r' << 8))
vshymanskyy 0:58b20b438383 115 #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
vshymanskyy 0:58b20b438383 116 #define BLYNK_HW_PM (('p' << 8) | ('m' << 0))
vshymanskyy 0:58b20b438383 117 #define BLYNK_HW_DW (('d' << 8) | ('w' << 0))
vshymanskyy 0:58b20b438383 118 #define BLYNK_HW_DR (('d' << 8) | ('r' << 0))
vshymanskyy 0:58b20b438383 119 #define BLYNK_HW_AW (('a' << 8) | ('w' << 0))
vshymanskyy 0:58b20b438383 120 #define BLYNK_HW_AR (('a' << 8) | ('r' << 0))
vshymanskyy 0:58b20b438383 121 #define BLYNK_HW_VW (('v' << 8) | ('w' << 0))
vshymanskyy 0:58b20b438383 122 #define BLYNK_HW_VR (('v' << 8) | ('r' << 0))
vshymanskyy 0:58b20b438383 123 #else
vshymanskyy 0:58b20b438383 124 #error byte order problem
vshymanskyy 0:58b20b438383 125 #endif
vshymanskyy 0:58b20b438383 126
vshymanskyy 0:58b20b438383 127 #endif