Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of WIZwiki-7500_Blynk by
BlynkDebug.cpp
00001 /** 00002 * @file BlynkDebug.cpp 00003 * @author Volodymyr Shymanskyy 00004 * @license This project is released under the MIT License (MIT) 00005 * @copyright Copyright (c) 2015 Volodymyr Shymanskyy 00006 * @date Jan 2015 00007 * @brief Debug utilities for Arduino 00008 */ 00009 #include <Blynk/BlynkDebug.h> 00010 00011 #if defined(BLYNK_USE_AVR_WDT) 00012 00013 #include <Arduino.h> 00014 #include <avr/wdt.h> 00015 00016 size_t BlynkFreeRam() 00017 { 00018 extern int __heap_start, *__brkval; 00019 int v; 00020 return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); 00021 } 00022 00023 void wdt_init(void) __attribute__((naked)) __attribute__((section(".init3"))); 00024 00025 void wdt_init(void) 00026 { 00027 MCUSR = 0; 00028 wdt_disable(); 00029 00030 return; 00031 } 00032 00033 void BlynkReset() 00034 { 00035 wdt_enable(WDTO_15MS); 00036 delay(50); 00037 void(*resetFunc)(void) = 0; 00038 resetFunc(); 00039 for(;;) {} // To make compiler happy 00040 } 00041 00042 #elif defined(__AVR__) 00043 00044 #include <Arduino.h> 00045 00046 size_t BlynkFreeRam() 00047 { 00048 extern int __heap_start, *__brkval; 00049 int v; 00050 return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); 00051 } 00052 00053 void BlynkReset() 00054 { 00055 void(*resetFunc)(void) = 0; 00056 resetFunc(); 00057 for(;;) {} 00058 } 00059 00060 #elif defined(ESP8266) 00061 00062 #include <Arduino.h> 00063 00064 size_t BlynkFreeRam() 00065 { 00066 return ESP.getFreeHeap(); 00067 } 00068 00069 void BlynkReset() 00070 { 00071 ESP.restart(); 00072 for(;;) {} 00073 } 00074 00075 #elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_SAM) 00076 00077 #include <Arduino.h> 00078 00079 size_t BlynkFreeRam() 00080 { 00081 return 0; 00082 } 00083 00084 void BlynkReset() 00085 { 00086 NVIC_SystemReset(); 00087 for(;;) {} 00088 } 00089 00090 #elif defined (PARTICLE) || defined(SPARK) 00091 00092 #include "application.h" 00093 00094 size_t BlynkFreeRam() 00095 { 00096 return 0; 00097 } 00098 00099 void BlynkReset() 00100 { 00101 System.reset(); 00102 for(;;) {} // To make compiler happy 00103 } 00104 00105 #elif defined(__STM32F1__) || defined(__STM32F3__) 00106 00107 #include <Arduino.h> 00108 #include <libmaple/nvic.h> 00109 00110 size_t BlynkFreeRam() 00111 { 00112 return 0; 00113 } 00114 00115 void BlynkReset() 00116 { 00117 nvic_sys_reset(); 00118 for(;;) {} 00119 } 00120 00121 // TODO: 00122 //#elif defined (TEENSYDUINO) 00123 //#elif defined (__STM32F4__) 00124 //#elif defined (ARDUINO_ARCH_ARC32) 00125 //#elif defined (__RFduino__) || defined (__Simblee__) 00126 00127 #elif defined(MBED_LIBRARY_VERSION) 00128 00129 #include "mbed.h" 00130 00131 size_t BlynkFreeRam() 00132 { 00133 return 0; 00134 } 00135 00136 void BlynkReset() 00137 { 00138 for(;;) {} // To make compiler happy 00139 } 00140 00141 #else 00142 00143 #if defined(BLYNK_DEBUG_ALL) 00144 #warning "Need to implement board-specific utilities" 00145 #endif 00146 00147 size_t BlynkFreeRam() 00148 { 00149 return 0; 00150 } 00151 00152 void BlynkReset() 00153 { 00154 for(;;) {} // To make compiler happy 00155 } 00156 00157 #endif 00158 00159 void BlynkFatal() 00160 { 00161 //delay(10000L); 00162 BlynkReset(); 00163 }
Generated on Thu Jul 14 2022 00:21:50 by
1.7.2
