You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -82,13 +82,13 @@ is wrong, it restarts itself to tell you about it.
82
82
83
83
There are two typical scenarios that trigger ESP restarts:
84
84
85
-
- **Exception** - when code is performing `illegal
85
+
- **Exception** - when the code attempts an `illegal
86
86
operation <../exception_causes.rst>`__,
87
87
like trying to write to non-existent memory location.
88
-
- **Watchdog** - if code is `locked
89
-
up <https://en.wikipedia.org/wiki/Watchdog_timer>`__ staying too long
90
-
in a loop or processing some task, so vital processes like Wi-Fi
91
-
communication are not able to run.
88
+
- **Watchdog** - if the code `locks
89
+
up <https://en.wikipedia.org/wiki/Watchdog_timer>`__, staying too long
90
+
in a loop or processing any other task without any pauses, which would
91
+
prevent vital processes like Wi-Fi communication from running.
92
92
93
93
Please check below how to recognize `exception <#exception>`__ and
94
94
`watchdog <#watchdog>`__ scenarios and what to do about it.
@@ -127,7 +127,7 @@ up.
127
127
`SDK <https://bbs.espressif.com/viewforum.php?f=46>`__, that is part
128
128
of `esp8266 / arduino <https://github.com/esp8266/Arduino>`__ core
129
129
loaded to module together with your application.
130
-
- **Hardware Watchdog** - build in ESP8266 hardware and acting if
130
+
- **Hardware Watchdog** - built-in ESP8266 hardware, acting if the
131
131
software watchdog is disabled for too long, in case it fails, or if
132
132
it is not provided at all.
133
133
@@ -312,9 +312,10 @@ Memory, memory, memory
312
312
Stack
313
313
The amount of stack in the ESP is tiny at only 4KB. For normal development in large systems, it
314
314
is good practice to use and abuse the stack, because it is faster for allocation/deallocation, the scope of the object is well defined, and deallocation automatically happens in reverse order as allocation, which means no mem fragmentation. However, with the tiny amount of stack available in the ESP, that practice is not really viable, at least not for big objects.
315
+
315
316
* Large objects that have internally managed memory, such as String, std::string, std::vector, etc, are ok on the stack, because they internally allocate their buffers on the heap.
316
-
* Large arrays on the stack, such as uint8_t buffer[2048] should be avoided on the stack and be dynamically allocated (consider smart pointers).
317
-
* Objects that have large data members, such as large arrays, should be avoided on the stack, and be dynamically allocated (consider smart pointers).
317
+
* Large arrays on the stack, such as uint8_t buffer[2048] should be avoided on the stack and should be dynamically allocated instead (consider smart pointers).
318
+
* Objects that have large data members, such as large arrays, should also be avoided on the stack, and should be dynamically allocated (consider smart pointers).
318
319
319
320
320
321
If at the Wall, Enter an Issue Report
@@ -330,37 +331,38 @@ author of code in his / her repository.
330
331
331
332
If there are no guidelines, include in your report the following:
332
333
333
-
- [ ] Exact steps by step instructions to reproduce the issue
334
+
- [ ] Exact step-by-step instructions to reproduce the issue
334
335
- [ ] Your exact hardware configuration including the schematic
335
-
- [ ] If the issue concerns standard, commercially available ESP board
336
+
- [ ] If the issue concerns a standard, commercially available ESP board
336
337
with power supply and USB interface, without extra h/w attached, then
337
-
provide just the board type or link to description
338
+
provide just the board type or a link to its description
338
339
- [ ] Configuration settings in Arduino IDE used to upload the
339
340
application
340
341
- [ ] Error log & messages produced by the application (enable
341
342
debugging for more details)
342
343
- [ ] Decoded stack trace
343
344
- [ ] Copy of your sketch
344
-
- [ ] Copy of all the libraries used by the sketch
345
-
- [ ] If you are using standard libraries available in Library Manager,
346
-
then provide just version numbers
345
+
- [ ] Copy of all the libraries used by the sketch (if you are using
346
+
standard libraries available in the Arduino Library Manager,
0 commit comments