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
utility/BlynkDebug.cpp@18:c328c1a97f90, 2017-11-29 (annotated)
- Committer:
- Volodymyr Shymanskyy
- Date:
- Wed Nov 29 14:05:41 2017 +0200
- Revision:
- 18:c328c1a97f90
- Parent:
- 16:6d9bf99b263c
- Child:
- 22:e1d3971fd902
Update version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vshymanskyy | 0:58b20b438383 | 1 | /** |
vshymanskyy | 0:58b20b438383 | 2 | * @file BlynkDebug.cpp |
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 Debug utilities for Arduino |
vshymanskyy | 0:58b20b438383 | 8 | */ |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 9 | #include <Blynk/BlynkDebug.h> |
vshymanskyy | 0:58b20b438383 | 10 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 11 | #if defined(ARDUINO) && defined(__AVR__) && defined(BLYNK_USE_AVR_WDT) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 12 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 13 | #include <Arduino.h> |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 14 | #include <avr/wdt.h> |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 15 | |
Volodymyr Shymanskyy |
16:6d9bf99b263c | 16 | BLYNK_CONSTRUCTOR |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 17 | static void BlynkSystemInit() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 18 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 19 | MCUSR = 0; |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 20 | wdt_disable(); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 21 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 22 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 23 | void BlynkReset() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 24 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 25 | wdt_enable(WDTO_15MS); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 26 | delay(50); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 27 | void(*resetFunc)(void) = 0; |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 28 | resetFunc(); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 29 | for(;;) {} // To make compiler happy |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 30 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 31 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 32 | size_t BlynkFreeRam() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 33 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 34 | extern int __heap_start, *__brkval; |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 35 | int v; |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 36 | return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 37 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 38 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 39 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 40 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 41 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 42 | #elif defined(ARDUINO) && defined(__AVR__) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 43 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 44 | #include <Arduino.h> |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 45 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 46 | void BlynkReset() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 47 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 48 | void(*resetFunc)(void) = 0; |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 49 | resetFunc(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 50 | for(;;) {} |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 51 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 52 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 53 | size_t BlynkFreeRam() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 54 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 55 | extern int __heap_start, *__brkval; |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 56 | int v; |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 57 | return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 58 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 59 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 60 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 61 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 62 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 63 | #elif defined(ARDUINO) && defined(ESP8266) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 64 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 65 | #include <Arduino.h> |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 66 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 67 | size_t BlynkFreeRam() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 68 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 69 | return ESP.getFreeHeap(); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 70 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 71 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 72 | void BlynkReset() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 73 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 74 | ESP.restart(); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 75 | for(;;) {} |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 76 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 77 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 78 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 79 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 80 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 81 | #elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_SAM) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 82 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 83 | #include <Arduino.h> |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 84 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 85 | size_t BlynkFreeRam() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 86 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 87 | return 0; |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 88 | } |
vshymanskyy | 0:58b20b438383 | 89 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 90 | void BlynkReset() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 91 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 92 | NVIC_SystemReset(); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 93 | for(;;) {} |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 94 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 95 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 96 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 97 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 98 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 99 | #elif defined (ARDUINO_ARCH_ARC32) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 100 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 101 | millis_time_t BlynkMillis() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 102 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 103 | // TODO: Remove workaround for Intel Curie |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 104 | // https://forum.arduino.cc/index.php?topic=391836.0 |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 105 | noInterrupts(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 106 | uint64_t t = millis(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 107 | interrupts(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 108 | return t; |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 109 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 110 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 111 | #define _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 112 | #define _BLYNK_USE_DEFAULT_RESET |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 113 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 114 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 115 | #elif defined(ARDUINO) && (defined(__STM32F1__) || defined(__STM32F3__)) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 116 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 117 | #include <Arduino.h> |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 118 | #include <libmaple/nvic.h> |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 119 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 120 | void BlynkReset() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 121 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 122 | nvic_sys_reset(); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 123 | for(;;) {} |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 124 | } |
vshymanskyy | 0:58b20b438383 | 125 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 126 | #define _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 127 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 128 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 129 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 130 | #elif defined (PARTICLE) || defined(SPARK) |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 131 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 132 | #include "application.h" |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 133 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 134 | void BlynkReset() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 135 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 136 | System.reset(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 137 | for(;;) {} // To make compiler happy |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 138 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 139 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 140 | #define _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 141 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 142 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 143 | |
Volodymyr Shymanskyy |
16:6d9bf99b263c | 144 | #elif defined(__MBED__) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 145 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 146 | #include "mbed.h" |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 147 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 148 | static Timer blynk_millis_timer; |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 149 | static Ticker blynk_waker; |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 150 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 151 | static |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 152 | void blynk_wake() { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 153 | //pc.puts("(...)"); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 154 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 155 | |
Volodymyr Shymanskyy |
16:6d9bf99b263c | 156 | BLYNK_CONSTRUCTOR |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 157 | static void BlynkSystemInit() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 158 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 159 | blynk_waker.attach(&blynk_wake, 2.0); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 160 | blynk_millis_timer.start(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 161 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 162 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 163 | void BlynkDelay(millis_time_t ms) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 164 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 165 | wait_ms(ms); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 166 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 167 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 168 | millis_time_t BlynkMillis() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 169 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 170 | return blynk_millis_timer.read_ms(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 171 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 172 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 173 | #define _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 174 | #define _BLYNK_USE_DEFAULT_RESET |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 175 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 176 | #elif defined(LINUX) && defined(RASPBERRY) |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 177 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 178 | #include <stdlib.h> |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 179 | #include <wiringPi.h> |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 180 | |
Volodymyr Shymanskyy |
16:6d9bf99b263c | 181 | BLYNK_CONSTRUCTOR |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 182 | static void BlynkSystemInit() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 183 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 184 | wiringPiSetupGpio(); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 185 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 186 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 187 | void BlynkReset() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 188 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 189 | exit(1); |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 190 | for(;;) {} // To make compiler happy |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 191 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 192 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 193 | #define _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 194 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 195 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 196 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 197 | #elif defined(LINUX) |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 198 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 199 | #define _POSIX_C_SOURCE 200809L |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 200 | #include <stdlib.h> |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 201 | #include <time.h> |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 202 | #include <unistd.h> |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 203 | |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 204 | static millis_time_t blynk_startup_time = 0; |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 205 | |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 206 | BLYNK_CONSTRUCTOR |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 207 | static void BlynkSystemInit() |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 208 | { |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 209 | blynk_startup_time = BlynkMillis(); |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 210 | } |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 211 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 212 | void BlynkReset() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 213 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 214 | exit(1); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 215 | for(;;) {} // To make compiler happy |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 216 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 217 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 218 | void BlynkDelay(millis_time_t ms) |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 219 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 220 | usleep(ms * 1000); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 221 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 222 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 223 | millis_time_t BlynkMillis() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 224 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 225 | struct timespec ts; |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 226 | clock_gettime(CLOCK_MONOTONIC, &ts ); |
Volodymyr Shymanskyy |
18:c328c1a97f90 | 227 | return ( ts.tv_sec * 1000 + ts.tv_nsec / 1000000L ) - blynk_startup_time; |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 228 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 229 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 230 | #define _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 231 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 232 | #else |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 233 | |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 234 | #if defined(BLYNK_DEBUG_ALL) |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 235 | #warning "Need to implement board-specific utilities" |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 236 | #endif |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 237 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 238 | #define _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 239 | #define _BLYNK_USE_DEFAULT_RESET |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 240 | #define _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 241 | #define _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 242 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 243 | #endif |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 244 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 245 | #ifdef _BLYNK_USE_DEFAULT_DELAY |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 246 | void BlynkDelay(millis_time_t ms) |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 247 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 248 | return delay(ms); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 249 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 250 | #endif |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 251 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 252 | #ifdef _BLYNK_USE_DEFAULT_MILLIS |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 253 | millis_time_t BlynkMillis() |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 254 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 255 | return millis(); |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 256 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 257 | #endif |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 258 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 259 | #ifdef _BLYNK_USE_DEFAULT_FREE_RAM |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 260 | size_t BlynkFreeRam() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 261 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 262 | return 0; |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 263 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 264 | #endif |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 265 | |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 266 | #ifdef _BLYNK_USE_DEFAULT_RESET |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 267 | void BlynkReset() |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 268 | { |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 269 | for(;;) {} // To make compiler happy |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 270 | } |
Volodymyr Shymanskyy |
9:7369ec77a3ea | 271 | #endif |
vshymanskyy | 0:58b20b438383 | 272 | |
vshymanskyy | 0:58b20b438383 | 273 | void BlynkFatal() |
vshymanskyy | 0:58b20b438383 | 274 | { |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 275 | BlynkDelay(10000L); |
vshymanskyy | 0:58b20b438383 | 276 | BlynkReset(); |
vshymanskyy | 0:58b20b438383 | 277 | } |
Volodymyr Shymanskyy |
15:975b60f7a8ff | 278 |