Skip to content

Commit d283541

Browse files
authored
documentation: Arduino IDE options: fix hyperlinks and format (#8158)
(this time, sphinx was used locally)
1 parent e55dfc3 commit d283541

File tree

1 file changed

+80
-79
lines changed

1 file changed

+80
-79
lines changed

Diff for: doc/ideoptions.rst

+80-79
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ Upload Speed
3131
This the UART speed setup for flashing the ESP. It is not related with the
3232
UART(Serial) speed programmed from inside the sketch, if enabled. Default
3333
values are legacy. The highest speed option (around 1Mbaud) should always
34-
work. For specific boards, defaults can be updated using the <boards>.txt
35-
builder.
34+
work. For specific boards, defaults can be updated using the `board.txt
35+
generator <faq/a05-board-generator.rst>`__.
3636

3737
CPU Frequency
3838
~~~~~~~~~~~~~
@@ -42,7 +42,7 @@ Any ESP82xx can run at 80 or 160MHz.
4242
Crystal Frequency
4343
~~~~~~~~~~~~~~~~~
4444

45-
This is the on-board crystal frequency (26 or 40Mhz). Default is 26MHz.
45+
This is the on-board crystal frequency (26 or 40Mhz). Default is 26MHz.
4646
But the chip was designed with 40MHz. It explains the default strange 74880
4747
baud rate at boot, which is 115200\*26/40 (115200 being quite a lot used
4848
by default nowadays).
@@ -70,7 +70,7 @@ list, the first one of each size is the default and suitable for many cases.
7070
Example: ``4MB (FS:2MB OTA:~1019KB)``:
7171

7272
- 4MB is the flash chip size (= 4 MBytes, sometimes oddly noted 32Mbits)
73-
- ``OTA:~1019KB`` (around 1MB) is used for Over The Air flashing (note that OTA binary can be ``gzip``-ped)
73+
- ``OTA:~1019KB`` (around 1MB) is used for Over The Air flashing (note that OTA binary can be gzip-ed)
7474
- ``FS:2MB`` means that 2MBytes are used for an internal filesystem (LittleFS).
7575

7676
Flash Mode
@@ -82,17 +82,18 @@ depending on the flash chips capabilities and how it is connected to the
8282
esp8266, the fastest mode may not be working. Note that ESP8285 requires
8383
the ``DOUT`` mode.
8484

85-
Here is some more insights about that in `esp32 forums<https://www.esp32.com/viewtopic.php?t=1250#p5523>`__.
85+
Here is some more insights about that in `esp32 forums <https://www.esp32.com/viewtopic.php?t=1250#p5523>`__.
8686

8787
Reset Method
8888
~~~~~~~~~~~~
8989

90-
On some boards (commonly NodeMCU, Lolin/Wemos) an electronic trick allows to
91-
use the UART DTR line to reset the esp8266 *and* put it in flash mode. This
92-
is the default ``dtr/nodemcu`` option. It provides an extra-easy way of
93-
flashing from serial port. When not available, the ``no dtr`` option can be
94-
used in conjunction with a flash button on the board (or by driving the ESP
95-
dedicated GPIOs to boot in flash mode at power-on).
90+
| On some boards (commonly NodeMCU, Lolin/Wemos) an electronic trick allows to
91+
use the UART DTR line to reset the esp8266 *and* put it in flash mode. This
92+
is the default ``dtr (aka nodemcu)`` option. It provides an extra-easy way of
93+
flashing from serial port.
94+
| When not available, the ``no dtr`` option can be
95+
used in conjunction with a flash button on the board (or by driving the ESP
96+
dedicated GPIOs to boot in flash mode at power-on).
9697
9798
Debug Port
9899
~~~~~~~~~~
@@ -104,33 +105,34 @@ There are three UART options:
104105
- Serial1
105106

106107
When on ``Serial`` or ``Serial1`` options (see
107-
`reference<reference.rst#serial>`__), messages are sent at 74880 bauds at
108+
`reference <reference.rst#serial>`__), messages are sent at 74880 bauds at
108109
boot time then baud rate is changed to user configuration in sketch. These
109110
messages are generated by the internal bootloader. Subsequent serial data
110111
are coming either from the firmware, this Arduino core, and user application.
111112

112113
Debug Level
113114
~~~~~~~~~~~
114115

