mirror of
https://github.com/micropython/micropython.git
synced 2026-01-10 14:07:14 +01:00
docs: Fix some references and RST markup to eliminate Sphinx warnings.
This commit is contained in:
@@ -185,7 +185,7 @@ a file it will save RAM if this is done in a piecemeal fashion. Rather than
|
||||
creating a large string object, create a substring and feed it to the stream
|
||||
before dealing with the next.
|
||||
|
||||
The best way to create dynamic strings is by means of the string `format`
|
||||
The best way to create dynamic strings is by means of the string ``format()``
|
||||
method:
|
||||
|
||||
.. code::
|
||||
@@ -259,7 +259,7 @@ were a string.
|
||||
**Runtime compiler execution**
|
||||
|
||||
The Python funcitons `eval` and `exec` invoke the compiler at runtime, which
|
||||
requires significant amounts of RAM. Note that the `pickle` library from
|
||||
requires significant amounts of RAM. Note that the ``pickle`` library from
|
||||
`micropython-lib` employs `exec`. It may be more RAM efficient to use the
|
||||
`ujson` library for object serialisation.
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ size, which means that to uncompress a compressed stream, 32KB of
|
||||
contguous memory needs to be allocated. This requirement may be not
|
||||
satisfiable on low-memory devices, which may have total memory available
|
||||
less than that amount, and even if not, a contiguous block like that
|
||||
may be hard to allocate due to `memory fragmentation`. To accommodate
|
||||
may be hard to allocate due to memory fragmentation. To accommodate
|
||||
these constraints, MicroPython distribution packages use Gzip compression
|
||||
with the dictionary size of 4K, which should be a suitable compromise
|
||||
with still achieving some compression while being able to uncompressed
|
||||
@@ -243,7 +243,7 @@ the data files as "resources", and abstracting away access to them.
|
||||
Python supports resource access using its "setuptools" library, using
|
||||
``pkg_resources`` module. MicroPython, following its usual approach,
|
||||
implements subset of the functionality of that module, specifically
|
||||
`pkg_resources.resource_stream(package, resource)` function.
|
||||
``pkg_resources.resource_stream(package, resource)`` function.
|
||||
The idea is that an application calls this function, passing a
|
||||
resource identifier, which is a relative path to data file within
|
||||
the specified package (usually top-level application package). It
|
||||
|
||||
@@ -63,8 +63,8 @@ used for communication with a device. A typical driver will create the buffer in
|
||||
constructor and use it in its I/O methods which will be called repeatedly.
|
||||
|
||||
The MicroPython libraries typically provide support for pre-allocated buffers. For
|
||||
example, objects which support stream interface (e.g., file or UART) provide `read()`
|
||||
method which allocates new buffer for read data, but also a `readinto()` method
|
||||
example, objects which support stream interface (e.g., file or UART) provide ``read()``
|
||||
method which allocates new buffer for read data, but also a ``readinto()`` method
|
||||
to read data into an existing buffer.
|
||||
|
||||
Floating Point
|
||||
@@ -109,10 +109,10 @@ the 10K buffer go (be ready for garbage collection), instead of making a
|
||||
long-living memoryview and keeping 10K blocked for GC.
|
||||
|
||||
Nonetheless, `memoryview` is indispensable for advanced preallocated buffer
|
||||
management. `readinto()` method discussed above puts data at the beginning
|
||||
management. ``readinto()`` method discussed above puts data at the beginning
|
||||
of buffer and fills in entire buffer. What if you need to put data in the
|
||||
middle of existing buffer? Just create a memoryview into the needed section
|
||||
of buffer and pass it to `readinto()`.
|
||||
of buffer and pass it to ``readinto()``.
|
||||
|
||||
Identifying the slowest section of code
|
||||
---------------------------------------
|
||||
@@ -326,7 +326,7 @@ standard approach would be to write
|
||||
|
||||
mypin.value(mypin.value() ^ 1) # mypin was instantiated as an output pin
|
||||
|
||||
This involves the overhead of two calls to the `Pin` instance's :meth:`~machine.Pin.value()`
|
||||
This involves the overhead of two calls to the :class:`~machine.Pin` instance's :meth:`~machine.Pin.value()`
|
||||
method. This overhead can be eliminated by performing a read/write to the relevant bit
|
||||
of the chip's GPIO port output data register (odr). To facilitate this the ``stm``
|
||||
module provides a set of constants providing the addresses of the relevant registers.
|
||||
|
||||
Reference in New Issue
Block a user