115-
There are a number of options. The first (``None``) is explained by itself.
116-
The last (``NoAssert - NDEBUG``) is even quieter than the first (some
117-
internal guards are skipped to save more flash).
116+
There are a number of options.
118117

119-
The other ones may be used when asked by a maintainer or if you are a
120-
developper trying to debug some issues.
118+
- The first (``None``) is explained by itself.
119+
- The last (``NoAssert - NDEBUG``) is even quieter than the first (some
120+
internal guards are skipped to save more flash).
121+
- The other ones may be used when asked by a maintainer or if you are a
122+
developper trying to debug some issues.
121123

122124
lwIP variant
123125
~~~~~~~~~~~~
124126

125-
`lwIP<https://en.wikipedia.org/wiki/LwIP>`__ is the internal network
127+
`lwIP <https://en.wikipedia.org/wiki/LwIP>`__ is the internal network
126128
software stack. It is highly configurable and comes with features that can
127129
be enabled, at the price of RAM or FLASH space usage.
128130

129131
There are 6 variants. As always, the first and default option is a good
130132
compromise. Note that cores v2.x were or could be using the lwIP-v1 stack.
131133
Only lwIP-v2 is available on cores v3+.
132134

133-
- ``v2 Lower Memory``
135+
- v2 Lower Memory
134136

135137
This is lwIP-v2 with MSS=536 bytes. MSS is TCP's `Maximum Segment Size`,
136138
and different from MTU (IP's Maximum Transfer Unit) which is always 1480
@@ -142,13 +144,13 @@ Only lwIP-v2 is available on cores v3+.
142144

143145
UDP and other IP protocols are not affected by MSS value.
144146

145-
- ``v2 Higher Bandwidth``
147+
- v2 Higher Bandwidth
146148

147149
When streaming large amount of data, prefer this option. It uses more
148150
memory (MSS=1460) so it allows faster transfers thanks to a smaller number
149151
of packets providing lower overhead and higher bandwidth.
150152

151-
- ``... (no features)``
153+
- ... (no features)
152154

153155
Disabled features to get more flash space and RAM for users are:
154156

@@ -158,89 +160,88 @@ Only lwIP-v2 is available on cores v3+.
158160

159161
- No AutoIP (not getting 169.254.x.x on DHCP request when there is no DHCP answer),
160162

161-
- No SACK-OUT (= no Selective ACKnowledgements for OUTput):
162-
163-
no better stability with long distance TCP transfers,
163+
- | No SACK-OUT (= no Selective ACKnowledgements for OUTput):
164+
| no better stability with long distance TCP transfers,
164165
165166
- No listen backlog (no protection against DOS attacks for TCP server).
166167

167-
- ``IPv6 ...``
168+
- IPv6 ...
168169

169170
With these options, IPv6 is enabled, with features. It uses about 20-30KB
170171
of supplementary flash space.
171172

172-
``VTable location``
173-
~~~~~~~~~~~~~~~~~~~
173+
VTable location
174+
~~~~~~~~~~~~~~~
174175

175-
This is the mechanism used in C++ to support dynamic dispatch of virtual
176-
methods. By default these tables are stored in flash to save precious RAM
177-
bytes, but in very specific cases they can be stored in Heap space, or IRAM
178-
space (both in RAM).
176+
This is the mechanism used in C++ to support dynamic dispatch of virtual
177+
methods. By default these tables are stored in flash to save precious RAM
178+
bytes, but in very specific cases they can be stored in Heap space, or IRAM
179+
space (both in RAM).
179180

180-
``C++ Exceptions``
181-
~~~~~~~~~~~~~~~~~~
181+
C++ Exceptions
182+
~~~~~~~~~~~~~~
182183

183-
- C++ exceptions are disabled by default. Consequently the ``new``
184-
operator will cause a general failure and a reboot when memory is full.
184+
- C++ exceptions are disabled by default. Consequently the ``new``
185+
operator will cause a general failure and a reboot when memory is full.
185186

186-
Note that the C-``malloc`` function always returns ``nullptr`` when
187-
memory is full.
187+
Note that the C-``malloc`` function always returns ``nullptr`` when
188+
memory is full.
188189

189-
- Enabled: on this Arduino core, exceptions are possible. Note that they
190-
are quite ram and flash consuming.
190+
- Enabled: on this Arduino core, exceptions are possible. Note that they
191+
are quite ram and flash consuming.
191192

192-
``Stack protection``
193-
~~~~~~~~~~~~~~~~~~~~
193+
Stack protection
194+
~~~~~~~~~~~~~~~~
194195

195-
- This is disabled by default
196+
- This is disabled by default
196197

197-
- When Enabled, the compiler generated extra code to check for stack
198-
overflows. When this happens, an exception is raised with a message and
199-
the ESP reboots.
198+
- When Enabled, the compiler generated extra code to check for stack
199+
overflows. When this happens, an exception is raised with a message and
200+
the ESP reboots.
200201

201-
``Erase Flash``
202-
~~~~~~~~~~~~~~~
202+
Erase Flash
203+
~~~~~~~~~~~
203204

204-
- ``Only sketch``: When WiFi is enabled at boot and persistent WiFi
205-
credentials are enabled, these data are preserved across flashings.
206-
Filesystem is preserved.
205+
- ``Only sketch``: When WiFi is enabled at boot and persistent WiFi
206+
credentials are enabled, these data are preserved across flashings.
207+
Filesystem is preserved.
207208

208-
- ``Sketch + WiFi settings``: persistent WiFi settings are not
209-
preserved accross flashings. Filesystem is preserved.
209+
- ``Sketch + WiFi settings``: persistent WiFi settings are not
210+
preserved accross flashings. Filesystem is preserved.
210211

211-
- ``All Flash``: WiFi settings and Filesystems are erased.
212+
- ``All Flash``: WiFi settings and Filesystems are erased.
212213

213-
``Espressif Firmware``
214-
~~~~~~~~~~~~~~~~~~~~~~
214+
Espressif Firmware
215+
~~~~~~~~~~~~~~~~~~
215216

216-
There are a number of available espressif firmwares. The first / default
217-
choice is fine. Only try with others after reading on the issue tracker
218-
that something has to be tried with them. Note that Espressif obsoleted
219-
all of them at the time of writing.
217+
There are a number of available espressif firmwares. The first / default
218+
choice is fine. Only try with others after reading on the issue tracker
219+
that something has to be tried with them. Note that Espressif obsoleted
220+
all of them at the time of writing.
220221

221-
``SSL Support``
222-
~~~~~~~~~~~~~~~
222+
SSL Support
223+
~~~~~~~~~~~
223224

224-
The first and default choice (``All SSL ciphers``) is good. The second
225-
option enables only the main ciphers and can be used to lower flash
226-
occupation.
225+
The first and default choice (``All SSL ciphers``) is good. The second
226+
option enables only the main ciphers and can be used to lower flash
227+
occupation.
227228

228-
``MMU`` (Memory Management Unit)
229-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
229+
MMU (Memory Management Unit)
230+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
230231

231-
Head to its `specific documentation<mmu.rst>`__. Note that there is an option
232-
providing an additional 16KB of IRAM to your application which can be used
233-
with ``new`` and ``malloc``.
232+
Head to its `specific documentation <mmu.rst>`__. Note that there is an option
233+
providing an additional 16KB of IRAM to your application which can be used
234+
with ``new`` and ``malloc``.
234235

235-
``Non-32-Bit Access``
236-
~~~~~~~~~~~~~~~~~~~~~
236+
Non-32-Bit Access
237+
~~~~~~~~~~~~~~~~~
237238

238-
On esp82xx architecture, DRAM can be accessed byte by byte, but read-only
239-
flash space (``PROGMEM`` variables) and IRAM cannot. By default they can
240-
only be safely accessed in a compatible way using special macros
241-
``pgm_read_some()``.
239+
On esp82xx architecture, DRAM can be accessed byte by byte, but read-only
240+
flash space (``PROGMEM`` variables) and IRAM cannot. By default they can
241+
only be safely accessed in a compatible way using special macros
242+
``pgm_read_some()``.
242243

243-
With the non-default option ``Byte/Word access``, an exception manager
244-
allows to transparently use them as if they were byte-accessible. As a
245-
result, any type of access works but in a very slow way for the usually
246-
illegal ones. This mode can also be enabled from the ``MMU`` options.
244+
With the non-default option ``Byte/Word access``, an exception manager
245+
allows to transparently use them as if they were byte-accessible. As a
246+
result, any type of access works but in a very slow way for the usually
247+
illegal ones. This mode can also be enabled from the MMU options.

0 commit comments

Comments
 (0)