forked from espressif/esp-protocols
Deploying to gh-pages from @ espressif/esp-protocols@bcb1ab99bd 🚀
This commit is contained in:
4
esp_modem/.buildinfo
Normal file
4
esp_modem/.buildinfo
Normal file
@@ -0,0 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 7043fdc66f50c6bac29bc87fc7416928
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
BIN
esp_modem/.doctrees/README.doctree
Normal file
BIN
esp_modem/.doctrees/README.doctree
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/advanced_api.doctree
Normal file
BIN
esp_modem/.doctrees/advanced_api.doctree
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/api_docs.doctree
Normal file
BIN
esp_modem/.doctrees/api_docs.doctree
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/cxx_api_docs.doctree
Normal file
BIN
esp_modem/.doctrees/cxx_api_docs.doctree
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/cxx_api_links.doctree
Normal file
BIN
esp_modem/.doctrees/cxx_api_links.doctree
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/environment.pickle
Normal file
BIN
esp_modem/.doctrees/environment.pickle
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/index.doctree
Normal file
BIN
esp_modem/.doctrees/index.doctree
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/internal_design.doctree
Normal file
BIN
esp_modem/.doctrees/internal_design.doctree
Normal file
Binary file not shown.
BIN
esp_modem/.doctrees/internal_docs.doctree
Normal file
BIN
esp_modem/.doctrees/internal_docs.doctree
Normal file
Binary file not shown.
215
esp_modem/README.html
Normal file
215
esp_modem/README.html
Normal file
@@ -0,0 +1,215 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>ESP MODEM — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="C API Documentation" href="api_docs.html" />
|
||||
<link rel="prev" title="ESP-MODEM Programmers manual" href="index.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="esp-modem">
|
||||
<h1>ESP MODEM<a class="headerlink" href="#esp-modem" title="Permalink to this headline">¶</a></h1>
|
||||
<p>This component is used to communicate with modems in the command mode (using AT commands), as well as the data mode
|
||||
(over PPPoS protocol).
|
||||
The modem device is modeled with a DCE (Data Communication Equipment) object, which is composed of:</p>
|
||||
<ul class="simple">
|
||||
<li><p>DTE (Data Terminal Equipment), which abstracts the terminal (currently only UART implemented).</p></li>
|
||||
<li><p>PPP Netif representing a network interface communicating with the DTE using PPP protocol.</p></li>
|
||||
<li><p>Module abstracting the specific device model and its commands.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">+-----+</span>
|
||||
<span class="o">|</span> <span class="n">DTE</span> <span class="o">|--+</span>
|
||||
<span class="o">+-----+</span> <span class="o">|</span> <span class="o">+-------+</span>
|
||||
<span class="o">+-->|</span> <span class="n">DCE</span> <span class="o">|</span>
|
||||
<span class="o">+-------+</span> <span class="o">|</span> <span class="o">|</span><span class="n">o</span><span class="o">---</span> <span class="n">set_mode</span><span class="p">(</span><span class="n">command</span><span class="o">/</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="o">|</span> <span class="n">Module</span><span class="o">|--->|</span> <span class="o">|</span>
|
||||
<span class="o">+-------+</span> <span class="o">|</span> <span class="o">|</span><span class="n">o</span><span class="o">---</span> <span class="n">send_commands</span>
|
||||
<span class="o">+->|</span> <span class="o">|</span>
|
||||
<span class="o">+------+</span> <span class="o">|</span> <span class="o">+-------+</span>
|
||||
<span class="o">|</span> <span class="n">PPP</span> <span class="o">|--+</span>
|
||||
<span class="o">|</span> <span class="n">netif</span><span class="o">|------------------></span> <span class="n">network</span> <span class="n">events</span>
|
||||
<span class="o">+------+</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="modem-components">
|
||||
<h2>Modem components<a class="headerlink" href="#modem-components" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="dce">
|
||||
<h3>DCE<a class="headerlink" href="#dce" title="Permalink to this headline">¶</a></h3>
|
||||
<p>This is the basic operational unit of the esp_modem component, abstracting a specific module in software,
|
||||
which is basically configured by</p>
|
||||
<ul class="simple">
|
||||
<li><p>the I/O communication media (UART), defined by the DTE configuration</p></li>
|
||||
<li><p>the specific command library supported by the device model, defined with the module type</p></li>
|
||||
<li><p>network interface configuration (PPPoS config in lwip)</p></li>
|
||||
</ul>
|
||||
<p>After the object is created, the application interaction with the DCE is in</p>
|
||||
<ul class="simple">
|
||||
<li><p>issuing specific commands to the modem</p></li>
|
||||
<li><p>switching between data and command mode</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="dte">
|
||||
<h3>DTE<a class="headerlink" href="#dte" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Is an abstraction of the physical interface connected to the modem. Current implementation supports only UART</p>
|
||||
</section>
|
||||
<section id="ppp-netif">
|
||||
<h3>PPP netif<a class="headerlink" href="#ppp-netif" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Is used to attach the specific network interface to a network communication protocol used by the modem. Currently implementation supports only PPPoS protocol.</p>
|
||||
</section>
|
||||
<section id="module">
|
||||
<h3>Module<a class="headerlink" href="#module" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Abstraction of the specific modem device. Currently the component supports SIM800, BG96, SIM7600.</p>
|
||||
</section>
|
||||
</section>
|
||||
<section id="use-cases">
|
||||
<h2>Use cases<a class="headerlink" href="#use-cases" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Users interact with the esp-modem using the DCE’s interface, to basically</p>
|
||||
<ul class="simple">
|
||||
<li><p>Switch between command and data mode to connect to the internet via cellular network.</p></li>
|
||||
<li><p>Send various commands to the device (e.g. send SMS)</p></li>
|
||||
</ul>
|
||||
<p>The applications typically register handlers for network events to receive notification on the network availability and
|
||||
IP address changes.</p>
|
||||
<p>Common use cases of the esp-modem are also listed as the examples:</p>
|
||||
<ul class="simple">
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">examples/pppos_client</span></code> – simple client which reads some module properties and switches to the data mode to connect to a public mqtt broker.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">examples/modem_console</span></code> – is an example to exercise all possible module commands in a console application.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">examples/ap_to_pppos</span></code> – this example focuses on the network connectivity of the esp-modem and provides a WiFi AP that forwards packets (and uses NAT) to and from the PPPoS connection.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="extensibility">
|
||||
<h2>Extensibility<a class="headerlink" href="#extensibility" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="cmux">
|
||||
<h3>CMUX<a class="headerlink" href="#cmux" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Implementation of virtual terminals is an experimental feature, which allows users to also issue commands in the data mode,
|
||||
after creating multiple virtual terminals, designating some of them solely to data mode, others solely to command mode.</p>
|
||||
</section>
|
||||
<section id="dte-s">
|
||||
<h3>DTE’s<a class="headerlink" href="#dte-s" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Currently we support only UART, but modern modules support other communication interfaces, such as USB, SPI.</p>
|
||||
</section>
|
||||
<section id="other-devices">
|
||||
<h3>Other devices<a class="headerlink" href="#other-devices" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Adding a new device is a must-have requirement for the esp-modem component. Different modules support different commands,
|
||||
or some commands might have a different implementation. Adding a new device means to provide a new implementation
|
||||
as a class derived from <code class="docutils literal notranslate"><span class="pre">GenericModule</span></code>, where we could add new commands or modify the existing ones.</p>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Brief intro</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#modem-components">Modem components</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#dce">DCE</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#dte">DTE</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#ppp-netif">PPP netif</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#module">Module</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#use-cases">Use cases</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#extensibility">Extensibility</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#cmux">CMUX</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#dte-s">DTE’s</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#other-devices">Other devices</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="index.html" title="previous chapter">ESP-MODEM Programmers manual</a></li>
|
||||
<li>Next: <a href="api_docs.html" title="next chapter">C API Documentation</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/README.md.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
esp_modem/_images/CMux_collaboration.png
Normal file
BIN
esp_modem/_images/CMux_collaboration.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
BIN
esp_modem/_images/DCE_DTE_collaboration.png
Normal file
BIN
esp_modem/_images/DCE_DTE_collaboration.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 139 KiB |
78
esp_modem/_sources/README.md.txt
Normal file
78
esp_modem/_sources/README.md.txt
Normal file
@@ -0,0 +1,78 @@
|
||||
# ESP MODEM
|
||||
|
||||
This component is used to communicate with modems in the command mode (using AT commands), as well as the data mode
|
||||
(over PPPoS protocol).
|
||||
The modem device is modeled with a DCE (Data Communication Equipment) object, which is composed of:
|
||||
* DTE (Data Terminal Equipment), which abstracts the terminal (currently only UART implemented).
|
||||
* PPP Netif representing a network interface communicating with the DTE using PPP protocol.
|
||||
* Module abstracting the specific device model and its commands.
|
||||
|
||||
```
|
||||
+-----+
|
||||
| DTE |--+
|
||||
+-----+ | +-------+
|
||||
+-->| DCE |
|
||||
+-------+ | |o--- set_mode(command/data)
|
||||
| Module|--->| |
|
||||
+-------+ | |o--- send_commands
|
||||
+->| |
|
||||
+------+ | +-------+
|
||||
| PPP |--+
|
||||
| netif|------------------> network events
|
||||
+------+
|
||||
```
|
||||
|
||||
## Modem components
|
||||
### DCE
|
||||
|
||||
This is the basic operational unit of the esp_modem component, abstracting a specific module in software,
|
||||
which is basically configured by
|
||||
* the I/O communication media (UART), defined by the DTE configuration
|
||||
* the specific command library supported by the device model, defined with the module type
|
||||
* network interface configuration (PPPoS config in lwip)
|
||||
|
||||
After the object is created, the application interaction with the DCE is in
|
||||
* issuing specific commands to the modem
|
||||
* switching between data and command mode
|
||||
|
||||
### DTE
|
||||
Is an abstraction of the physical interface connected to the modem. Current implementation supports only UART
|
||||
|
||||
### PPP netif
|
||||
|
||||
Is used to attach the specific network interface to a network communication protocol used by the modem. Currently implementation supports only PPPoS protocol.
|
||||
|
||||
### Module
|
||||
|
||||
Abstraction of the specific modem device. Currently the component supports SIM800, BG96, SIM7600.
|
||||
|
||||
## Use cases
|
||||
|
||||
Users interact with the esp-modem using the DCE's interface, to basically
|
||||
* Switch between command and data mode to connect to the internet via cellular network.
|
||||
* Send various commands to the device (e.g. send SMS)
|
||||
|
||||
The applications typically register handlers for network events to receive notification on the network availability and
|
||||
IP address changes.
|
||||
|
||||
Common use cases of the esp-modem are also listed as the examples:
|
||||
* `examples/pppos_client` -- simple client which reads some module properties and switches to the data mode to connect to a public mqtt broker.
|
||||
* `examples/modem_console` -- is an example to exercise all possible module commands in a console application.
|
||||
* `examples/ap_to_pppos` -- this example focuses on the network connectivity of the esp-modem and provides a WiFi AP that forwards packets (and uses NAT) to and from the PPPoS connection.
|
||||
|
||||
## Extensibility
|
||||
|
||||
### CMUX
|
||||
|
||||
Implementation of virtual terminals is an experimental feature, which allows users to also issue commands in the data mode,
|
||||
after creating multiple virtual terminals, designating some of them solely to data mode, others solely to command mode.
|
||||
|
||||
### DTE's
|
||||
|
||||
Currently we support only UART, but modern modules support other communication interfaces, such as USB, SPI.
|
||||
|
||||
### Other devices
|
||||
|
||||
Adding a new device is a must-have requirement for the esp-modem component. Different modules support different commands,
|
||||
or some commands might have a different implementation. Adding a new device means to provide a new implementation
|
||||
as a class derived from `GenericModule`, where we could add new commands or modify the existing ones.
|
49
esp_modem/_sources/advanced_api.rst.txt
Normal file
49
esp_modem/_sources/advanced_api.rst.txt
Normal file
@@ -0,0 +1,49 @@
|
||||
Advanced esp-modem use cases
|
||||
============================
|
||||
|
||||
This chapter outlines basic extensibility of the esp-modem component.
|
||||
|
||||
.. _dce_factory:
|
||||
|
||||
Custom instantiation with DCE factory
|
||||
--------------------------------------
|
||||
|
||||
It is possible to create a modem handle in many different ways:
|
||||
|
||||
- Build a DCE on top a generic module, user defined module or build the module only (in case the application will only use AT command interface)
|
||||
- Create the DCE as a shared, unique or a vanilla pointer
|
||||
- Create a generic DCE or a templated DCE_T of a specific module (this could be one of the supported modules or a user defined module)
|
||||
|
||||
All the functionality is provided by the DCE factory
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_DCE_FACTORY
|
||||
:members:
|
||||
|
||||
.. _create_custom_module:
|
||||
|
||||
Create custom module
|
||||
--------------------
|
||||
|
||||
Creating a custom module is necessary if the application needs to use a specific device that is not supported
|
||||
and their commands differ from any of the supported devices. In this case it is recommended to define a new class
|
||||
representing this specific device and derive from the :cpp:class:`esp_modem::GenericModule`. In order to instantiate
|
||||
the appropriate DCE of this module, application could use :ref:`the DCE factory<dce_factory>`, and build the DCE with
|
||||
the specific module, using :cpp:func:`esp_modem::dce_factory::Factory::build`.
|
||||
|
||||
Please refer to the implementation of the existing modules.
|
||||
|
||||
Please note that the ``modem_console`` example defines a trivial custom modem DCE which overrides one command,
|
||||
for demonstration purposes only.
|
||||
|
||||
|
||||
Create new communication interface
|
||||
----------------------------------
|
||||
|
||||
In order to connect to a device using an unsupported interface (e.g. SPI or I2C), it is necessary to implement
|
||||
a custom DTE object and supply it into :ref:`the DCE factory<dce_factory>`. The DCE is typically created in two steps:
|
||||
|
||||
- Define and create the corresponding terminal, which communicates on the custom interface. This terminal should support basic IO methods defined in :cpp:class:`esp_modem::Terminal` and derive from it.
|
||||
- Create the DTE which uses the custom Terminal
|
||||
|
||||
Please refer to the implementation of the existing UART DTE.
|
||||
|
54
esp_modem/_sources/api_docs.rst.txt
Normal file
54
esp_modem/_sources/api_docs.rst.txt
Normal file
@@ -0,0 +1,54 @@
|
||||
.. _c_api:
|
||||
|
||||
C API Documentation
|
||||
===================
|
||||
|
||||
|
||||
The C API is very simple and consist of these two basic parts:
|
||||
|
||||
- :ref:`lifecycle_api`
|
||||
- :ref:`modem_commands`
|
||||
|
||||
The Typical application workflow is to:
|
||||
|
||||
- Create a DCE instance (using :cpp:func:`esp_modem_new`)
|
||||
- Call specific functions to issue AT commands (:ref:`modem_commands`)
|
||||
- Switch to the data mode (using :cpp:func:`esp_modem_set_mode`)
|
||||
- Perform desired network operations (using standard networking API, unrelated to ESP-MODEM)
|
||||
- Optionally switch back to command mode (again :cpp:func:`esp_modem_set_mode`)
|
||||
- Destroy the DCE handle (sing :cpp:func:`esp_modem_destroy`)
|
||||
|
||||
Note the configuration structures for DTE and DCE, needed for creating the DCE instance, is documented in :ref:`api_config`
|
||||
|
||||
.. _lifecycle_api:
|
||||
|
||||
Lifecycle API
|
||||
-------------
|
||||
|
||||
These functions are used to create, destroy and set modem working mode.
|
||||
|
||||
- :cpp:func:`esp_modem_new`
|
||||
- :cpp:func:`esp_modem_destroy`
|
||||
- :cpp:func:`esp_modem_set_mode`
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_C_API
|
||||
|
||||
|
||||
.. _modem_commands:
|
||||
|
||||
Modem commands
|
||||
--------------
|
||||
|
||||
These functions are the actual commands to communicate with the modem using AT command interface.
|
||||
|
||||
|
||||
.. doxygenfile:: esp_modem_api_commands.h
|
||||
|
||||
.. _api_config:
|
||||
|
||||
Configuration structures
|
||||
------------------------
|
||||
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_CONFIG
|
||||
:members:
|
44
esp_modem/_sources/cxx_api_docs.rst.txt
Normal file
44
esp_modem/_sources/cxx_api_docs.rst.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
C++ API Documentation
|
||||
=====================
|
||||
|
||||
Similar to the :ref:`c_api`, the basic application workflow consist of
|
||||
|
||||
.. toctree::
|
||||
|
||||
- :ref:`Construction of the DCE<cpp_init>`
|
||||
- :ref:`Switching modes<cpp_mode_switch>`
|
||||
- :ref:`Sending (AT) commands<cpp_modem_commands>`
|
||||
- :ref:`Destroying the DCE<cpp_destroy>`
|
||||
|
||||
.. _cpp_init:
|
||||
|
||||
Create DTE and DCE
|
||||
------------------
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_INIT_DTE
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_INIT_DCE
|
||||
|
||||
|
||||
.. _cpp_mode_switch:
|
||||
|
||||
Mode switching commands
|
||||
-----------------------
|
||||
|
||||
.. doxygenclass:: esp_modem::DCE_T
|
||||
:members:
|
||||
|
||||
.. _cpp_modem_commands:
|
||||
|
||||
Modem commands
|
||||
--------------
|
||||
|
||||
.. include:: cxx_api_links.rst
|
||||
|
||||
.. _cpp_destroy:
|
||||
|
||||
Destroy the DCE
|
||||
---------------
|
||||
|
||||
The DCE object is created as ``std::unique_ptr`` by default and as such doesn't have to be explicitly destroyed.
|
||||
It simply gets destroyed and cleaned-up automatically if the object goes out of the block scope.
|
25
esp_modem/_sources/cxx_api_links.rst.txt
Normal file
25
esp_modem/_sources/cxx_api_links.rst.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
- :cpp:func:`esp_modem::DCE::sync`
|
||||
- :cpp:func:`esp_modem::DCE::get_operator_name`
|
||||
- :cpp:func:`esp_modem::DCE::store_profile`
|
||||
- :cpp:func:`esp_modem::DCE::set_pin`
|
||||
- :cpp:func:`esp_modem::DCE::read_pin`
|
||||
- :cpp:func:`esp_modem::DCE::set_echo`
|
||||
- :cpp:func:`esp_modem::DCE::sms_txt_mode`
|
||||
- :cpp:func:`esp_modem::DCE::sms_character_set`
|
||||
- :cpp:func:`esp_modem::DCE::send_sms`
|
||||
- :cpp:func:`esp_modem::DCE::resume_data_mode`
|
||||
- :cpp:func:`esp_modem::DCE::set_pdp_context`
|
||||
- :cpp:func:`esp_modem::DCE::set_command_mode`
|
||||
- :cpp:func:`esp_modem::DCE::set_cmux`
|
||||
- :cpp:func:`esp_modem::DCE::get_imsi`
|
||||
- :cpp:func:`esp_modem::DCE::get_imei`
|
||||
- :cpp:func:`esp_modem::DCE::get_module_name`
|
||||
- :cpp:func:`esp_modem::DCE::set_data_mode`
|
||||
- :cpp:func:`esp_modem::DCE::get_signal_quality`
|
||||
- :cpp:func:`esp_modem::DCE::set_flow_control`
|
||||
- :cpp:func:`esp_modem::DCE::hang_up`
|
||||
- :cpp:func:`esp_modem::DCE::get_battery_status`
|
||||
- :cpp:func:`esp_modem::DCE::power_down`
|
||||
- :cpp:func:`esp_modem::DCE::reset`
|
||||
- :cpp:func:`esp_modem::DCE::set_baud`
|
11
esp_modem/_sources/index.rst.txt
Normal file
11
esp_modem/_sources/index.rst.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
ESP-MODEM Programmers manual
|
||||
============================
|
||||
|
||||
.. toctree::
|
||||
|
||||
Brief intro <README>
|
||||
C interface <api_docs>
|
||||
C++ interface <cxx_api_docs>
|
||||
Advanced use cases <advanced_api>
|
||||
Internal design <internal_design>
|
||||
Internal implementation <internal_docs>
|
36
esp_modem/_sources/internal_design.md.txt
Normal file
36
esp_modem/_sources/internal_design.md.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
# Internal design
|
||||
|
||||
## Design decisions
|
||||
|
||||
* Use C++ with additional C API
|
||||
|
||||
* Use exceptions
|
||||
- Use macro wrapper over `try-catch` blocks when exceptions off (use `abort()` if `THROW()`)
|
||||
|
||||
* Initializes and allocates in the constructor (might throw)
|
||||
- easier code with exceptions ON, with exceptions OFF alloc/init failures are not treated as runtime error (program aborts)
|
||||
- break down long initialization in constructor into more private methods
|
||||
|
||||
* Implements different devices using inheritance from `GenericModule`, which is the most general implementation of a common modem
|
||||
- Internally uses templates with device specialization (modeled as `DCE<SpecificModule>`) which could be used as well for some special cases,
|
||||
such as implantation of a minimal device (ModuleIf), add new AT commands (oOnly in compile time), or using the Module with DTE only (no DCE, no Netif) for sending AT commands without network
|
||||
|
||||
## DCE collaboration model
|
||||
|
||||
The diagram describes how the DCE class collaborates with DTE, PPP and the device abstraction
|
||||
|
||||

|
||||
|
||||
## Terminal inheritance
|
||||
|
||||
Terminal is a class which can read or write data, and can handle callbacks when data are available. UART specialization
|
||||
is provided implementing these method using the uart driver.
|
||||
|
||||
## CMUX terminal
|
||||
|
||||
The below diagram depicts the idea of using CMUX terminal mode using the CMuxInstance class which is a terminal
|
||||
(it implements the basic read/write methods) interfacing arbitrary number of virtual terminals,
|
||||
but at the same time it is also composed of CMux class, which consumes the original terminal and uses its read/write methods
|
||||
to multiplex the terminal.
|
||||
|
||||

|
122
esp_modem/_sources/internal_docs.rst.txt
Normal file
122
esp_modem/_sources/internal_docs.rst.txt
Normal file
@@ -0,0 +1,122 @@
|
||||
DCE Internal implementation
|
||||
===========================
|
||||
|
||||
This chapter provides a detailed description of the classes and building blocks of the esp-modem component and their responsibilities.
|
||||
|
||||
The esp-modem actually implements the DCE class, which in turn aggregates these thee units:
|
||||
|
||||
- :ref:`DTE<dte_impl>` to communicate with the device on a specific Terminal interface such as UART.
|
||||
- :ref:`Netif<netif_impl>` to provide the network connectivity
|
||||
- :ref:`Module<module_impl>` to define the specific command library
|
||||
|
||||
Developers would typically have to
|
||||
|
||||
* Add support for a new module
|
||||
* Implement a generic (common for all modules) AT command
|
||||
|
||||
This is explained in the :ref:`Module<module_impl>` section, as :ref:`Adding new module or command<module_addition>`
|
||||
|
||||
------------
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_DCE
|
||||
:members:
|
||||
|
||||
.. _dte_impl:
|
||||
|
||||
DTE abstraction
|
||||
---------------
|
||||
|
||||
DTE is a basic unit to talk to the module using a Terminal interface. It also implements and uses the CMUX to multiplex
|
||||
terminals. Besides the DTE documentation, this section also refers to the
|
||||
|
||||
- :ref:`Terminal interface<term_impl>`
|
||||
- :ref:`CMUX implementation<cmux_impl>`
|
||||
|
||||
|
||||
------------
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_DTE
|
||||
:members:
|
||||
|
||||
.. _term_impl:
|
||||
|
||||
Terminal interface
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_TERMINAL
|
||||
:members:
|
||||
|
||||
.. _cmux_impl:
|
||||
|
||||
CMUX implementation
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_CMUX
|
||||
:members:
|
||||
|
||||
.. _netif_impl:
|
||||
|
||||
Netif
|
||||
-----
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_NETIF
|
||||
:members:
|
||||
|
||||
.. _module_impl:
|
||||
|
||||
Module abstraction
|
||||
------------------
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_MODULE
|
||||
:members:
|
||||
|
||||
.. _module_addition:
|
||||
|
||||
Adding new devices
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To support a new module, developers would have to implement a new class derived from :cpp:class:`esp_modem::GenericModule` the same way
|
||||
as it is described in the :ref:`Advanced user manual<create_custom_module>`. The only difference is that the new class (and factory extension)
|
||||
would be available in the esp_modem code base.
|
||||
|
||||
Implement a new generic command
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Adding a generic command, i.e. the command that is shared for all modules and is included in the :cpp:class:`esp_modem::GenericModule`,
|
||||
has to be declared first in the ``include/generate/esp_modem_command_declare.inc`` file, which is the single source
|
||||
of supported command definitions, that is used in:
|
||||
|
||||
* public C API
|
||||
* public CPP API
|
||||
* generated documentation
|
||||
* implementation of the command
|
||||
|
||||
Therefore, a care must be taken, to correctly specify all parameters and types, especially:
|
||||
|
||||
* Keep number of parameters low (<= 6, used in preprocessor's forwarding to the command library)
|
||||
* Use macros to specify parameter types (as they are used both from C and C++ with different underlying types)
|
||||
* Parameter names are used only for clarity and documentation, they get expanded to numbered arguments.
|
||||
|
||||
Please use the following pattern: ``INT_IN(p1, baud)``, meaning that the parameter is an input integer,
|
||||
human readable argument name is ``baud``, it's the first argument, so expands to ``p1`` (second argument would be ``p2``, etc)
|
||||
|
||||
Command library
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
This is a namespace holding a library of typical AT commands used by supported devices.
|
||||
Please refer to the :ref:`c_api` for the list of supported commands.
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_DCE_COMMAND
|
||||
:members:
|
||||
|
||||
|
||||
Modem types
|
||||
-----------
|
||||
|
||||
.. doxygengroup:: ESP_MODEM_TYPES
|
||||
:members:
|
||||
|
||||
|
||||
|
||||
|
||||
|
701
esp_modem/_static/alabaster.css
Normal file
701
esp_modem/_static/alabaster.css
Normal file
@@ -0,0 +1,701 @@
|
||||
@import url("basic.css");
|
||||
|
||||
/* -- page layout ----------------------------------------------------------- */
|
||||
|
||||
body {
|
||||
font-family: Georgia, serif;
|
||||
font-size: 17px;
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
div.document {
|
||||
width: 940px;
|
||||
margin: 30px auto 0 auto;
|
||||
}
|
||||
|
||||
div.documentwrapper {
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.bodywrapper {
|
||||
margin: 0 0 0 220px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
width: 220px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid #B1B4B6;
|
||||
}
|
||||
|
||||
div.body {
|
||||
background-color: #fff;
|
||||
color: #3E4349;
|
||||
padding: 0 30px 0 30px;
|
||||
}
|
||||
|
||||
div.body > .section {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.footer {
|
||||
width: 940px;
|
||||
margin: 20px auto 30px auto;
|
||||
font-size: 14px;
|
||||
color: #888;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.footer a {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
p.caption {
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
|
||||
div.relations {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
div.sphinxsidebar a {
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px dotted #999;
|
||||
}
|
||||
|
||||
div.sphinxsidebar a:hover {
|
||||
border-bottom: 1px solid #999;
|
||||
}
|
||||
|
||||
div.sphinxsidebarwrapper {
|
||||
padding: 18px 10px;
|
||||
}
|
||||
|
||||
div.sphinxsidebarwrapper p.logo {
|
||||
padding: 0;
|
||||
margin: -10px 0 0 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.sphinxsidebarwrapper h1.logo {
|
||||
margin-top: -10px;
|
||||
text-align: center;
|
||||
margin-bottom: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.sphinxsidebarwrapper h1.logo-name {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
div.sphinxsidebarwrapper p.blurb {
|
||||
margin-top: 0;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3,
|
||||
div.sphinxsidebar h4 {
|
||||
font-family: Georgia, serif;
|
||||
color: #444;
|
||||
font-size: 24px;
|
||||
font-weight: normal;
|
||||
margin: 0 0 5px 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h4 {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3 a {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
div.sphinxsidebar p.logo a,
|
||||
div.sphinxsidebar h3 a,
|
||||
div.sphinxsidebar p.logo a:hover,
|
||||
div.sphinxsidebar h3 a:hover {
|
||||
border: none;
|
||||
}
|
||||
|
||||
div.sphinxsidebar p {
|
||||
color: #555;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul {
|
||||
margin: 10px 0;
|
||||
padding: 0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul li.toctree-l1 > a {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul li.toctree-l2 > a {
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar input {
|
||||
border: 1px solid #CCC;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar hr {
|
||||
border: none;
|
||||
height: 1px;
|
||||
color: #AAA;
|
||||
background: #AAA;
|
||||
|
||||
text-align: left;
|
||||
margin-left: 0;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar .badge {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
div.sphinxsidebar .badge:hover {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* To address an issue with donation coming after search */
|
||||
div.sphinxsidebar h3.donation {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/* -- body styles ----------------------------------------------------------- */
|
||||
|
||||
a {
|
||||
color: #004B6B;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #6D4100;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.body h1,
|
||||
div.body h2,
|
||||
div.body h3,
|
||||
div.body h4,
|
||||
div.body h5,
|
||||
div.body h6 {
|
||||
font-family: Georgia, serif;
|
||||
font-weight: normal;
|
||||
margin: 30px 0px 10px 0px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
|
||||
div.body h2 { font-size: 180%; }
|
||||
div.body h3 { font-size: 150%; }
|
||||
div.body h4 { font-size: 130%; }
|
||||
div.body h5 { font-size: 100%; }
|
||||
div.body h6 { font-size: 100%; }
|
||||
|
||||
a.headerlink {
|
||||
color: #DDD;
|
||||
padding: 0 4px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.headerlink:hover {
|
||||
color: #444;
|
||||
background: #EAEAEA;
|
||||
}
|
||||
|
||||
div.body p, div.body dd, div.body li {
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
div.admonition {
|
||||
margin: 20px 0px;
|
||||
padding: 10px 30px;
|
||||
background-color: #EEE;
|
||||
border: 1px solid #CCC;
|
||||
}
|
||||
|
||||
div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
|
||||
background-color: #FBFBFB;
|
||||
border-bottom: 1px solid #fafafa;
|
||||
}
|
||||
|
||||
div.admonition p.admonition-title {
|
||||
font-family: Georgia, serif;
|
||||
font-weight: normal;
|
||||
font-size: 24px;
|
||||
margin: 0 0 10px 0;
|
||||
padding: 0;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
div.admonition p.last {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
dt:target, .highlight {
|
||||
background: #FAF3E8;
|
||||
}
|
||||
|
||||
div.warning {
|
||||
background-color: #FCC;
|
||||
border: 1px solid #FAA;
|
||||
}
|
||||
|
||||
div.danger {
|
||||
background-color: #FCC;
|
||||
border: 1px solid #FAA;
|
||||
-moz-box-shadow: 2px 2px 4px #D52C2C;
|
||||
-webkit-box-shadow: 2px 2px 4px #D52C2C;
|
||||
box-shadow: 2px 2px 4px #D52C2C;
|
||||
}
|
||||
|
||||
div.error {
|
||||
background-color: #FCC;
|
||||
border: 1px solid #FAA;
|
||||
-moz-box-shadow: 2px 2px 4px #D52C2C;
|
||||
-webkit-box-shadow: 2px 2px 4px #D52C2C;
|
||||
box-shadow: 2px 2px 4px #D52C2C;
|
||||
}
|
||||
|
||||
div.caution {
|
||||
background-color: #FCC;
|
||||
border: 1px solid #FAA;
|
||||
}
|
||||
|
||||
div.attention {
|
||||
background-color: #FCC;
|
||||
border: 1px solid #FAA;
|
||||
}
|
||||
|
||||
div.important {
|
||||
background-color: #EEE;
|
||||
border: 1px solid #CCC;
|
||||
}
|
||||
|
||||
div.note {
|
||||
background-color: #EEE;
|
||||
border: 1px solid #CCC;
|
||||
}
|
||||
|
||||
div.tip {
|
||||
background-color: #EEE;
|
||||
border: 1px solid #CCC;
|
||||
}
|
||||
|
||||
div.hint {
|
||||
background-color: #EEE;
|
||||
border: 1px solid #CCC;
|
||||
}
|
||||
|
||||
div.seealso {
|
||||
background-color: #EEE;
|
||||
border: 1px solid #CCC;
|
||||
}
|
||||
|
||||
div.topic {
|
||||
background-color: #EEE;
|
||||
}
|
||||
|
||||
p.admonition-title {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
p.admonition-title:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
pre, tt, code {
|
||||
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.hll {
|
||||
background-color: #FFC;
|
||||
margin: 0 -12px;
|
||||
padding: 0 12px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
img.screenshot {
|
||||
}
|
||||
|
||||
tt.descname, tt.descclassname, code.descname, code.descclassname {
|
||||
font-size: 0.95em;
|
||||
}
|
||||
|
||||
tt.descname, code.descname {
|
||||
padding-right: 0.08em;
|
||||
}
|
||||
|
||||
img.screenshot {
|
||||
-moz-box-shadow: 2px 2px 4px #EEE;
|
||||
-webkit-box-shadow: 2px 2px 4px #EEE;
|
||||
box-shadow: 2px 2px 4px #EEE;
|
||||
}
|
||||
|
||||
table.docutils {
|
||||
border: 1px solid #888;
|
||||
-moz-box-shadow: 2px 2px 4px #EEE;
|
||||
-webkit-box-shadow: 2px 2px 4px #EEE;
|
||||
box-shadow: 2px 2px 4px #EEE;
|
||||
}
|
||||
|
||||
table.docutils td, table.docutils th {
|
||||
border: 1px solid #888;
|
||||
padding: 0.25em 0.7em;
|
||||
}
|
||||
|
||||
table.field-list, table.footnote {
|
||||
border: none;
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
table.footnote {
|
||||
margin: 15px 0;
|
||||
width: 100%;
|
||||
border: 1px solid #EEE;
|
||||
background: #FDFDFD;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
table.footnote + table.footnote {
|
||||
margin-top: -15px;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
table.field-list th {
|
||||
padding: 0 0.8em 0 0;
|
||||
}
|
||||
|
||||
table.field-list td {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
table.field-list p {
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
|
||||
/* Cloned from
|
||||
* https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68
|
||||
*/
|
||||
.field-name {
|
||||
-moz-hyphens: manual;
|
||||
-ms-hyphens: manual;
|
||||
-webkit-hyphens: manual;
|
||||
hyphens: manual;
|
||||
}
|
||||
|
||||
table.footnote td.label {
|
||||
width: .1px;
|
||||
padding: 0.3em 0 0.3em 0.5em;
|
||||
}
|
||||
|
||||
table.footnote td {
|
||||
padding: 0.3em 0.5em;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
dl dd {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 0 30px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
/* Matches the 30px from the narrow-screen "li > ul" selector below */
|
||||
margin: 10px 0 10px 30px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
background: #EEE;
|
||||
padding: 7px 30px;
|
||||
margin: 15px 0px;
|
||||
line-height: 1.3em;
|
||||
}
|
||||
|
||||
div.viewcode-block:target {
|
||||
background: #ffd;
|
||||
}
|
||||
|
||||
dl pre, blockquote pre, li pre {
|
||||
margin-left: 0;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
tt, code {
|
||||
background-color: #ecf0f3;
|
||||
color: #222;
|
||||
/* padding: 1px 2px; */
|
||||
}
|
||||
|
||||
tt.xref, code.xref, a tt {
|
||||
background-color: #FBFBFB;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
|
||||
a.reference {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px dotted #004B6B;
|
||||
}
|
||||
|
||||
/* Don't put an underline on images */
|
||||
a.image-reference, a.image-reference:hover {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
a.reference:hover {
|
||||
border-bottom: 1px solid #6D4100;
|
||||
}
|
||||
|
||||
a.footnote-reference {
|
||||
text-decoration: none;
|
||||
font-size: 0.7em;
|
||||
vertical-align: top;
|
||||
border-bottom: 1px dotted #004B6B;
|
||||
}
|
||||
|
||||
a.footnote-reference:hover {
|
||||
border-bottom: 1px solid #6D4100;
|
||||
}
|
||||
|
||||
a:hover tt, a:hover code {
|
||||
background: #EEE;
|
||||
}
|
||||
|
||||
|
||||
@media screen and (max-width: 870px) {
|
||||
|
||||
div.sphinxsidebar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.document {
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
|
||||
div.documentwrapper {
|
||||
margin-left: 0;
|
||||
margin-top: 0;
|
||||
margin-right: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.bodywrapper {
|
||||
margin-top: 0;
|
||||
margin-right: 0;
|
||||
margin-bottom: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
li > ul {
|
||||
/* Matches the 30px from the "ul, ol" selector above */
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.document {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.footer {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.bodywrapper {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.footer {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.github {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width: 875px) {
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 20px 30px;
|
||||
}
|
||||
|
||||
div.documentwrapper {
|
||||
float: none;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
display: block;
|
||||
float: none;
|
||||
width: 102.5%;
|
||||
margin: 50px -30px -20px -30px;
|
||||
padding: 10px 20px;
|
||||
background: #333;
|
||||
color: #FFF;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
|
||||
div.sphinxsidebar h3 a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
div.sphinxsidebar a {
|
||||
color: #AAA;
|
||||
}
|
||||
|
||||
div.sphinxsidebar p.logo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.document {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.footer {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.bodywrapper {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.body {
|
||||
min-height: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.rtd_doc_footer {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.document {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.footer {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.footer {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.github {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* misc. */
|
||||
|
||||
.revsys-inline {
|
||||
display: none!important;
|
||||
}
|
||||
|
||||
/* Make nested-list/multi-paragraph items look better in Releases changelog
|
||||
* pages. Without this, docutils' magical list fuckery causes inconsistent
|
||||
* formatting between different release sub-lists.
|
||||
*/
|
||||
div#changelog > div.section > ul > li > p:only-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Hide fugly table cell borders in ..bibliography:: directive output */
|
||||
table.docutils.citation, table.docutils.citation td, table.docutils.citation th {
|
||||
border: none;
|
||||
/* Below needed in some edge cases; if not applied, bottom shadows appear */
|
||||
-moz-box-shadow: none;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
||||
/* relbar */
|
||||
|
||||
.related {
|
||||
line-height: 30px;
|
||||
width: 100%;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.related.top {
|
||||
border-bottom: 1px solid #EEE;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.related.bottom {
|
||||
border-top: 1px solid #EEE;
|
||||
}
|
||||
|
||||
.related ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.related li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
nav#rellinks {
|
||||
float: right;
|
||||
}
|
||||
|
||||
nav#rellinks li+li:before {
|
||||
content: "|";
|
||||
}
|
||||
|
||||
nav#breadcrumbs li+li:before {
|
||||
content: "\00BB";
|
||||
}
|
||||
|
||||
/* Hide certain items when printing */
|
||||
@media print {
|
||||
div.related {
|
||||
display: none;
|
||||
}
|
||||
}
|
905
esp_modem/_static/basic.css
Normal file
905
esp_modem/_static/basic.css
Normal file
@@ -0,0 +1,905 @@
|
||||
/*
|
||||
* basic.css
|
||||
* ~~~~~~~~~
|
||||
*
|
||||
* Sphinx stylesheet -- basic theme.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
/* -- main layout ----------------------------------------------------------- */
|
||||
|
||||
div.clearer {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.section::after {
|
||||
display: block;
|
||||
content: '';
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* -- relbar ---------------------------------------------------------------- */
|
||||
|
||||
div.related {
|
||||
width: 100%;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
div.related h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.related ul {
|
||||
margin: 0;
|
||||
padding: 0 0 0 10px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
div.related li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.related li.right {
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
/* -- sidebar --------------------------------------------------------------- */
|
||||
|
||||
div.sphinxsidebarwrapper {
|
||||
padding: 10px 5px 0 10px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
float: left;
|
||||
width: 230px;
|
||||
margin-left: -100%;
|
||||
font-size: 90%;
|
||||
word-wrap: break-word;
|
||||
overflow-wrap : break-word;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul ul,
|
||||
div.sphinxsidebar ul.want-points {
|
||||
margin-left: 20px;
|
||||
list-style: square;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.sphinxsidebar form {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar input {
|
||||
border: 1px solid #98dbcc;
|
||||
font-family: sans-serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox form.search {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox input[type="text"] {
|
||||
float: left;
|
||||
width: 80%;
|
||||
padding: 0.25em;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox input[type="submit"] {
|
||||
float: left;
|
||||
width: 20%;
|
||||
border-left: none;
|
||||
padding: 0.25em;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* -- search page ----------------------------------------------------------- */
|
||||
|
||||
ul.search {
|
||||
margin: 10px 0 0 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.search li {
|
||||
padding: 5px 0 5px 20px;
|
||||
background-image: url(file.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 7px;
|
||||
}
|
||||
|
||||
ul.search li a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul.search li p.context {
|
||||
color: #888;
|
||||
margin: 2px 0 0 30px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
ul.keywordmatches li.goodmatch a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* -- index page ------------------------------------------------------------ */
|
||||
|
||||
table.contentstable {
|
||||
width: 90%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.contentstable p.biglink {
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
a.biglink {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
span.linkdescr {
|
||||
font-style: italic;
|
||||
padding-top: 5px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
/* -- general index --------------------------------------------------------- */
|
||||
|
||||
table.indextable {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.indextable td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.indextable ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
table.indextable > tbody > tr > td > ul {
|
||||
padding-left: 0em;
|
||||
}
|
||||
|
||||
table.indextable tr.pcap {
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
table.indextable tr.cap {
|
||||
margin-top: 10px;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
img.toggler {
|
||||
margin-right: 3px;
|
||||
margin-top: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.modindex-jumpbox {
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin: 1em 0 1em 0;
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
div.genindex-jumpbox {
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin: 1em 0 1em 0;
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
/* -- domain module index --------------------------------------------------- */
|
||||
|
||||
table.modindextable td {
|
||||
padding: 2px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* -- general body styles --------------------------------------------------- */
|
||||
|
||||
div.body {
|
||||
min-width: 450px;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
div.body p, div.body dd, div.body li, div.body blockquote {
|
||||
-moz-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
a.headerlink {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
a.brackets:before,
|
||||
span.brackets > a:before{
|
||||
content: "[";
|
||||
}
|
||||
|
||||
a.brackets:after,
|
||||
span.brackets > a:after {
|
||||
content: "]";
|
||||
}
|
||||
|
||||
h1:hover > a.headerlink,
|
||||
h2:hover > a.headerlink,
|
||||
h3:hover > a.headerlink,
|
||||
h4:hover > a.headerlink,
|
||||
h5:hover > a.headerlink,
|
||||
h6:hover > a.headerlink,
|
||||
dt:hover > a.headerlink,
|
||||
caption:hover > a.headerlink,
|
||||
p.caption:hover > a.headerlink,
|
||||
div.code-block-caption:hover > a.headerlink {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
div.body p.caption {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
div.body td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.first {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
p.rubric {
|
||||
margin-top: 30px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
img.align-left, figure.align-left, .figure.align-left, object.align-left {
|
||||
clear: left;
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
img.align-right, figure.align-right, .figure.align-right, object.align-right {
|
||||
clear: right;
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
img.align-center, figure.align-center, .figure.align-center, object.align-center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
img.align-default, figure.align-default, .figure.align-default {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.align-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.align-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align-default {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* -- sidebars -------------------------------------------------------------- */
|
||||
|
||||
div.sidebar,
|
||||
aside.sidebar {
|
||||
margin: 0 0 0.5em 1em;
|
||||
border: 1px solid #ddb;
|
||||
padding: 7px;
|
||||
background-color: #ffe;
|
||||
width: 40%;
|
||||
float: right;
|
||||
clear: right;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
p.sidebar-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.admonition, div.topic, blockquote {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* -- topics ---------------------------------------------------------------- */
|
||||
|
||||
div.topic {
|
||||
border: 1px solid #ccc;
|
||||
padding: 7px;
|
||||
margin: 10px 0 10px 0;
|
||||
}
|
||||
|
||||
p.topic-title {
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/* -- admonitions ----------------------------------------------------------- */
|
||||
|
||||
div.admonition {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
div.admonition dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
p.admonition-title {
|
||||
margin: 0px 10px 5px 0px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.body p.centered {
|
||||
text-align: center;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
/* -- content of sidebars/topics/admonitions -------------------------------- */
|
||||
|
||||
div.sidebar > :last-child,
|
||||
aside.sidebar > :last-child,
|
||||
div.topic > :last-child,
|
||||
div.admonition > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.sidebar::after,
|
||||
aside.sidebar::after,
|
||||
div.topic::after,
|
||||
div.admonition::after,
|
||||
blockquote::after {
|
||||
display: block;
|
||||
content: '';
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* -- tables ---------------------------------------------------------------- */
|
||||
|
||||
table.docutils {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
border: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.align-default {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table caption span.caption-number {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
table caption span.caption-text {
|
||||
}
|
||||
|
||||
table.docutils td, table.docutils th {
|
||||
padding: 1px 8px 1px 5px;
|
||||
border-top: 0;
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
table.footnote td, table.footnote th {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px;
|
||||
}
|
||||
|
||||
table.citation td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
th > :first-child,
|
||||
td > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
th > :last-child,
|
||||
td > :last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
/* -- figures --------------------------------------------------------------- */
|
||||
|
||||
div.figure, figure {
|
||||
margin: 0.5em;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.figure p.caption, figcaption {
|
||||
padding: 0.3em;
|
||||
}
|
||||
|
||||
div.figure p.caption span.caption-number,
|
||||
figcaption span.caption-number {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.figure p.caption span.caption-text,
|
||||
figcaption span.caption-text {
|
||||
}
|
||||
|
||||
/* -- field list styles ----------------------------------------------------- */
|
||||
|
||||
table.field-list td, table.field-list th {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.field-list ul {
|
||||
margin: 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.field-list p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.field-name {
|
||||
-moz-hyphens: manual;
|
||||
-ms-hyphens: manual;
|
||||
-webkit-hyphens: manual;
|
||||
hyphens: manual;
|
||||
}
|
||||
|
||||
/* -- hlist styles ---------------------------------------------------------- */
|
||||
|
||||
table.hlist {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
table.hlist td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* -- object description styles --------------------------------------------- */
|
||||
|
||||
.sig {
|
||||
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
|
||||
}
|
||||
|
||||
.sig-name, code.descname {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.sig-name {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
code.descname {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.sig-prename, code.descclassname {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.optional {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.sig-paren {
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
.sig-param.n {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* C++ specific styling */
|
||||
|
||||
.sig-inline.c-texpr,
|
||||
.sig-inline.cpp-texpr {
|
||||
font-family: unset;
|
||||
}
|
||||
|
||||
.sig.c .k, .sig.c .kt,
|
||||
.sig.cpp .k, .sig.cpp .kt {
|
||||
color: #0033B3;
|
||||
}
|
||||
|
||||
.sig.c .m,
|
||||
.sig.cpp .m {
|
||||
color: #1750EB;
|
||||
}
|
||||
|
||||
.sig.c .s, .sig.c .sc,
|
||||
.sig.cpp .s, .sig.cpp .sc {
|
||||
color: #067D17;
|
||||
}
|
||||
|
||||
|
||||
/* -- other body styles ----------------------------------------------------- */
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha;
|
||||
}
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha;
|
||||
}
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman;
|
||||
}
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman;
|
||||
}
|
||||
|
||||
:not(li) > ol > li:first-child > :first-child,
|
||||
:not(li) > ul > li:first-child > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
:not(li) > ol > li:last-child > :last-child,
|
||||
:not(li) > ul > li:last-child > :last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
ol.simple ol p,
|
||||
ol.simple ul p,
|
||||
ul.simple ol p,
|
||||
ul.simple ul p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
ol.simple > li:not(:first-child) > p,
|
||||
ul.simple > li:not(:first-child) > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
ol.simple p,
|
||||
ul.simple p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dl.footnote > dt,
|
||||
dl.citation > dt {
|
||||
float: left;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
dl.footnote > dd,
|
||||
dl.citation > dd {
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
dl.footnote > dd:after,
|
||||
dl.citation > dd:after {
|
||||
content: "";
|
||||
clear: both;
|
||||
}
|
||||
|
||||
dl.field-list {
|
||||
display: grid;
|
||||
grid-template-columns: fit-content(30%) auto;
|
||||
}
|
||||
|
||||
dl.field-list > dt {
|
||||
font-weight: bold;
|
||||
word-break: break-word;
|
||||
padding-left: 0.5em;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
dl.field-list > dt:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
dl.field-list > dd {
|
||||
padding-left: 0.5em;
|
||||
margin-top: 0em;
|
||||
margin-left: 0em;
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
dd > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
dd ul, dd table {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 10px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
dl > dd:last-child,
|
||||
dl > dd:last-child > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt:target, span.highlighted {
|
||||
background-color: #fbe54e;
|
||||
}
|
||||
|
||||
rect.highlighted {
|
||||
fill: #fbe54e;
|
||||
}
|
||||
|
||||
dl.glossary dt {
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.versionmodified {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.system-message {
|
||||
background-color: #fda;
|
||||
padding: 5px;
|
||||
border: 3px solid red;
|
||||
}
|
||||
|
||||
.footnote:target {
|
||||
background-color: #ffa;
|
||||
}
|
||||
|
||||
.line-block {
|
||||
display: block;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.line-block .line-block {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
|
||||
.guilabel, .menuselection {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.accelerator {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.classifier {
|
||||
font-style: oblique;
|
||||
}
|
||||
|
||||
.classifier:before {
|
||||
font-style: normal;
|
||||
margin: 0 0.5em;
|
||||
content: ":";
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
abbr, acronym {
|
||||
border-bottom: dotted 1px;
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
/* -- code displays --------------------------------------------------------- */
|
||||
|
||||
pre {
|
||||
overflow: auto;
|
||||
overflow-y: hidden; /* fixes display issues on Chrome browsers */
|
||||
}
|
||||
|
||||
pre, div[class*="highlight-"] {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
span.pre {
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
-webkit-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
div[class*="highlight-"] {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
td.linenos pre {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
table.highlighttable {
|
||||
display: block;
|
||||
}
|
||||
|
||||
table.highlighttable tbody {
|
||||
display: block;
|
||||
}
|
||||
|
||||
table.highlighttable tr {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
table.highlighttable td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
table.highlighttable td.linenos {
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
table.highlighttable td.code {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.highlight .hll {
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.highlight pre,
|
||||
table.highlighttable pre {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.code-block-caption + div {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
div.code-block-caption {
|
||||
margin-top: 1em;
|
||||
padding: 2px 5px;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div.code-block-caption code {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
table.highlighttable td.linenos,
|
||||
span.linenos,
|
||||
div.highlight span.gp { /* gp: Generic.Prompt */
|
||||
user-select: none;
|
||||
-webkit-user-select: text; /* Safari fallback only */
|
||||
-webkit-user-select: none; /* Chrome/Safari */
|
||||
-moz-user-select: none; /* Firefox */
|
||||
-ms-user-select: none; /* IE10+ */
|
||||
}
|
||||
|
||||
div.code-block-caption span.caption-number {
|
||||
padding: 0.1em 0.3em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.code-block-caption span.caption-text {
|
||||
}
|
||||
|
||||
div.literal-block-wrapper {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
code.xref, a code {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.viewcode-link {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.viewcode-back {
|
||||
float: right;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
div.viewcode-block:target {
|
||||
margin: -1px -10px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
/* -- math display ---------------------------------------------------------- */
|
||||
|
||||
img.math {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div.body div.math p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
span.eqno {
|
||||
float: right;
|
||||
}
|
||||
|
||||
span.eqno a.headerlink {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
div.math:hover a.headerlink {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
/* -- printout stylesheet --------------------------------------------------- */
|
||||
|
||||
@media print {
|
||||
div.document,
|
||||
div.documentwrapper,
|
||||
div.bodywrapper {
|
||||
margin: 0 !important;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar,
|
||||
div.related,
|
||||
div.footer,
|
||||
#top-link {
|
||||
display: none;
|
||||
}
|
||||
}
|
1
esp_modem/_static/custom.css
Normal file
1
esp_modem/_static/custom.css
Normal file
@@ -0,0 +1 @@
|
||||
/* This file intentionally left blank. */
|
323
esp_modem/_static/doctools.js
Normal file
323
esp_modem/_static/doctools.js
Normal file
@@ -0,0 +1,323 @@
|
||||
/*
|
||||
* doctools.js
|
||||
* ~~~~~~~~~~~
|
||||
*
|
||||
* Sphinx JavaScript utilities for all documentation.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* select a different prefix for underscore
|
||||
*/
|
||||
$u = _.noConflict();
|
||||
|
||||
/**
|
||||
* make the code below compatible with browsers without
|
||||
* an installed firebug like debugger
|
||||
if (!window.console || !console.firebug) {
|
||||
var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
|
||||
"dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
|
||||
"profile", "profileEnd"];
|
||||
window.console = {};
|
||||
for (var i = 0; i < names.length; ++i)
|
||||
window.console[names[i]] = function() {};
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* small helper function to urldecode strings
|
||||
*
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
|
||||
*/
|
||||
jQuery.urldecode = function(x) {
|
||||
if (!x) {
|
||||
return x
|
||||
}
|
||||
return decodeURIComponent(x.replace(/\+/g, ' '));
|
||||
};
|
||||
|
||||
/**
|
||||
* small helper function to urlencode strings
|
||||
*/
|
||||
jQuery.urlencode = encodeURIComponent;
|
||||
|
||||
/**
|
||||
* This function returns the parsed url parameters of the
|
||||
* current request. Multiple values per key are supported,
|
||||
* it will always return arrays of strings for the value parts.
|
||||
*/
|
||||
jQuery.getQueryParameters = function(s) {
|
||||
if (typeof s === 'undefined')
|
||||
s = document.location.search;
|
||||
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
||||
var result = {};
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var tmp = parts[i].split('=', 2);
|
||||
var key = jQuery.urldecode(tmp[0]);
|
||||
var value = jQuery.urldecode(tmp[1]);
|
||||
if (key in result)
|
||||
result[key].push(value);
|
||||
else
|
||||
result[key] = [value];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* highlight a given string on a jquery object by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
jQuery.fn.highlightText = function(text, className) {
|
||||
function highlight(node, addItems) {
|
||||
if (node.nodeType === 3) {
|
||||
var val = node.nodeValue;
|
||||
var pos = val.toLowerCase().indexOf(text);
|
||||
if (pos >= 0 &&
|
||||
!jQuery(node.parentNode).hasClass(className) &&
|
||||
!jQuery(node.parentNode).hasClass("nohighlight")) {
|
||||
var span;
|
||||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.className = className;
|
||||
}
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
node.nextSibling));
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
if (isInSVG) {
|
||||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
var bbox = node.parentElement.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute('class', className);
|
||||
addItems.push({
|
||||
"parent": node.parentNode,
|
||||
"target": rect});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!jQuery(node).is("button, select, textarea")) {
|
||||
jQuery.each(node.childNodes, function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
}
|
||||
}
|
||||
var addItems = [];
|
||||
var result = this.each(function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
for (var i = 0; i < addItems.length; ++i) {
|
||||
jQuery(addItems[i].parent).before(addItems[i].target);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* backward compatibility for jQuery.browser
|
||||
* This will be supported until firefox bug is fixed.
|
||||
*/
|
||||
if (!jQuery.browser) {
|
||||
jQuery.uaMatch = function(ua) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(msie) ([\w.]+)/.exec(ua) ||
|
||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
||||
[];
|
||||
|
||||
return {
|
||||
browser: match[ 1 ] || "",
|
||||
version: match[ 2 ] || "0"
|
||||
};
|
||||
};
|
||||
jQuery.browser = {};
|
||||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Small JavaScript module for the documentation.
|
||||
*/
|
||||
var Documentation = {
|
||||
|
||||
init : function() {
|
||||
this.fixFirefoxAnchorBug();
|
||||
this.highlightSearchWords();
|
||||
this.initIndexTable();
|
||||
if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
|
||||
this.initOnKeyListeners();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* i18n support
|
||||
*/
|
||||
TRANSLATIONS : {},
|
||||
PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
|
||||
LOCALE : 'unknown',
|
||||
|
||||
// gettext and ngettext don't access this so that the functions
|
||||
// can safely bound to a different name (_ = Documentation.gettext)
|
||||
gettext : function(string) {
|
||||
var translated = Documentation.TRANSLATIONS[string];
|
||||
if (typeof translated === 'undefined')
|
||||
return string;
|
||||
return (typeof translated === 'string') ? translated : translated[0];
|
||||
},
|
||||
|
||||
ngettext : function(singular, plural, n) {
|
||||
var translated = Documentation.TRANSLATIONS[singular];
|
||||
if (typeof translated === 'undefined')
|
||||
return (n == 1) ? singular : plural;
|
||||
return translated[Documentation.PLURALEXPR(n)];
|
||||
},
|
||||
|
||||
addTranslations : function(catalog) {
|
||||
for (var key in catalog.messages)
|
||||
this.TRANSLATIONS[key] = catalog.messages[key];
|
||||
this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
|
||||
this.LOCALE = catalog.locale;
|
||||
},
|
||||
|
||||
/**
|
||||
* add context elements like header anchor links
|
||||
*/
|
||||
addContextElements : function() {
|
||||
$('div[id] > :header:first').each(function() {
|
||||
$('<a class="headerlink">\u00B6</a>').
|
||||
attr('href', '#' + this.id).
|
||||
attr('title', _('Permalink to this headline')).
|
||||
appendTo(this);
|
||||
});
|
||||
$('dt[id]').each(function() {
|
||||
$('<a class="headerlink">\u00B6</a>').
|
||||
attr('href', '#' + this.id).
|
||||
attr('title', _('Permalink to this definition')).
|
||||
appendTo(this);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* workaround a firefox stupidity
|
||||
* see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
|
||||
*/
|
||||
fixFirefoxAnchorBug : function() {
|
||||
if (document.location.hash && $.browser.mozilla)
|
||||
window.setTimeout(function() {
|
||||
document.location.href += '';
|
||||
}, 10);
|
||||
},
|
||||
|
||||
/**
|
||||
* highlight the search words provided in the url in the text
|
||||
*/
|
||||
highlightSearchWords : function() {
|
||||
var params = $.getQueryParameters();
|
||||
var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
|
||||
if (terms.length) {
|
||||
var body = $('div.body');
|
||||
if (!body.length) {
|
||||
body = $('body');
|
||||
}
|
||||
window.setTimeout(function() {
|
||||
$.each(terms, function() {
|
||||
body.highlightText(this.toLowerCase(), 'highlighted');
|
||||
});
|
||||
}, 10);
|
||||
$('<p class="highlight-link"><a href="javascript:Documentation.' +
|
||||
'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
|
||||
.appendTo($('#searchbox'));
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* init the domain index toggle buttons
|
||||
*/
|
||||
initIndexTable : function() {
|
||||
var togglers = $('img.toggler').click(function() {
|
||||
var src = $(this).attr('src');
|
||||
var idnum = $(this).attr('id').substr(7);
|
||||
$('tr.cg-' + idnum).toggle();
|
||||
if (src.substr(-9) === 'minus.png')
|
||||
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
|
||||
else
|
||||
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
|
||||
}).css('display', '');
|
||||
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
|
||||
togglers.click();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to hide the search marks again
|
||||
*/
|
||||
hideSearchWords : function() {
|
||||
$('#searchbox .highlight-link').fadeOut(300);
|
||||
$('span.highlighted').removeClass('highlighted');
|
||||
},
|
||||
|
||||
/**
|
||||
* make the url absolute
|
||||
*/
|
||||
makeURL : function(relativeURL) {
|
||||
return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
|
||||
},
|
||||
|
||||
/**
|
||||
* get the current relative url
|
||||
*/
|
||||
getCurrentURL : function() {
|
||||
var path = document.location.pathname;
|
||||
var parts = path.split(/\//);
|
||||
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
|
||||
if (this === '..')
|
||||
parts.pop();
|
||||
});
|
||||
var url = parts.join('/');
|
||||
return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
|
||||
},
|
||||
|
||||
initOnKeyListeners: function() {
|
||||
$(document).keydown(function(event) {
|
||||
var activeElementType = document.activeElement.tagName;
|
||||
// don't navigate when in search box, textarea, dropdown or button
|
||||
if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT'
|
||||
&& activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey
|
||||
&& !event.shiftKey) {
|
||||
switch (event.keyCode) {
|
||||
case 37: // left
|
||||
var prevHref = $('link[rel="prev"]').prop('href');
|
||||
if (prevHref) {
|
||||
window.location.href = prevHref;
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 39: // right
|
||||
var nextHref = $('link[rel="next"]').prop('href');
|
||||
if (nextHref) {
|
||||
window.location.href = nextHref;
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// quick alias for translations
|
||||
_ = Documentation.gettext;
|
||||
|
||||
$(document).ready(function() {
|
||||
Documentation.init();
|
||||
});
|
12
esp_modem/_static/documentation_options.js
Normal file
12
esp_modem/_static/documentation_options.js
Normal file
@@ -0,0 +1,12 @@
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||
VERSION: '',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
FILE_SUFFIX: '.html',
|
||||
LINK_SUFFIX: '.html',
|
||||
HAS_SOURCE: true,
|
||||
SOURCELINK_SUFFIX: '.txt',
|
||||
NAVIGATION_WITH_KEYS: false
|
||||
};
|
BIN
esp_modem/_static/file.png
Normal file
BIN
esp_modem/_static/file.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 286 B |
10872
esp_modem/_static/jquery-3.5.1.js
vendored
Normal file
10872
esp_modem/_static/jquery-3.5.1.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
esp_modem/_static/jquery.js
vendored
Normal file
2
esp_modem/_static/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
297
esp_modem/_static/language_data.js
Normal file
297
esp_modem/_static/language_data.js
Normal file
@@ -0,0 +1,297 @@
|
||||
/*
|
||||
* language_data.js
|
||||
* ~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* This script contains the language-specific data used by searchtools.js,
|
||||
* namely the list of stopwords, stemmer, scorer and splitter.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
|
||||
|
||||
|
||||
/* Non-minified version is copied as a separate JS file, is available */
|
||||
|
||||
/**
|
||||
* Porter Stemmer
|
||||
*/
|
||||
var Stemmer = function() {
|
||||
|
||||
var step2list = {
|
||||
ational: 'ate',
|
||||
tional: 'tion',
|
||||
enci: 'ence',
|
||||
anci: 'ance',
|
||||
izer: 'ize',
|
||||
bli: 'ble',
|
||||
alli: 'al',
|
||||
entli: 'ent',
|
||||
eli: 'e',
|
||||
ousli: 'ous',
|
||||
ization: 'ize',
|
||||
ation: 'ate',
|
||||
ator: 'ate',
|
||||
alism: 'al',
|
||||
iveness: 'ive',
|
||||
fulness: 'ful',
|
||||
ousness: 'ous',
|
||||
aliti: 'al',
|
||||
iviti: 'ive',
|
||||
biliti: 'ble',
|
||||
logi: 'log'
|
||||
};
|
||||
|
||||
var step3list = {
|
||||
icate: 'ic',
|
||||
ative: '',
|
||||
alize: 'al',
|
||||
iciti: 'ic',
|
||||
ical: 'ic',
|
||||
ful: '',
|
||||
ness: ''
|
||||
};
|
||||
|
||||
var c = "[^aeiou]"; // consonant
|
||||
var v = "[aeiouy]"; // vowel
|
||||
var C = c + "[^aeiouy]*"; // consonant sequence
|
||||
var V = v + "[aeiou]*"; // vowel sequence
|
||||
|
||||
var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
|
||||
var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
|
||||
var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
|
||||
var s_v = "^(" + C + ")?" + v; // vowel in stem
|
||||
|
||||
this.stemWord = function (w) {
|
||||
var stem;
|
||||
var suffix;
|
||||
var firstch;
|
||||
var origword = w;
|
||||
|
||||
if (w.length < 3)
|
||||
return w;
|
||||
|
||||
var re;
|
||||
var re2;
|
||||
var re3;
|
||||
var re4;
|
||||
|
||||
firstch = w.substr(0,1);
|
||||
if (firstch == "y")
|
||||
w = firstch.toUpperCase() + w.substr(1);
|
||||
|
||||
// Step 1a
|
||||
re = /^(.+?)(ss|i)es$/;
|
||||
re2 = /^(.+?)([^s])s$/;
|
||||
|
||||
if (re.test(w))
|
||||
w = w.replace(re,"$1$2");
|
||||
else if (re2.test(w))
|
||||
w = w.replace(re2,"$1$2");
|
||||
|
||||
// Step 1b
|
||||
re = /^(.+?)eed$/;
|
||||
re2 = /^(.+?)(ed|ing)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
re = new RegExp(mgr0);
|
||||
if (re.test(fp[1])) {
|
||||
re = /.$/;
|
||||
w = w.replace(re,"");
|
||||
}
|
||||
}
|
||||
else if (re2.test(w)) {
|
||||
var fp = re2.exec(w);
|
||||
stem = fp[1];
|
||||
re2 = new RegExp(s_v);
|
||||
if (re2.test(stem)) {
|
||||
w = stem;
|
||||
re2 = /(at|bl|iz)$/;
|
||||
re3 = new RegExp("([^aeiouylsz])\\1$");
|
||||
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||
if (re2.test(w))
|
||||
w = w + "e";
|
||||
else if (re3.test(w)) {
|
||||
re = /.$/;
|
||||
w = w.replace(re,"");
|
||||
}
|
||||
else if (re4.test(w))
|
||||
w = w + "e";
|
||||
}
|
||||
}
|
||||
|
||||
// Step 1c
|
||||
re = /^(.+?)y$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
re = new RegExp(s_v);
|
||||
if (re.test(stem))
|
||||
w = stem + "i";
|
||||
}
|
||||
|
||||
// Step 2
|
||||
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
suffix = fp[2];
|
||||
re = new RegExp(mgr0);
|
||||
if (re.test(stem))
|
||||
w = stem + step2list[suffix];
|
||||
}
|
||||
|
||||
// Step 3
|
||||
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
suffix = fp[2];
|
||||
re = new RegExp(mgr0);
|
||||
if (re.test(stem))
|
||||
w = stem + step3list[suffix];
|
||||
}
|
||||
|
||||
// Step 4
|
||||
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
|
||||
re2 = /^(.+?)(s|t)(ion)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
re = new RegExp(mgr1);
|
||||
if (re.test(stem))
|
||||
w = stem;
|
||||
}
|
||||
else if (re2.test(w)) {
|
||||
var fp = re2.exec(w);
|
||||
stem = fp[1] + fp[2];
|
||||
re2 = new RegExp(mgr1);
|
||||
if (re2.test(stem))
|
||||
w = stem;
|
||||
}
|
||||
|
||||
// Step 5
|
||||
re = /^(.+?)e$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
re = new RegExp(mgr1);
|
||||
re2 = new RegExp(meq1);
|
||||
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
|
||||
w = stem;
|
||||
}
|
||||
re = /ll$/;
|
||||
re2 = new RegExp(mgr1);
|
||||
if (re.test(w) && re2.test(w)) {
|
||||
re = /.$/;
|
||||
w = w.replace(re,"");
|
||||
}
|
||||
|
||||
// and turn initial Y back to y
|
||||
if (firstch == "y")
|
||||
w = firstch.toLowerCase() + w.substr(1);
|
||||
return w;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var splitChars = (function() {
|
||||
var result = {};
|
||||
var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
|
||||
1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
|
||||
2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
|
||||
2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
|
||||
3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
|
||||
3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
|
||||
4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
|
||||
8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
|
||||
11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
|
||||
43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
|
||||
var i, j, start, end;
|
||||
for (i = 0; i < singles.length; i++) {
|
||||
result[singles[i]] = true;
|
||||
}
|
||||
var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
|
||||
[722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
|
||||
[1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
|
||||
[1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
|
||||
[1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
|
||||
[2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
|
||||
[2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
|
||||
[2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
|
||||
[2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
|
||||
[2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
|
||||
[2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
|
||||
[2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
|
||||
[3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
|
||||
[3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
|
||||
[3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
|
||||
[3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
|
||||
[3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
|
||||
[3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
|
||||
[4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
|
||||
[4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
|
||||
[4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
|
||||
[4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
|
||||
[5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
|
||||
[6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
|
||||
[6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
|
||||
[6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
|
||||
[6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
|
||||
[7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
|
||||
[7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
|
||||
[8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
|
||||
[8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
|
||||
[8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
|
||||
[10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
|
||||
[11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
|
||||
[12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
|
||||
[12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
|
||||
[12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
|
||||
[19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
|
||||
[42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
|
||||
[42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
|
||||
[43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
|
||||
[43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
|
||||
[43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
|
||||
[43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
|
||||
[44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
|
||||
[57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
|
||||
[64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
|
||||
[65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
|
||||
[65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
|
||||
for (i = 0; i < ranges.length; i++) {
|
||||
start = ranges[i][0];
|
||||
end = ranges[i][1];
|
||||
for (j = start; j <= end; j++) {
|
||||
result[j] = true;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
})();
|
||||
|
||||
function splitQuery(query) {
|
||||
var result = [];
|
||||
var start = -1;
|
||||
for (var i = 0; i < query.length; i++) {
|
||||
if (splitChars[query.charCodeAt(i)]) {
|
||||
if (start !== -1) {
|
||||
result.push(query.slice(start, i));
|
||||
start = -1;
|
||||
}
|
||||
} else if (start === -1) {
|
||||
start = i;
|
||||
}
|
||||
}
|
||||
if (start !== -1) {
|
||||
result.push(query.slice(start));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
BIN
esp_modem/_static/minus.png
Normal file
BIN
esp_modem/_static/minus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 90 B |
BIN
esp_modem/_static/plus.png
Normal file
BIN
esp_modem/_static/plus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 90 B |
77
esp_modem/_static/pygments.css
Normal file
77
esp_modem/_static/pygments.css
Normal file
@@ -0,0 +1,77 @@
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #f8f8f8; }
|
||||
.highlight .c { color: #8f5902; font-style: italic } /* Comment */
|
||||
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
|
||||
.highlight .g { color: #000000 } /* Generic */
|
||||
.highlight .k { color: #004461; font-weight: bold } /* Keyword */
|
||||
.highlight .l { color: #000000 } /* Literal */
|
||||
.highlight .n { color: #000000 } /* Name */
|
||||
.highlight .o { color: #582800 } /* Operator */
|
||||
.highlight .x { color: #000000 } /* Other */
|
||||
.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
|
||||
.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #8f5902 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #a40000 } /* Generic.Deleted */
|
||||
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #ef2929 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #888888 } /* Generic.Output */
|
||||
.highlight .gp { color: #745334 } /* Generic.Prompt */
|
||||
.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
|
||||
.highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */
|
||||
.highlight .ld { color: #000000 } /* Literal.Date */
|
||||
.highlight .m { color: #990000 } /* Literal.Number */
|
||||
.highlight .s { color: #4e9a06 } /* Literal.String */
|
||||
.highlight .na { color: #c4a000 } /* Name.Attribute */
|
||||
.highlight .nb { color: #004461 } /* Name.Builtin */
|
||||
.highlight .nc { color: #000000 } /* Name.Class */
|
||||
.highlight .no { color: #000000 } /* Name.Constant */
|
||||
.highlight .nd { color: #888888 } /* Name.Decorator */
|
||||
.highlight .ni { color: #ce5c00 } /* Name.Entity */
|
||||
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #000000 } /* Name.Function */
|
||||
.highlight .nl { color: #f57900 } /* Name.Label */
|
||||
.highlight .nn { color: #000000 } /* Name.Namespace */
|
||||
.highlight .nx { color: #000000 } /* Name.Other */
|
||||
.highlight .py { color: #000000 } /* Name.Property */
|
||||
.highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #000000 } /* Name.Variable */
|
||||
.highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #f8f8f8; text-decoration: underline } /* Text.Whitespace */
|
||||
.highlight .mb { color: #990000 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #990000 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #990000 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #990000 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #990000 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #000000 } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #000000 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #000000 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */
|
529
esp_modem/_static/searchtools.js
Normal file
529
esp_modem/_static/searchtools.js
Normal file
@@ -0,0 +1,529 @@
|
||||
/*
|
||||
* searchtools.js
|
||||
* ~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* Sphinx JavaScript utilities for the full-text search.
|
||||
*
|
||||
* :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
if (!Scorer) {
|
||||
/**
|
||||
* Simple result scoring code.
|
||||
*/
|
||||
var Scorer = {
|
||||
// Implement the following function to further tweak the score for each result
|
||||
// The function takes a result array [filename, title, anchor, descr, score]
|
||||
// and returns the new score.
|
||||
/*
|
||||
score: function(result) {
|
||||
return result[4];
|
||||
},
|
||||
*/
|
||||
|
||||
// query matches the full name of an object
|
||||
objNameMatch: 11,
|
||||
// or matches in the last dotted part of the object name
|
||||
objPartialMatch: 6,
|
||||
// Additive scores depending on the priority of the object
|
||||
objPrio: {0: 15, // used to be importantResults
|
||||
1: 5, // used to be objectResults
|
||||
2: -5}, // used to be unimportantResults
|
||||
// Used when the priority is not in the mapping.
|
||||
objPrioDefault: 0,
|
||||
|
||||
// query found in title
|
||||
title: 15,
|
||||
partialTitle: 7,
|
||||
// query found in terms
|
||||
term: 5,
|
||||
partialTerm: 2
|
||||
};
|
||||
}
|
||||
|
||||
if (!splitQuery) {
|
||||
function splitQuery(query) {
|
||||
return query.split(/\s+/);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Search Module
|
||||
*/
|
||||
var Search = {
|
||||
|
||||
_index : null,
|
||||
_queued_query : null,
|
||||
_pulse_status : -1,
|
||||
|
||||
htmlToText : function(htmlString) {
|
||||
var virtualDocument = document.implementation.createHTMLDocument('virtual');
|
||||
var htmlElement = $(htmlString, virtualDocument);
|
||||
htmlElement.find('.headerlink').remove();
|
||||
docContent = htmlElement.find('[role=main]')[0];
|
||||
if(docContent === undefined) {
|
||||
console.warn("Content block not found. Sphinx search tries to obtain it " +
|
||||
"via '[role=main]'. Could you check your theme or template.");
|
||||
return "";
|
||||
}
|
||||
return docContent.textContent || docContent.innerText;
|
||||
},
|
||||
|
||||
init : function() {
|
||||
var params = $.getQueryParameters();
|
||||
if (params.q) {
|
||||
var query = params.q[0];
|
||||
$('input[name="q"]')[0].value = query;
|
||||
this.performSearch(query);
|
||||
}
|
||||
},
|
||||
|
||||
loadIndex : function(url) {
|
||||
$.ajax({type: "GET", url: url, data: null,
|
||||
dataType: "script", cache: true,
|
||||
complete: function(jqxhr, textstatus) {
|
||||
if (textstatus != "success") {
|
||||
document.getElementById("searchindexloader").src = url;
|
||||
}
|
||||
}});
|
||||
},
|
||||
|
||||
setIndex : function(index) {
|
||||
var q;
|
||||
this._index = index;
|
||||
if ((q = this._queued_query) !== null) {
|
||||
this._queued_query = null;
|
||||
Search.query(q);
|
||||
}
|
||||
},
|
||||
|
||||
hasIndex : function() {
|
||||
return this._index !== null;
|
||||
},
|
||||
|
||||
deferQuery : function(query) {
|
||||
this._queued_query = query;
|
||||
},
|
||||
|
||||
stopPulse : function() {
|
||||
this._pulse_status = 0;
|
||||
},
|
||||
|
||||
startPulse : function() {
|
||||
if (this._pulse_status >= 0)
|
||||
return;
|
||||
function pulse() {
|
||||
var i;
|
||||
Search._pulse_status = (Search._pulse_status + 1) % 4;
|
||||
var dotString = '';
|
||||
for (i = 0; i < Search._pulse_status; i++)
|
||||
dotString += '.';
|
||||
Search.dots.text(dotString);
|
||||
if (Search._pulse_status > -1)
|
||||
window.setTimeout(pulse, 500);
|
||||
}
|
||||
pulse();
|
||||
},
|
||||
|
||||
/**
|
||||
* perform a search for something (or wait until index is loaded)
|
||||
*/
|
||||
performSearch : function(query) {
|
||||
// create the required interface elements
|
||||
this.out = $('#search-results');
|
||||
this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
|
||||
this.dots = $('<span></span>').appendTo(this.title);
|
||||
this.status = $('<p class="search-summary"> </p>').appendTo(this.out);
|
||||
this.output = $('<ul class="search"/>').appendTo(this.out);
|
||||
|
||||
$('#search-progress').text(_('Preparing search...'));
|
||||
this.startPulse();
|
||||
|
||||
// index already loaded, the browser was quick!
|
||||
if (this.hasIndex())
|
||||
this.query(query);
|
||||
else
|
||||
this.deferQuery(query);
|
||||
},
|
||||
|
||||
/**
|
||||
* execute search (requires search index to be loaded)
|
||||
*/
|
||||
query : function(query) {
|
||||
var i;
|
||||
|
||||
// stem the searchterms and add them to the correct list
|
||||
var stemmer = new Stemmer();
|
||||
var searchterms = [];
|
||||
var excluded = [];
|
||||
var hlterms = [];
|
||||
var tmp = splitQuery(query);
|
||||
var objectterms = [];
|
||||
for (i = 0; i < tmp.length; i++) {
|
||||
if (tmp[i] !== "") {
|
||||
objectterms.push(tmp[i].toLowerCase());
|
||||
}
|
||||
|
||||
if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i] === "") {
|
||||
// skip this "word"
|
||||
continue;
|
||||
}
|
||||
// stem the word
|
||||
var word = stemmer.stemWord(tmp[i].toLowerCase());
|
||||
// prevent stemmer from cutting word smaller than two chars
|
||||
if(word.length < 3 && tmp[i].length >= 3) {
|
||||
word = tmp[i];
|
||||
}
|
||||
var toAppend;
|
||||
// select the correct list
|
||||
if (word[0] == '-') {
|
||||
toAppend = excluded;
|
||||
word = word.substr(1);
|
||||
}
|
||||
else {
|
||||
toAppend = searchterms;
|
||||
hlterms.push(tmp[i].toLowerCase());
|
||||
}
|
||||
// only add if not already in the list
|
||||
if (!$u.contains(toAppend, word))
|
||||
toAppend.push(word);
|
||||
}
|
||||
var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
|
||||
|
||||
// console.debug('SEARCH: searching for:');
|
||||
// console.info('required: ', searchterms);
|
||||
// console.info('excluded: ', excluded);
|
||||
|
||||
// prepare search
|
||||
var terms = this._index.terms;
|
||||
var titleterms = this._index.titleterms;
|
||||
|
||||
// array of [filename, title, anchor, descr, score]
|
||||
var results = [];
|
||||
$('#search-progress').empty();
|
||||
|
||||
// lookup as object
|
||||
for (i = 0; i < objectterms.length; i++) {
|
||||
var others = [].concat(objectterms.slice(0, i),
|
||||
objectterms.slice(i+1, objectterms.length));
|
||||
results = results.concat(this.performObjectSearch(objectterms[i], others));
|
||||
}
|
||||
|
||||
// lookup as search terms in fulltext
|
||||
results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
|
||||
|
||||
// let the scorer override scores with a custom scoring function
|
||||
if (Scorer.score) {
|
||||
for (i = 0; i < results.length; i++)
|
||||
results[i][4] = Scorer.score(results[i]);
|
||||
}
|
||||
|
||||
// now sort the results by score (in opposite order of appearance, since the
|
||||
// display function below uses pop() to retrieve items) and then
|
||||
// alphabetically
|
||||
results.sort(function(a, b) {
|
||||
var left = a[4];
|
||||
var right = b[4];
|
||||
if (left > right) {
|
||||
return 1;
|
||||
} else if (left < right) {
|
||||
return -1;
|
||||
} else {
|
||||
// same score: sort alphabetically
|
||||
left = a[1].toLowerCase();
|
||||
right = b[1].toLowerCase();
|
||||
return (left > right) ? -1 : ((left < right) ? 1 : 0);
|
||||
}
|
||||
});
|
||||
|
||||
// for debugging
|
||||
//Search.lastresults = results.slice(); // a copy
|
||||
//console.info('search results:', Search.lastresults);
|
||||
|
||||
// print the results
|
||||
var resultCount = results.length;
|
||||
function displayNextItem() {
|
||||
// results left, load the summary and display it
|
||||
if (results.length) {
|
||||
var item = results.pop();
|
||||
var listItem = $('<li></li>');
|
||||
var requestUrl = "";
|
||||
var linkUrl = "";
|
||||
if (DOCUMENTATION_OPTIONS.BUILDER === 'dirhtml') {
|
||||
// dirhtml builder
|
||||
var dirname = item[0] + '/';
|
||||
if (dirname.match(/\/index\/$/)) {
|
||||
dirname = dirname.substring(0, dirname.length-6);
|
||||
} else if (dirname == 'index/') {
|
||||
dirname = '';
|
||||
}
|
||||
requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + dirname;
|
||||
linkUrl = requestUrl;
|
||||
|
||||
} else {
|
||||
// normal html builders
|
||||
requestUrl = DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX;
|
||||
linkUrl = item[0] + DOCUMENTATION_OPTIONS.LINK_SUFFIX;
|
||||
}
|
||||
listItem.append($('<a/>').attr('href',
|
||||
linkUrl +
|
||||
highlightstring + item[2]).html(item[1]));
|
||||
if (item[3]) {
|
||||
listItem.append($('<span> (' + item[3] + ')</span>'));
|
||||
Search.output.append(listItem);
|
||||
setTimeout(function() {
|
||||
displayNextItem();
|
||||
}, 5);
|
||||
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
|
||||
$.ajax({url: requestUrl,
|
||||
dataType: "text",
|
||||
complete: function(jqxhr, textstatus) {
|
||||
var data = jqxhr.responseText;
|
||||
if (data !== '' && data !== undefined) {
|
||||
var summary = Search.makeSearchSummary(data, searchterms, hlterms);
|
||||
if (summary) {
|
||||
listItem.append(summary);
|
||||
}
|
||||
}
|
||||
Search.output.append(listItem);
|
||||
setTimeout(function() {
|
||||
displayNextItem();
|
||||
}, 5);
|
||||
}});
|
||||
} else {
|
||||
// no source available, just display title
|
||||
Search.output.append(listItem);
|
||||
setTimeout(function() {
|
||||
displayNextItem();
|
||||
}, 5);
|
||||
}
|
||||
}
|
||||
// search finished, update title and status message
|
||||
else {
|
||||
Search.stopPulse();
|
||||
Search.title.text(_('Search Results'));
|
||||
if (!resultCount)
|
||||
Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
|
||||
else
|
||||
Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
|
||||
Search.status.fadeIn(500);
|
||||
}
|
||||
}
|
||||
displayNextItem();
|
||||
},
|
||||
|
||||
/**
|
||||
* search for object names
|
||||
*/
|
||||
performObjectSearch : function(object, otherterms) {
|
||||
var filenames = this._index.filenames;
|
||||
var docnames = this._index.docnames;
|
||||
var objects = this._index.objects;
|
||||
var objnames = this._index.objnames;
|
||||
var titles = this._index.titles;
|
||||
|
||||
var i;
|
||||
var results = [];
|
||||
|
||||
for (var prefix in objects) {
|
||||
for (var iMatch = 0; iMatch != objects[prefix].length; ++iMatch) {
|
||||
var match = objects[prefix][iMatch];
|
||||
var name = match[4];
|
||||
var fullname = (prefix ? prefix + '.' : '') + name;
|
||||
var fullnameLower = fullname.toLowerCase()
|
||||
if (fullnameLower.indexOf(object) > -1) {
|
||||
var score = 0;
|
||||
var parts = fullnameLower.split('.');
|
||||
// check for different match types: exact matches of full name or
|
||||
// "last name" (i.e. last dotted part)
|
||||
if (fullnameLower == object || parts[parts.length - 1] == object) {
|
||||
score += Scorer.objNameMatch;
|
||||
// matches in last name
|
||||
} else if (parts[parts.length - 1].indexOf(object) > -1) {
|
||||
score += Scorer.objPartialMatch;
|
||||
}
|
||||
var objname = objnames[match[1]][2];
|
||||
var title = titles[match[0]];
|
||||
// If more than one term searched for, we require other words to be
|
||||
// found in the name/title/description
|
||||
if (otherterms.length > 0) {
|
||||
var haystack = (prefix + ' ' + name + ' ' +
|
||||
objname + ' ' + title).toLowerCase();
|
||||
var allfound = true;
|
||||
for (i = 0; i < otherterms.length; i++) {
|
||||
if (haystack.indexOf(otherterms[i]) == -1) {
|
||||
allfound = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!allfound) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
var descr = objname + _(', in ') + title;
|
||||
|
||||
var anchor = match[3];
|
||||
if (anchor === '')
|
||||
anchor = fullname;
|
||||
else if (anchor == '-')
|
||||
anchor = objnames[match[1]][1] + '-' + fullname;
|
||||
// add custom score for some objects according to scorer
|
||||
if (Scorer.objPrio.hasOwnProperty(match[2])) {
|
||||
score += Scorer.objPrio[match[2]];
|
||||
} else {
|
||||
score += Scorer.objPrioDefault;
|
||||
}
|
||||
results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
},
|
||||
|
||||
/**
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
|
||||
*/
|
||||
escapeRegExp : function(string) {
|
||||
return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
||||
},
|
||||
|
||||
/**
|
||||
* search for full-text terms in the index
|
||||
*/
|
||||
performTermsSearch : function(searchterms, excluded, terms, titleterms) {
|
||||
var docnames = this._index.docnames;
|
||||
var filenames = this._index.filenames;
|
||||
var titles = this._index.titles;
|
||||
|
||||
var i, j, file;
|
||||
var fileMap = {};
|
||||
var scoreMap = {};
|
||||
var results = [];
|
||||
|
||||
// perform the search on the required terms
|
||||
for (i = 0; i < searchterms.length; i++) {
|
||||
var word = searchterms[i];
|
||||
var files = [];
|
||||
var _o = [
|
||||
{files: terms[word], score: Scorer.term},
|
||||
{files: titleterms[word], score: Scorer.title}
|
||||
];
|
||||
// add support for partial matches
|
||||
if (word.length > 2) {
|
||||
var word_regex = this.escapeRegExp(word);
|
||||
for (var w in terms) {
|
||||
if (w.match(word_regex) && !terms[word]) {
|
||||
_o.push({files: terms[w], score: Scorer.partialTerm})
|
||||
}
|
||||
}
|
||||
for (var w in titleterms) {
|
||||
if (w.match(word_regex) && !titleterms[word]) {
|
||||
_o.push({files: titleterms[w], score: Scorer.partialTitle})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// no match but word was a required one
|
||||
if ($u.every(_o, function(o){return o.files === undefined;})) {
|
||||
break;
|
||||
}
|
||||
// found search word in contents
|
||||
$u.each(_o, function(o) {
|
||||
var _files = o.files;
|
||||
if (_files === undefined)
|
||||
return
|
||||
|
||||
if (_files.length === undefined)
|
||||
_files = [_files];
|
||||
files = files.concat(_files);
|
||||
|
||||
// set score for the word in each file to Scorer.term
|
||||
for (j = 0; j < _files.length; j++) {
|
||||
file = _files[j];
|
||||
if (!(file in scoreMap))
|
||||
scoreMap[file] = {};
|
||||
scoreMap[file][word] = o.score;
|
||||
}
|
||||
});
|
||||
|
||||
// create the mapping
|
||||
for (j = 0; j < files.length; j++) {
|
||||
file = files[j];
|
||||
if (file in fileMap && fileMap[file].indexOf(word) === -1)
|
||||
fileMap[file].push(word);
|
||||
else
|
||||
fileMap[file] = [word];
|
||||
}
|
||||
}
|
||||
|
||||
// now check if the files don't contain excluded terms
|
||||
for (file in fileMap) {
|
||||
var valid = true;
|
||||
|
||||
// check if all requirements are matched
|
||||
var filteredTermCount = // as search terms with length < 3 are discarded: ignore
|
||||
searchterms.filter(function(term){return term.length > 2}).length
|
||||
if (
|
||||
fileMap[file].length != searchterms.length &&
|
||||
fileMap[file].length != filteredTermCount
|
||||
) continue;
|
||||
|
||||
// ensure that none of the excluded terms is in the search result
|
||||
for (i = 0; i < excluded.length; i++) {
|
||||
if (terms[excluded[i]] == file ||
|
||||
titleterms[excluded[i]] == file ||
|
||||
$u.contains(terms[excluded[i]] || [], file) ||
|
||||
$u.contains(titleterms[excluded[i]] || [], file)) {
|
||||
valid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// if we have still a valid result we can add it to the result list
|
||||
if (valid) {
|
||||
// select one (max) score for the file.
|
||||
// for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
|
||||
var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
|
||||
results.push([docnames[file], titles[file], '', null, score, filenames[file]]);
|
||||
}
|
||||
}
|
||||
return results;
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to return a node containing the
|
||||
* search summary for a given text. keywords is a list
|
||||
* of stemmed words, hlwords is the list of normal, unstemmed
|
||||
* words. the first one is used to find the occurrence, the
|
||||
* latter for highlighting it.
|
||||
*/
|
||||
makeSearchSummary : function(htmlText, keywords, hlwords) {
|
||||
var text = Search.htmlToText(htmlText);
|
||||
if (text == "") {
|
||||
return null;
|
||||
}
|
||||
var textLower = text.toLowerCase();
|
||||
var start = 0;
|
||||
$.each(keywords, function() {
|
||||
var i = textLower.indexOf(this.toLowerCase());
|
||||
if (i > -1)
|
||||
start = i;
|
||||
});
|
||||
start = Math.max(start - 120, 0);
|
||||
var excerpt = ((start > 0) ? '...' : '') +
|
||||
$.trim(text.substr(start, 240)) +
|
||||
((start + 240 - text.length) ? '...' : '');
|
||||
var rv = $('<p class="context"></p>').text(excerpt);
|
||||
$.each(hlwords, function() {
|
||||
rv = rv.highlightText(this, 'highlighted');
|
||||
});
|
||||
return rv;
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function() {
|
||||
Search.init();
|
||||
});
|
2042
esp_modem/_static/underscore-1.13.1.js
Normal file
2042
esp_modem/_static/underscore-1.13.1.js
Normal file
File diff suppressed because it is too large
Load Diff
6
esp_modem/_static/underscore.js
Normal file
6
esp_modem/_static/underscore.js
Normal file
File diff suppressed because one or more lines are too long
294
esp_modem/advanced_api.html
Normal file
294
esp_modem/advanced_api.html
Normal file
@@ -0,0 +1,294 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Advanced esp-modem use cases — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="Internal design" href="internal_design.html" />
|
||||
<link rel="prev" title="C++ API Documentation" href="cxx_api_docs.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="advanced-esp-modem-use-cases">
|
||||
<h1>Advanced esp-modem use cases<a class="headerlink" href="#advanced-esp-modem-use-cases" title="Permalink to this headline">¶</a></h1>
|
||||
<p>This chapter outlines basic extensibility of the esp-modem component.</p>
|
||||
<section id="custom-instantiation-with-dce-factory">
|
||||
<span id="dce-factory"></span><h2>Custom instantiation with DCE factory<a class="headerlink" href="#custom-instantiation-with-dce-factory" title="Permalink to this headline">¶</a></h2>
|
||||
<p>It is possible to create a modem handle in many different ways:</p>
|
||||
<ul class="simple">
|
||||
<li><p>Build a DCE on top a generic module, user defined module or build the module only (in case the application will only use AT command interface)</p></li>
|
||||
<li><p>Create the DCE as a shared, unique or a vanilla pointer</p></li>
|
||||
<li><p>Create a generic DCE or a templated DCE_T of a specific module (this could be one of the supported modules or a user defined module)</p></li>
|
||||
</ul>
|
||||
<p>All the functionality is provided by the DCE factory</p>
|
||||
<dl>
|
||||
<dt class="sig sig-object cpp">
|
||||
<span class="target" id="group___e_s_p___m_o_d_e_m___d_c_e___f_a_c_t_o_r_y"></span><em><span class="pre">group</span></em> <span class="sig-name descname"><span class="pre">ESP_MODEM_DCE_FACTORY</span></span></dt>
|
||||
<dd><p><a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> modem factory. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-enums">Enums</p>
|
||||
<dl class="cpp enum">
|
||||
<dt class="sig sig-object cpp" id="_CPPv49ModemType">
|
||||
<span id="_CPPv39ModemType"></span><span id="_CPPv29ModemType"></span><span class="target" id="group___e_s_p___m_o_d_e_m___d_c_e___f_a_c_t_o_r_y_1ga34f5bd407ce186b43f44b5c8cfbf2fd9"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ModemType</span></span></span><a class="headerlink" href="#_CPPv49ModemType" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Specific modem choice when creating by the <a class="reference internal" href="#classesp__modem_1_1dce__factory_1_1_factory"><span class="std std-ref">Factory</span></a>. </p>
|
||||
<p><em>Values:</em></p>
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N9ModemType13GenericModuleE">
|
||||
<span id="_CPPv3N9ModemType13GenericModuleE"></span><span id="_CPPv2N9ModemType13GenericModuleE"></span><span class="target" id="group___e_s_p___m_o_d_e_m___d_c_e___f_a_c_t_o_r_y_1gga34f5bd407ce186b43f44b5c8cfbf2fd9aa8bf3237121049ad32b6caa9e888a248"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GenericModule</span></span></span><a class="headerlink" href="#_CPPv4N9ModemType13GenericModuleE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Default generic module with the most common commands </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N9ModemType7SIM7600E">
|
||||
<span id="_CPPv3N9ModemType7SIM7600E"></span><span id="_CPPv2N9ModemType7SIM7600E"></span><span class="target" id="group___e_s_p___m_o_d_e_m___d_c_e___f_a_c_t_o_r_y_1gga34f5bd407ce186b43f44b5c8cfbf2fd9aa0e5dcb06d41510dde0b20f2e59e75a2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SIM7600</span></span></span><a class="headerlink" href="#_CPPv4N9ModemType7SIM7600E" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Derived from the <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_generic_module"><span class="std std-ref">GenericModule</span></a>, specifics applied to <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_s_i_m7600"><span class="std std-ref">SIM7600</span></a> model </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N9ModemType4BG96E">
|
||||
<span id="_CPPv3N9ModemType4BG96E"></span><span id="_CPPv2N9ModemType4BG96E"></span><span class="target" id="group___e_s_p___m_o_d_e_m___d_c_e___f_a_c_t_o_r_y_1gga34f5bd407ce186b43f44b5c8cfbf2fd9a80e1af61101ed94123673230a16bdbe0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">BG96</span></span></span><a class="headerlink" href="#_CPPv4N9ModemType4BG96E" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Derived from the <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_generic_module"><span class="std std-ref">GenericModule</span></a>, specifics applied to BG69 model </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N9ModemType6SIM800E">
|
||||
<span id="_CPPv3N9ModemType6SIM800E"></span><span id="_CPPv2N9ModemType6SIM800E"></span><span class="target" id="group___e_s_p___m_o_d_e_m___d_c_e___f_a_c_t_o_r_y_1gga34f5bd407ce186b43f44b5c8cfbf2fd9a6705b747abfe5514ac06e14ef95ebc44"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SIM800</span></span></span><a class="headerlink" href="#_CPPv4N9ModemType6SIM800E" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Derived from the <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_generic_module"><span class="std std-ref">GenericModule</span></a> with specifics applied to <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_s_i_m800"><span class="std std-ref">SIM800</span></a> model </p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<dl class="cpp class">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N9esp_modem11dce_factory13FactoryHelperE">
|
||||
<span id="_CPPv3N9esp_modem11dce_factory13FactoryHelperE"></span><span id="_CPPv2N9esp_modem11dce_factory13FactoryHelperE"></span><span id="esp_modem::dce_factory::FactoryHelper"></span><span class="target" id="classesp__modem_1_1dce__factory_1_1_factory_helper"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FactoryHelper</span></span></span><a class="headerlink" href="#_CPPv4N9esp_modem11dce_factory13FactoryHelperE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><em>#include <esp_modem_dce_factory.hpp></em><p>Helper class for creating a user define pointer in a specific way, either as a plain pointer, shared_ptr or unique_ptr. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp class">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4I0EN9esp_modem11dce_factory7CreatorE">
|
||||
<span id="_CPPv3I0EN9esp_modem11dce_factory7CreatorE"></span><span id="_CPPv2I0EN9esp_modem11dce_factory7CreatorE"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre"><</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">T_Module</span></span></span><span class="p"><span class="pre">></span></span><br /><span class="target" id="classesp__modem_1_1dce__factory_1_1_creator"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Creator</span></span></span><a class="headerlink" href="#_CPPv4I0EN9esp_modem11dce_factory7CreatorE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><em>#include <esp_modem_dce_factory.hpp></em><p><a class="reference internal" href="#classesp__modem_1_1dce__factory_1_1_creator"><span class="std std-ref">Creator</span></a> class for building a DCE_T<Module> in a specific way, either from a Module object or by default from the <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> and netif. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">throws <span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p></p></dd>
|
||||
</dl>
|
||||
</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp class">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N9esp_modem11dce_factory7FactoryE">
|
||||
<span id="_CPPv3N9esp_modem11dce_factory7FactoryE"></span><span id="_CPPv2N9esp_modem11dce_factory7FactoryE"></span><span id="esp_modem::dce_factory::Factory"></span><span class="target" id="classesp__modem_1_1dce__factory_1_1_factory"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">esp_modem</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">dce_factory</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">Factory</span></span></span><a class="headerlink" href="#_CPPv4N9esp_modem11dce_factory7FactoryE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><em>#include <esp_modem_dce_factory.hpp></em><p><a class="reference internal" href="#classesp__modem_1_1dce__factory_1_1_factory"><span class="std std-ref">Factory</span></a> class for creating virtual <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> objects based on the configuration of the supplied module. This could also be used to create a custom module or a DCE_T<module>, provided user app derives from this factory. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args">
|
||||
<span id="_CPPv3IDpEN9esp_modem11dce_factory7Factory12build_uniqueEPK6configDpRR4Args"></span><span id="_CPPv2IDpEN9esp_modem11dce_factory7Factory12build_uniqueEPK6configDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre"><</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">></span></span><br /><span class="target" id="classesp__modem_1_1dce__factory_1_1_factory_1a5fd0210522a31e645f28c0b0f23ffb67"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre"><</span></span><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCEE" title="esp_modem::DCE"><span class="n"><span class="pre">DCE</span></span></a><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">build_unique</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">config</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">cfg</span></span>, <a class="reference internal" href="#_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args" title="esp_modem::dce_factory::Factory::build_unique::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&</span></span><span class="p"><span class="pre">&</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create a default unique_ptr <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> generically, with the chosen module derived from the <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_generic_module"><span class="std std-ref">GenericModule</span></a>. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">param cfg<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> configuration structure <a class="reference internal" href="api_docs.html#structesp__modem__dte__config"><span class="std std-ref">esp_modem_dte_config</span></a> </p>
|
||||
</dd>
|
||||
<dt class="field-even">param args<span class="colon">:</span></dt>
|
||||
<dd class="field-even"><p>typically a <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> object and a netif handle for PPP network </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Template Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>Args</strong> – Arguments to the builder, i.e. constructor of <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e___t"><span class="std std-ref">esp_modem::DCE_T</span></a> class </p>
|
||||
</dd>
|
||||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-even"><p>unique_ptr <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> of the created <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> on success </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args">
|
||||
<span id="_CPPv3I0DpEN9esp_modem11dce_factory7Factory12build_uniqueEPK6configDpRR4Args"></span><span id="_CPPv2I0DpEN9esp_modem11dce_factory7Factory12build_uniqueEPK6configDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre"><</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">T_Module</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">></span></span><br /><span class="target" id="classesp__modem_1_1dce__factory_1_1_factory_1a2a4686de666658fb89a8d80ce2935bf2"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre"><</span></span><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCEE" title="esp_modem::DCE"><span class="n"><span class="pre">DCE</span></span></a><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">build_unique</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">config</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">cfg</span></span>, <a class="reference internal" href="#_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args" title="esp_modem::dce_factory::Factory::build_unique::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&</span></span><span class="p"><span class="pre">&</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create a default unique_ptr <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> in a specific way (from the module) </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">param cfg<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> configuration structure <a class="reference internal" href="api_docs.html#structesp__modem__dte__config"><span class="std std-ref">esp_modem_dte_config</span></a> </p>
|
||||
</dd>
|
||||
<dt class="field-even">param args<span class="colon">:</span></dt>
|
||||
<dd class="field-even"><p>typically a <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> object and a netif handle for PPP network </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Template Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>Module</strong> – Specific Module used in this <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> </p></li>
|
||||
<li><p><strong>Args</strong> – Arguments to the builder, i.e. constructor of <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e___t"><span class="std std-ref">esp_modem::DCE_T</span></a> class </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-even"><p>unique_ptr <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> of the created <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> on success </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args">
|
||||
<span id="_CPPv3I0DpEN9esp_modem11dce_factory7Factory5buildEPK6configDpRR4Args"></span><span id="_CPPv2I0DpEN9esp_modem11dce_factory7Factory5buildEPK6configDpRR4Args"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre"><</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">T_Module</span></span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="sig-name descname"><span class="n"><span class="pre">Args</span></span></span><span class="p"><span class="pre">></span></span><br /><span class="target" id="classesp__modem_1_1dce__factory_1_1_factory_1a2dfb050a53429bb651fb58de5841c04d"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCEE" title="esp_modem::DCE"><span class="n"><span class="pre">DCE</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">build</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">config</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">cfg</span></span>, <a class="reference internal" href="#_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args" title="esp_modem::dce_factory::Factory::build::Args"><span class="n"><span class="pre">Args</span></span></a><span class="p"><span class="pre">&</span></span><span class="p"><span class="pre">&</span></span><span class="p"><span class="pre">...</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">args</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create a <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a>. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">param cfg<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> configuration structure <a class="reference internal" href="api_docs.html#structesp__modem__dte__config"><span class="std std-ref">esp_modem_dte_config</span></a> </p>
|
||||
</dd>
|
||||
<dt class="field-even">param args<span class="colon">:</span></dt>
|
||||
<dd class="field-even"><p>typically a <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> object and a netif handle for PPP network </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Template Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>Module</strong> – Specific Module used in this <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> </p></li>
|
||||
<li><p><strong>Args</strong> – Arguments to the builder, i.e. constructor of <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e___t"><span class="std std-ref">esp_modem::DCE_T</span></a> class </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt class="field-even">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-even"><p><a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> pointer the created <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> on success </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
<section id="create-custom-module">
|
||||
<span id="id1"></span><h2>Create custom module<a class="headerlink" href="#create-custom-module" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Creating a custom module is necessary if the application needs to use a specific device that is not supported
|
||||
and their commands differ from any of the supported devices. In this case it is recommended to define a new class
|
||||
representing this specific device and derive from the <a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem13GenericModuleE" title="esp_modem::GenericModule"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">esp_modem::GenericModule</span></code></a>. In order to instantiate
|
||||
the appropriate DCE of this module, application could use <a class="reference internal" href="#dce-factory"><span class="std std-ref">the DCE factory</span></a>, and build the DCE with
|
||||
the specific module, using <a class="reference internal" href="#_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args" title="esp_modem::dce_factory::Factory::build"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::dce_factory::Factory::build()</span></code></a>.</p>
|
||||
<p>Please refer to the implementation of the existing modules.</p>
|
||||
<p>Please note that the <code class="docutils literal notranslate"><span class="pre">modem_console</span></code> example defines a trivial custom modem DCE which overrides one command,
|
||||
for demonstration purposes only.</p>
|
||||
</section>
|
||||
<section id="create-new-communication-interface">
|
||||
<h2>Create new communication interface<a class="headerlink" href="#create-new-communication-interface" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In order to connect to a device using an unsupported interface (e.g. SPI or I2C), it is necessary to implement
|
||||
a custom DTE object and supply it into <a class="reference internal" href="#dce-factory"><span class="std std-ref">the DCE factory</span></a>. The DCE is typically created in two steps:</p>
|
||||
<ul class="simple">
|
||||
<li><p>Define and create the corresponding terminal, which communicates on the custom interface. This terminal should support basic IO methods defined in <a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem8TerminalE" title="esp_modem::Terminal"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">esp_modem::Terminal</span></code></a> and derive from it.</p></li>
|
||||
<li><p>Create the DTE which uses the custom Terminal</p></li>
|
||||
</ul>
|
||||
<p>Please refer to the implementation of the existing UART DTE.</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Advanced use cases</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#custom-instantiation-with-dce-factory">Custom instantiation with DCE factory</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#create-custom-module">Create custom module</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#create-new-communication-interface">Create new communication interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="cxx_api_docs.html" title="previous chapter">C++ API Documentation</a></li>
|
||||
<li>Next: <a href="internal_design.html" title="next chapter">Internal design</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/advanced_api.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
889
esp_modem/api_docs.html
Normal file
889
esp_modem/api_docs.html
Normal file
@@ -0,0 +1,889 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>C API Documentation — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="C++ API Documentation" href="cxx_api_docs.html" />
|
||||
<link rel="prev" title="ESP MODEM" href="README.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="c-api-documentation">
|
||||
<span id="c-api"></span><h1>C API Documentation<a class="headerlink" href="#c-api-documentation" title="Permalink to this headline">¶</a></h1>
|
||||
<p>The C API is very simple and consist of these two basic parts:</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="#lifecycle-api"><span class="std std-ref">Lifecycle API</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="#modem-commands"><span class="std std-ref">Modem commands</span></a></p></li>
|
||||
</ul>
|
||||
<p>The Typical application workflow is to:</p>
|
||||
<ul class="simple">
|
||||
<li><p>Create a DCE instance (using <a class="reference internal" href="#_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t" title="esp_modem_new"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem_new()</span></code></a>)</p></li>
|
||||
<li><p>Call specific functions to issue AT commands (<a class="reference internal" href="#modem-commands"><span class="std std-ref">Modem commands</span></a>)</p></li>
|
||||
<li><p>Switch to the data mode (using <a class="reference internal" href="#_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t" title="esp_modem_set_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem_set_mode()</span></code></a>)</p></li>
|
||||
<li><p>Perform desired network operations (using standard networking API, unrelated to ESP-MODEM)</p></li>
|
||||
<li><p>Optionally switch back to command mode (again <a class="reference internal" href="#_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t" title="esp_modem_set_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem_set_mode()</span></code></a>)</p></li>
|
||||
<li><p>Destroy the DCE handle (sing <a class="reference internal" href="#_CPPv417esp_modem_destroyP15esp_modem_dce_t" title="esp_modem_destroy"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem_destroy()</span></code></a>)</p></li>
|
||||
</ul>
|
||||
<p>Note the configuration structures for DTE and DCE, needed for creating the DCE instance, is documented in <a class="reference internal" href="#api-config"><span class="std std-ref">Configuration structures</span></a></p>
|
||||
<section id="lifecycle-api">
|
||||
<span id="id1"></span><h2>Lifecycle API<a class="headerlink" href="#lifecycle-api" title="Permalink to this headline">¶</a></h2>
|
||||
<p>These functions are used to create, destroy and set modem working mode.</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="#_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t" title="esp_modem_new"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem_new()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="#_CPPv417esp_modem_destroyP15esp_modem_dce_t" title="esp_modem_destroy"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem_destroy()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="#_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t" title="esp_modem_set_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem_set_mode()</span></code></a></p></li>
|
||||
</ul>
|
||||
<dl>
|
||||
<dt class="sig sig-object cpp">
|
||||
<span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i"></span><em><span class="pre">group</span></em> <span class="sig-name descname"><span class="pre">ESP_MODEM_C_API</span></span></dt>
|
||||
<dd><p>Set of basic C API for ESP-MODEM. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-typedefs">Typedefs</p>
|
||||
<dl class="cpp type">
|
||||
<dt class="sig sig-object cpp" id="_CPPv420esp_modem_dce_mode_t">
|
||||
<span id="_CPPv320esp_modem_dce_mode_t"></span><span id="_CPPv220esp_modem_dce_mode_t"></span><span id="esp_modem_dce_mode_t"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ga98ece4b331e8906161f1b6823039a28f"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv418esp_modem_dce_mode" title="esp_modem_dce_mode"><span class="n"><span class="pre">esp_modem_dce_mode</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dce_mode_t</span></span></span><a class="headerlink" href="#_CPPv420esp_modem_dce_mode_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>DCE mode: This enum is used to set desired operation mode of the DCE. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp type">
|
||||
<dt class="sig sig-object cpp" id="_CPPv422esp_modem_dce_device_t">
|
||||
<span id="_CPPv322esp_modem_dce_device_t"></span><span id="_CPPv222esp_modem_dce_device_t"></span><span id="esp_modem_dce_device_t"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ga30660e790f39fc663aa02b2419568d65"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv420esp_modem_dce_device" title="esp_modem_dce_device"><span class="n"><span class="pre">esp_modem_dce_device</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dce_device_t</span></span></span><a class="headerlink" href="#_CPPv422esp_modem_dce_device_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>DCE devices: Enum list of supported devices. </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-enums">Enums</p>
|
||||
<dl class="cpp enum">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_dce_mode">
|
||||
<span id="_CPPv318esp_modem_dce_mode"></span><span id="_CPPv218esp_modem_dce_mode"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1gaf760e55ec8ab7da6d0bf0b10642510c5"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dce_mode</span></span></span><a class="headerlink" href="#_CPPv418esp_modem_dce_mode" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>DCE mode: This enum is used to set desired operation mode of the DCE. </p>
|
||||
<p><em>Values:</em></p>
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE">
|
||||
<span id="_CPPv3N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE"></span><span id="_CPPv2N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ggaf760e55ec8ab7da6d0bf0b10642510c5a1421fb5a33ec7896917f6e2e3139440e"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_MODE_COMMAND</span></span></span><a class="headerlink" href="#_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Default mode after modem startup, used for sending AT commands </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE">
|
||||
<span id="_CPPv3N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE"></span><span id="_CPPv2N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ggaf760e55ec8ab7da6d0bf0b10642510c5a86b7874c6ea985390d4b90381826c805"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_MODE_DATA</span></span></span><a class="headerlink" href="#_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Used for switching to PPP mode for the modem to connect to a network </p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp enum">
|
||||
<dt class="sig sig-object cpp" id="_CPPv420esp_modem_dce_device">
|
||||
<span id="_CPPv320esp_modem_dce_device"></span><span id="_CPPv220esp_modem_dce_device"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ga1f3ff76188839171bc16bb8eee550a89"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dce_device</span></span></span><a class="headerlink" href="#_CPPv420esp_modem_dce_device" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>DCE devices: Enum list of supported devices. </p>
|
||||
<p><em>Values:</em></p>
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE">
|
||||
<span id="_CPPv3N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE"></span><span id="_CPPv2N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1gga1f3ff76188839171bc16bb8eee550a89a40bd78d5ccbdec1288092552ce981664"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_DCE_GENETIC</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>The most generic device </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E">
|
||||
<span id="_CPPv3N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E"></span><span id="_CPPv2N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1gga1f3ff76188839171bc16bb8eee550a89aaa3656984e4f5cd71d44b4e2cc0422b2"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_DCE_SIM7600</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E">
|
||||
<span id="_CPPv3N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E"></span><span id="_CPPv2N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1gga1f3ff76188839171bc16bb8eee550a89acb6e3cb25dd20b7199069b925b1590b9"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_DCE_BG96</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E">
|
||||
<span id="_CPPv3N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E"></span><span id="_CPPv2N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1gga1f3ff76188839171bc16bb8eee550a89a73cae337bfc4c99c88071b477e50bfcc"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_DCE_SIM800</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-functions">Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t">
|
||||
<span id="_CPPv313esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t"></span><span id="_CPPv213esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t"></span><span id="esp_modem_new__esp_modem_dte_config_tCP.esp_modem_dce_config_tCP.esp_netif_tP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ga52970f4ff9c5359857119b7f28707360"></span><span class="n"><span class="pre">esp_modem_dce_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_new</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv422esp_modem_dte_config_t" title="esp_modem_dte_config_t"><span class="n"><span class="pre">esp_modem_dte_config_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">dte_config</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv422esp_modem_dce_config_t" title="esp_modem_dce_config_t"><span class="n"><span class="pre">esp_modem_dce_config_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">dce_config</span></span>, <span class="n"><span class="pre">esp_netif_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">netif</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create a generic DCE handle for new modem API. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>DCE pointer on success, NULL on failure </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>dte_config</strong> – DTE configuration (UART config for now) </p></li>
|
||||
<li><p><strong>dce_config</strong> – DCE configuration </p></li>
|
||||
<li><p><strong>netif</strong> – Network interface handle for the data mode</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t">
|
||||
<span id="_CPPv317esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t"></span><span id="_CPPv217esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t"></span><span id="esp_modem_new_dev__esp_modem_dce_device_t.esp_modem_dte_config_tCP.esp_modem_dce_config_tCP.esp_netif_tP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ga102ace0a2f93dc4838e28b7fee24d290"></span><span class="n"><span class="pre">esp_modem_dce_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_new_dev</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="#_CPPv422esp_modem_dce_device_t" title="esp_modem_dce_device_t"><span class="n"><span class="pre">esp_modem_dce_device_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">module</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv422esp_modem_dte_config_t" title="esp_modem_dte_config_t"><span class="n"><span class="pre">esp_modem_dte_config_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">dte_config</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv422esp_modem_dce_config_t" title="esp_modem_dce_config_t"><span class="n"><span class="pre">esp_modem_dce_config_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">dce_config</span></span>, <span class="n"><span class="pre">esp_netif_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">netif</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create a DCE handle using the supplied device. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>DCE pointer on success, NULL on failure </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>module</strong> – Specific device for creating this DCE </p></li>
|
||||
<li><p><strong>dte_config</strong> – DTE configuration (UART config for now) </p></li>
|
||||
<li><p><strong>dce_config</strong> – DCE configuration </p></li>
|
||||
<li><p><strong>netif</strong> – Network interface handle for the data mode</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv417esp_modem_destroyP15esp_modem_dce_t">
|
||||
<span id="_CPPv317esp_modem_destroyP15esp_modem_dce_t"></span><span id="_CPPv217esp_modem_destroyP15esp_modem_dce_t"></span><span id="esp_modem_destroy__esp_modem_dce_tP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1gad7ea1bd023285cd7c827b66e00cb085a"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_destroy</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">esp_modem_dce_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">dce</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417esp_modem_destroyP15esp_modem_dce_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Destroys modem’s DCE handle. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>dce</strong> – DCE to destroy </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t">
|
||||
<span id="_CPPv318esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t"></span><span id="_CPPv218esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t"></span><span id="esp_modem_set_mode__esp_modem_dce_tP.esp_modem_dce_mode_t"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c___a_p_i_1ga8e51dd9d216256fd46bdb768dbfa5e9d"></span><span class="n"><span class="pre">esp_err_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_mode</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">esp_modem_dce_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">dce</span></span>, <a class="reference internal" href="#_CPPv420esp_modem_dce_mode_t" title="esp_modem_dce_mode_t"><span class="n"><span class="pre">esp_modem_dce_mode_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">mode</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Set operation mode for this DCE. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>ESP_OK on success, ESP_FAIL on failure </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>dce</strong> – Modem DCE handle </p></li>
|
||||
<li><p><strong>mode</strong> – Desired MODE </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
<section id="modem-commands">
|
||||
<span id="id2"></span><h2>Modem commands<a class="headerlink" href="#modem-commands" title="Permalink to this headline">¶</a></h2>
|
||||
<p>These functions are the actual commands to communicate with the modem using AT command interface.</p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-functions">Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv414esp_modem_syncv">
|
||||
<span id="_CPPv314esp_modem_syncv"></span><span id="_CPPv214esp_modem_syncv"></span><span id="esp_modem_sync"></span><span class="target" id="esp__modem__api__commands_8h_1aae389a69782d2e373396b07b26ae003b"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_sync</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv414esp_modem_syncv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sends the initial AT sequence to sync up with the device. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv427esp_modem_get_operator_namePc">
|
||||
<span id="_CPPv327esp_modem_get_operator_namePc"></span><span id="_CPPv227esp_modem_get_operator_namePc"></span><span id="esp_modem_get_operator_name__cP"></span><span class="target" id="esp__modem__api__commands_8h_1a87b4aaa311dde2f8679fea2c58fa4f92"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_get_operator_name</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv427esp_modem_get_operator_namePc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Reads the operator name. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>name</strong> – <strong>[out]</strong> module name </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv423esp_modem_store_profilev">
|
||||
<span id="_CPPv323esp_modem_store_profilev"></span><span id="_CPPv223esp_modem_store_profilev"></span><span id="esp_modem_store_profile"></span><span class="target" id="esp__modem__api__commands_8h_1a7aa4b5cc28b0d1440cfc416e3d60ec74"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_store_profile</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv423esp_modem_store_profilev" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Stores current user profile. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv417esp_modem_set_pinPKc">
|
||||
<span id="_CPPv317esp_modem_set_pinPKc"></span><span id="_CPPv217esp_modem_set_pinPKc"></span><span id="esp_modem_set_pin__cCP"></span><span class="target" id="esp__modem__api__commands_8h_1adcf823ecf81bad4469105e051ab74c02"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_pin</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pin</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417esp_modem_set_pinPKc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the supplied PIN code. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>pin</strong> – <strong>[in]</strong> Pin </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_read_pinPb">
|
||||
<span id="_CPPv318esp_modem_read_pinPb"></span><span id="_CPPv218esp_modem_read_pinPb"></span><span id="esp_modem_read_pin__bP"></span><span class="target" id="esp__modem__api__commands_8h_1a5f4eee22b3b0e41850e535c3ef9a2d97"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_read_pin</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pin_ok</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_read_pinPb" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Checks if the SIM needs a PIN. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>pin_ok</strong> – <strong>[out]</strong> true if the SIM card doesn’t need a PIN to unlock </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_set_echoKb">
|
||||
<span id="_CPPv318esp_modem_set_echoKb"></span><span id="_CPPv218esp_modem_set_echoKb"></span><span id="esp_modem_set_echo__bC"></span><span class="target" id="esp__modem__api__commands_8h_1a48bee17bab23e4e245564212ec5230d5"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_echo</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">echo_on</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_set_echoKb" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets echo mode. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>echo_on</strong> – <strong>[in]</strong> true if echo mode on (repeats the commands) </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv422esp_modem_sms_txt_modeKb">
|
||||
<span id="_CPPv322esp_modem_sms_txt_modeKb"></span><span id="_CPPv222esp_modem_sms_txt_modeKb"></span><span id="esp_modem_sms_txt_mode__bC"></span><span class="target" id="esp__modem__api__commands_8h_1a277771d525daa3bf11007554ce7b65dc"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_sms_txt_mode</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">txt</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv422esp_modem_sms_txt_modeKb" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the Txt or Pdu mode for SMS (only txt is supported) </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>txt</strong> – <strong>[in]</strong> true if txt mode </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv427esp_modem_sms_character_setv">
|
||||
<span id="_CPPv327esp_modem_sms_character_setv"></span><span id="_CPPv227esp_modem_sms_character_setv"></span><span id="esp_modem_sms_character_set"></span><span class="target" id="esp__modem__api__commands_8h_1ae214058edfeecd33fb4e266247c5f9c2"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_sms_character_set</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv427esp_modem_sms_character_setv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the default (GSM) charater set. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_send_smsPKcPKc">
|
||||
<span id="_CPPv318esp_modem_send_smsPKcPKc"></span><span id="_CPPv218esp_modem_send_smsPKcPKc"></span><span id="esp_modem_send_sms__cCP.cCP"></span><span class="target" id="esp__modem__api__commands_8h_1a2e5f9ba75172c7a767b86259d405c74a"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_send_sms</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">number</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">message</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_send_smsPKcPKc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sends SMS message in txt mode. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>number</strong> – <strong>[in]</strong> Phone number to send the message to </p></li>
|
||||
<li><p><strong>message</strong> – <strong>[in]</strong> Text message to be sent </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv426esp_modem_resume_data_modev">
|
||||
<span id="_CPPv326esp_modem_resume_data_modev"></span><span id="_CPPv226esp_modem_resume_data_modev"></span><span id="esp_modem_resume_data_mode"></span><span class="target" id="esp__modem__api__commands_8h_1a92e73f6ace9a8516701f85548f6f26be"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_resume_data_mode</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv426esp_modem_resume_data_modev" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Resumes data mode (Switches back to th data mode, which was temporarily suspended) </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv425esp_modem_set_pdp_contextP10PdpContext">
|
||||
<span id="_CPPv325esp_modem_set_pdp_contextP10PdpContext"></span><span id="_CPPv225esp_modem_set_pdp_contextP10PdpContext"></span><span id="esp_modem_set_pdp_context__PdpContextP"></span><span class="target" id="esp__modem__api__commands_8h_1a72d8c02823b03780f37367d5b4fddd1e"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_pdp_context</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">PdpContext</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">p1</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv425esp_modem_set_pdp_contextP10PdpContext" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets php context. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>p1</strong> – <strong>[in]</strong> PdP context struct to setup modem cellular connection </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv426esp_modem_set_command_modev">
|
||||
<span id="_CPPv326esp_modem_set_command_modev"></span><span id="_CPPv226esp_modem_set_command_modev"></span><span id="esp_modem_set_command_mode"></span><span class="target" id="esp__modem__api__commands_8h_1a88e7013264c81f6238920f2e42312bc9"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_command_mode</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv426esp_modem_set_command_modev" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Switches to the command mode. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_set_cmuxv">
|
||||
<span id="_CPPv318esp_modem_set_cmuxv"></span><span id="_CPPv218esp_modem_set_cmuxv"></span><span id="esp_modem_set_cmux"></span><span class="target" id="esp__modem__api__commands_8h_1a5e06c4a95333c696c776a819343cb178"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_cmux</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_set_cmuxv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Switches to the CMUX mode. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_get_imsiPc">
|
||||
<span id="_CPPv318esp_modem_get_imsiPc"></span><span id="_CPPv218esp_modem_get_imsiPc"></span><span id="esp_modem_get_imsi__cP"></span><span class="target" id="esp__modem__api__commands_8h_1a741a7428f72055e2fa35939985373643"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_get_imsi</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">imsi</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_get_imsiPc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Reads the IMSI number. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>imsi</strong> – <strong>[out]</strong> Module’s IMSI number </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_get_imeiPc">
|
||||
<span id="_CPPv318esp_modem_get_imeiPc"></span><span id="_CPPv218esp_modem_get_imeiPc"></span><span id="esp_modem_get_imei__cP"></span><span class="target" id="esp__modem__api__commands_8h_1abf5fd52813daf3e37ffc8e0e72dbb365"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_get_imei</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">imei</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_get_imeiPc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Reads the IMEI number. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>imei</strong> – <strong>[out]</strong> Module’s IMEI number </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv425esp_modem_get_module_namePc">
|
||||
<span id="_CPPv325esp_modem_get_module_namePc"></span><span id="_CPPv225esp_modem_get_module_namePc"></span><span id="esp_modem_get_module_name__cP"></span><span class="target" id="esp__modem__api__commands_8h_1ab104cfa5988a274f3e3e3a4501c1f271"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_get_module_name</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">name</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv425esp_modem_get_module_namePc" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Reads the module name. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>name</strong> – <strong>[out]</strong> module name </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv423esp_modem_set_data_modev">
|
||||
<span id="_CPPv323esp_modem_set_data_modev"></span><span id="_CPPv223esp_modem_set_data_modev"></span><span id="esp_modem_set_data_mode"></span><span class="target" id="esp__modem__api__commands_8h_1aa5ed2c30147eeebeed57b57f989aa8e1"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_data_mode</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv423esp_modem_set_data_modev" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets the modem to data mode. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv428esp_modem_get_signal_qualityPiPi">
|
||||
<span id="_CPPv328esp_modem_get_signal_qualityPiPi"></span><span id="_CPPv228esp_modem_get_signal_qualityPiPi"></span><span id="esp_modem_get_signal_quality__iP.iP"></span><span class="target" id="esp__modem__api__commands_8h_1a19183c257cf1522d2fd65105e81e850e"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_get_signal_quality</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">rssi</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">ber</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv428esp_modem_get_signal_qualityPiPi" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Get Signal quality. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>rssi</strong> – <strong>[out]</strong> signal strength indication </p></li>
|
||||
<li><p><strong>ber</strong> – <strong>[out]</strong> channel bit error rate </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv426esp_modem_set_flow_controlii">
|
||||
<span id="_CPPv326esp_modem_set_flow_controlii"></span><span id="_CPPv226esp_modem_set_flow_controlii"></span><span id="esp_modem_set_flow_control__i.i"></span><span class="target" id="esp__modem__api__commands_8h_1aa3c08efe9006a239196fc3eb09504989"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_flow_control</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">dce_flow</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">dte_flow</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv426esp_modem_set_flow_controlii" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Sets HW control flow. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>dce_flow</strong> – <strong>[in]</strong> 0=none, 2=RTS hw flow control of DCE </p></li>
|
||||
<li><p><strong>dte_flow</strong> – <strong>[in]</strong> 0=none, 2=CTS hw flow control of DTE </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv417esp_modem_hang_upv">
|
||||
<span id="_CPPv317esp_modem_hang_upv"></span><span id="_CPPv217esp_modem_hang_upv"></span><span id="esp_modem_hang_up"></span><span class="target" id="esp__modem__api__commands_8h_1ad718da0bb46d6e2e7c2939eb69a9b040"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_hang_up</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417esp_modem_hang_upv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Hangs up current data call. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv428esp_modem_get_battery_statusPiPiPi">
|
||||
<span id="_CPPv328esp_modem_get_battery_statusPiPiPi"></span><span id="_CPPv228esp_modem_get_battery_statusPiPiPi"></span><span id="esp_modem_get_battery_status__iP.iP.iP"></span><span class="target" id="esp__modem__api__commands_8h_1a8e1856361e95e24ccac5afd8cce2028f"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_get_battery_status</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">voltage</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">bcs</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">bcl</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv428esp_modem_get_battery_statusPiPiPi" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Get voltage levels of modem power up circuitry. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>voltage</strong> – <strong>[out]</strong> Current status in mV </p></li>
|
||||
<li><p><strong>bcs</strong> – <strong>[out]</strong> charge status (-1-Not available, 0-Not charging, 1-Charging, 2-Charging done) </p></li>
|
||||
<li><p><strong>bcl</strong> – <strong>[out]</strong> 1-100% battery capacity, -1-Not available </p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv420esp_modem_power_downv">
|
||||
<span id="_CPPv320esp_modem_power_downv"></span><span id="_CPPv220esp_modem_power_downv"></span><span id="esp_modem_power_down"></span><span class="target" id="esp__modem__api__commands_8h_1a872c6216f9b7d432a2ae79ef8b8132a2"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_power_down</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420esp_modem_power_downv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Power down the module. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv415esp_modem_resetv">
|
||||
<span id="_CPPv315esp_modem_resetv"></span><span id="_CPPv215esp_modem_resetv"></span><span id="esp_modem_reset"></span><span class="target" id="esp__modem__api__commands_8h_1a35e5bd24fca6dda7f5d328a7876554a1"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_reset</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv415esp_modem_resetv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Reset the module. </p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418esp_modem_set_baudi">
|
||||
<span id="_CPPv318esp_modem_set_baudi"></span><span id="_CPPv218esp_modem_set_baudi"></span><span id="esp_modem_set_baud__i"></span><span class="target" id="esp__modem__api__commands_8h_1a20107425f600190a441c77efbbbb991b"></span><a class="reference internal" href="internal_docs.html#_CPPv414command_result" title="command_result"><span class="n"><span class="pre">command_result</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_set_baud</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">baud</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418esp_modem_set_baudi" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Configures the baudrate. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>OK, FAIL or TIMEOUT </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>baud</strong> – <strong>[in]</strong> Desired baud rate of the DTE </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<section id="configuration-structures">
|
||||
<span id="api-config"></span><h2>Configuration structures<a class="headerlink" href="#configuration-structures" title="Permalink to this headline">¶</a></h2>
|
||||
<dl>
|
||||
<dt class="sig sig-object cpp">
|
||||
<span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g"></span><em><span class="pre">group</span></em> <span class="sig-name descname"><span class="pre">ESP_MODEM_CONFIG</span></span></dt>
|
||||
<dd><p>Configuration structures for DTE and DCE. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-defines">Defines</p>
|
||||
<dl class="cpp macro">
|
||||
<dt class="sig sig-object cpp" id="c.ESP_MODEM_DTE_DEFAULT_CONFIG">
|
||||
<span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1gadda1b12d9db18d3030a694107a4d33e2"></span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_DTE_DEFAULT_CONFIG</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#c.ESP_MODEM_DTE_DEFAULT_CONFIG" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>ESP Modem DTE Default Configuration. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp macro">
|
||||
<dt class="sig sig-object cpp" id="c.ESP_MODEM_DCE_DEFAULT_CONFIG">
|
||||
<span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1ga7bb5e5f29bd26426aebb48c6894e65fc"></span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_DCE_DEFAULT_CONFIG</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">APN</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.ESP_MODEM_DCE_DEFAULT_CONFIG" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>ESP Modem DCE Default Configuration. </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-typedefs">Typedefs</p>
|
||||
<dl class="cpp type">
|
||||
<dt class="sig sig-object cpp" id="_CPPv422esp_modem_dte_config_t">
|
||||
<span id="_CPPv322esp_modem_dte_config_t"></span><span id="_CPPv222esp_modem_dte_config_t"></span><span id="esp_modem_dte_config_t"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1ga0195fab8c90095bb289a6265abc85243"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv420esp_modem_dte_config" title="esp_modem_dte_config"><span class="n"><span class="pre">esp_modem_dte_config</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dte_config_t</span></span></span><a class="headerlink" href="#_CPPv422esp_modem_dte_config_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp type">
|
||||
<dt class="sig sig-object cpp" id="_CPPv422esp_modem_dce_config_t">
|
||||
<span id="_CPPv322esp_modem_dce_config_t"></span><span id="_CPPv222esp_modem_dce_config_t"></span><span id="esp_modem_dce_config_t"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1ga1868a57156890d831cb6dc3be400b14a"></span><span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv420esp_modem_dce_config" title="esp_modem_dce_config"><span class="n"><span class="pre">esp_modem_dce_config</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dce_config_t</span></span></span><a class="headerlink" href="#_CPPv422esp_modem_dce_config_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-enums">Enums</p>
|
||||
<dl class="cpp enum">
|
||||
<dt class="sig sig-object cpp" id="_CPPv421esp_modem_flow_ctrl_t">
|
||||
<span id="_CPPv321esp_modem_flow_ctrl_t"></span><span id="_CPPv221esp_modem_flow_ctrl_t"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1gae9adf6b726a1f385b966ed8719cc67cb"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_flow_ctrl_t</span></span></span><a class="headerlink" href="#_CPPv421esp_modem_flow_ctrl_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Modem flow control type. </p>
|
||||
<p><em>Values:</em></p>
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE">
|
||||
<span id="_CPPv3N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE"></span><span id="_CPPv2N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1ggae9adf6b726a1f385b966ed8719cc67cbaa936838a0e33c3eca980953a3fde8cd0"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_FLOW_CONTROL_NONE</span></span></span><a class="headerlink" href="#_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE">
|
||||
<span id="_CPPv3N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE"></span><span id="_CPPv2N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1ggae9adf6b726a1f385b966ed8719cc67cba9cb864b33cb644e01d63d71ecb29dc54"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_FLOW_CONTROL_SW</span></span></span><a class="headerlink" href="#_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp enumerator">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE">
|
||||
<span id="_CPPv3N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE"></span><span id="_CPPv2N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE"></span><span class="target" id="group___e_s_p___m_o_d_e_m___c_o_n_f_i_g_1ggae9adf6b726a1f385b966ed8719cc67cba0cb194c1fb71aefbadf9d5f0a730430b"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ESP_MODEM_FLOW_CONTROL_HW</span></span></span><a class="headerlink" href="#_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
<dl class="cpp struct">
|
||||
<dt class="sig sig-object cpp" id="_CPPv426esp_modem_uart_term_config">
|
||||
<span id="_CPPv326esp_modem_uart_term_config"></span><span id="_CPPv226esp_modem_uart_term_config"></span><span id="esp_modem_uart_term_config"></span><span class="target" id="structesp__modem__uart__term__config"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_uart_term_config</span></span></span><a class="headerlink" href="#_CPPv426esp_modem_uart_term_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><em>#include <esp_modem_config.h></em><p>UART configuration structure. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config8port_numE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config8port_numE"></span><span id="_CPPv2N26esp_modem_uart_term_config8port_numE"></span><span id="esp_modem_uart_term_config::port_num__uart_port_t"></span><span class="target" id="structesp__modem__uart__term__config_1a1f29a8d86f5817f7b38bd511922b6ab5"></span><span class="n"><span class="pre">uart_port_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">port_num</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config8port_numE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>UART port number </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config9data_bitsE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config9data_bitsE"></span><span id="_CPPv2N26esp_modem_uart_term_config9data_bitsE"></span><span id="esp_modem_uart_term_config::data_bits__uart_word_length_t"></span><span class="target" id="structesp__modem__uart__term__config_1a0636a1e67878080993a4e9d9c1841a72"></span><span class="n"><span class="pre">uart_word_length_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">data_bits</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config9data_bitsE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Data bits of UART </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config9stop_bitsE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config9stop_bitsE"></span><span id="_CPPv2N26esp_modem_uart_term_config9stop_bitsE"></span><span id="esp_modem_uart_term_config::stop_bits__uart_stop_bits_t"></span><span class="target" id="structesp__modem__uart__term__config_1add65566af80336e4f1b423cb9636d7ea"></span><span class="n"><span class="pre">uart_stop_bits_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stop_bits</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config9stop_bitsE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Stop bits of UART </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config6parityE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config6parityE"></span><span id="_CPPv2N26esp_modem_uart_term_config6parityE"></span><span id="esp_modem_uart_term_config::parity__uart_parity_t"></span><span class="target" id="structesp__modem__uart__term__config_1a08097cf3f886c1b81f391f1c695ed8d9"></span><span class="n"><span class="pre">uart_parity_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">parity</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config6parityE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Parity type </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config12flow_controlE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config12flow_controlE"></span><span id="_CPPv2N26esp_modem_uart_term_config12flow_controlE"></span><span id="esp_modem_uart_term_config::flow_control__esp_modem_flow_ctrl_t"></span><span class="target" id="structesp__modem__uart__term__config_1a0ee6871653936e03da8be660b360a563"></span><a class="reference internal" href="#_CPPv421esp_modem_flow_ctrl_t" title="esp_modem_flow_ctrl_t"><span class="n"><span class="pre">esp_modem_flow_ctrl_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">flow_control</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config12flow_controlE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Flow control type </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config9baud_rateE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config9baud_rateE"></span><span id="_CPPv2N26esp_modem_uart_term_config9baud_rateE"></span><span id="esp_modem_uart_term_config::baud_rate__i"></span><span class="target" id="structesp__modem__uart__term__config_1a8a0437b3deae3583a06e1ef382a0dc6b"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">baud_rate</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config9baud_rateE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Communication baud rate </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config9tx_io_numE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config9tx_io_numE"></span><span id="_CPPv2N26esp_modem_uart_term_config9tx_io_numE"></span><span id="esp_modem_uart_term_config::tx_io_num__i"></span><span class="target" id="structesp__modem__uart__term__config_1ad41ec9c314e33c49fc2efd454ac39c8a"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">tx_io_num</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config9tx_io_numE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>TXD Pin Number </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config9rx_io_numE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config9rx_io_numE"></span><span id="_CPPv2N26esp_modem_uart_term_config9rx_io_numE"></span><span id="esp_modem_uart_term_config::rx_io_num__i"></span><span class="target" id="structesp__modem__uart__term__config_1acb2201574e9c4e5732d4e6520d07ed2a"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">rx_io_num</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config9rx_io_numE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>RXD Pin Number </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config10rts_io_numE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config10rts_io_numE"></span><span id="_CPPv2N26esp_modem_uart_term_config10rts_io_numE"></span><span id="esp_modem_uart_term_config::rts_io_num__i"></span><span class="target" id="structesp__modem__uart__term__config_1a1140336a861007a6fbc7fba7643d55d0"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">rts_io_num</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config10rts_io_numE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>RTS Pin Number </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config10cts_io_numE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config10cts_io_numE"></span><span id="_CPPv2N26esp_modem_uart_term_config10cts_io_numE"></span><span id="esp_modem_uart_term_config::cts_io_num__i"></span><span class="target" id="structesp__modem__uart__term__config_1a5f040f6c3f16afa36c7ef54536e86988"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">cts_io_num</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config10cts_io_numE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>CTS Pin Number </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config14rx_buffer_sizeE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config14rx_buffer_sizeE"></span><span id="_CPPv2N26esp_modem_uart_term_config14rx_buffer_sizeE"></span><span id="esp_modem_uart_term_config::rx_buffer_size__i"></span><span class="target" id="structesp__modem__uart__term__config_1a1f08dc2c40578cb28556bf3e7b308301"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">rx_buffer_size</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config14rx_buffer_sizeE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>UART RX Buffer Size </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config14tx_buffer_sizeE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config14tx_buffer_sizeE"></span><span id="_CPPv2N26esp_modem_uart_term_config14tx_buffer_sizeE"></span><span id="esp_modem_uart_term_config::tx_buffer_size__i"></span><span class="target" id="structesp__modem__uart__term__config_1a8d0ecdf311a28be3a2d73acc86d63136"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">tx_buffer_size</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config14tx_buffer_sizeE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>UART TX Buffer Size </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N26esp_modem_uart_term_config16event_queue_sizeE">
|
||||
<span id="_CPPv3N26esp_modem_uart_term_config16event_queue_sizeE"></span><span id="_CPPv2N26esp_modem_uart_term_config16event_queue_sizeE"></span><span id="esp_modem_uart_term_config::event_queue_size__i"></span><span class="target" id="structesp__modem__uart__term__config_1ad754cac881b7e9045dca213b8caca6bc"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">event_queue_size</span></span></span><a class="headerlink" href="#_CPPv4N26esp_modem_uart_term_config16event_queue_sizeE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>UART Event Queue Size, set to 0 if no event queue needed </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp struct">
|
||||
<dt class="sig sig-object cpp" id="_CPPv425esp_modem_vfs_term_config">
|
||||
<span id="_CPPv325esp_modem_vfs_term_config"></span><span id="_CPPv225esp_modem_vfs_term_config"></span><span id="esp_modem_vfs_term_config"></span><span class="target" id="structesp__modem__vfs__term__config"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_vfs_term_config</span></span></span><a class="headerlink" href="#_CPPv425esp_modem_vfs_term_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><em>#include <esp_modem_config.h></em><p>VFS configuration structure. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N25esp_modem_vfs_term_config2fdE">
|
||||
<span id="_CPPv3N25esp_modem_vfs_term_config2fdE"></span><span id="_CPPv2N25esp_modem_vfs_term_config2fdE"></span><span id="esp_modem_vfs_term_config::fd__i"></span><span class="target" id="structesp__modem__vfs__term__config_1a2ba1842a07721e3ac3aad84a73ddd9b6"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fd</span></span></span><a class="headerlink" href="#_CPPv4N25esp_modem_vfs_term_config2fdE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Already created file descriptor </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N25esp_modem_vfs_term_config7deleterE">
|
||||
<span id="_CPPv3N25esp_modem_vfs_term_config7deleterE"></span><span id="_CPPv2N25esp_modem_vfs_term_config7deleterE"></span><span class="target" id="structesp__modem__vfs__term__config_1aacff06998b04d41ef3df9b6040b22c35"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">deleter</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">esp_modem_vfs_resource</span></span><span class="p"><span class="pre">*</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N25esp_modem_vfs_term_config7deleterE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Custom close function for the fd </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N25esp_modem_vfs_term_config8resourceE">
|
||||
<span id="_CPPv3N25esp_modem_vfs_term_config8resourceE"></span><span id="_CPPv2N25esp_modem_vfs_term_config8resourceE"></span><span id="esp_modem_vfs_term_config::resource__esp_modem_vfs_resourceP"></span><span class="target" id="structesp__modem__vfs__term__config_1a3bb430daa0e25d794c9ffbefe14405a0"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">esp_modem_vfs_resource</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">resource</span></span></span><a class="headerlink" href="#_CPPv4N25esp_modem_vfs_term_config8resourceE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Resource attached to the VFS (need for clenaup) </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp struct">
|
||||
<dt class="sig sig-object cpp" id="_CPPv420esp_modem_dte_config">
|
||||
<span id="_CPPv320esp_modem_dte_config"></span><span id="_CPPv220esp_modem_dte_config"></span><span id="esp_modem_dte_config"></span><span class="target" id="structesp__modem__dte__config"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dte_config</span></span></span><a class="headerlink" href="#_CPPv420esp_modem_dte_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><em>#include <esp_modem_config.h></em><p>Complete DTE configuration structure. </p>
|
||||
<p>Note that the generic part is common for DTE and its SW resources The following portions for config is dedicated to the chosen HW resource used as a communication terminal for this DTE </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dte_config15dte_buffer_sizeE">
|
||||
<span id="_CPPv3N20esp_modem_dte_config15dte_buffer_sizeE"></span><span id="_CPPv2N20esp_modem_dte_config15dte_buffer_sizeE"></span><span id="esp_modem_dte_config::dte_buffer_size__s"></span><span class="target" id="structesp__modem__dte__config_1af0040044f146f5db3f6f0d7a56abee70"></span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dte_buffer_size</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dte_config15dte_buffer_sizeE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>DTE buffer size </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dte_config15task_stack_sizeE">
|
||||
<span id="_CPPv3N20esp_modem_dte_config15task_stack_sizeE"></span><span id="_CPPv2N20esp_modem_dte_config15task_stack_sizeE"></span><span id="esp_modem_dte_config::task_stack_size__uint32_t"></span><span class="target" id="structesp__modem__dte__config_1a7dae362b026278f25b590c23736db3c8"></span><span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">task_stack_size</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dte_config15task_stack_sizeE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Terminal task stack size </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dte_config13task_priorityE">
|
||||
<span id="_CPPv3N20esp_modem_dte_config13task_priorityE"></span><span id="_CPPv2N20esp_modem_dte_config13task_priorityE"></span><span id="esp_modem_dte_config::task_priority__i"></span><span class="target" id="structesp__modem__dte__config_1a725c10b2eb1451bffd4054282d47feee"></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">task_priority</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dte_config13task_priorityE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Terminal task priority </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dte_config11uart_configE">
|
||||
<span id="_CPPv3N20esp_modem_dte_config11uart_configE"></span><span id="_CPPv2N20esp_modem_dte_config11uart_configE"></span><span id="esp_modem_dte_config::uart_config__esp_modem_uart_term_config"></span><span class="target" id="structesp__modem__dte__config_1aeed11791481adf6b9bab07e5cc7840bb"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv426esp_modem_uart_term_config" title="esp_modem_uart_term_config"><span class="n"><span class="pre">esp_modem_uart_term_config</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">uart_config</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dte_config11uart_configE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Configuration for UART Terminal </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dte_config10vfs_configE">
|
||||
<span id="_CPPv3N20esp_modem_dte_config10vfs_configE"></span><span id="_CPPv2N20esp_modem_dte_config10vfs_configE"></span><span id="esp_modem_dte_config::vfs_config__esp_modem_vfs_term_config"></span><span class="target" id="structesp__modem__dte__config_1a31fc825319920ca2763050b826ed6b6f"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv425esp_modem_vfs_term_config" title="esp_modem_vfs_term_config"><span class="n"><span class="pre">esp_modem_vfs_term_config</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">vfs_config</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dte_config10vfs_configE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Configuration for VFS Terminal </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp struct">
|
||||
<dt class="sig sig-object cpp" id="_CPPv420esp_modem_dce_config">
|
||||
<span id="_CPPv320esp_modem_dce_config"></span><span id="_CPPv220esp_modem_dce_config"></span><span id="esp_modem_dce_config"></span><span class="target" id="structesp__modem__dce__config"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">esp_modem_dce_config</span></span></span><a class="headerlink" href="#_CPPv420esp_modem_dce_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><em>#include <esp_modem_dce_config.h></em><p>DCE configuration structure. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
|
||||
<dl class="cpp var">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N20esp_modem_dce_config3apnE">
|
||||
<span id="_CPPv3N20esp_modem_dce_config3apnE"></span><span id="_CPPv2N20esp_modem_dce_config3apnE"></span><span id="esp_modem_dce_config::apn__cCP"></span><span class="target" id="structesp__modem__dce__config_1a2f15999abb92aec07d766ce2487507ba"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">apn</span></span></span><a class="headerlink" href="#_CPPv4N20esp_modem_dce_config3apnE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>APN: Logical name of the Access point </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">C interface</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#lifecycle-api">Lifecycle API</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#modem-commands">Modem commands</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#configuration-structures">Configuration structures</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="README.html" title="previous chapter">ESP MODEM</a></li>
|
||||
<li>Next: <a href="cxx_api_docs.html" title="next chapter">C++ API Documentation</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/api_docs.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
287
esp_modem/cxx_api_docs.html
Normal file
287
esp_modem/cxx_api_docs.html
Normal file
@@ -0,0 +1,287 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>C++ API Documentation — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="Advanced esp-modem use cases" href="advanced_api.html" />
|
||||
<link rel="prev" title="C API Documentation" href="api_docs.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="c-api-documentation">
|
||||
<h1>C++ API Documentation<a class="headerlink" href="#c-api-documentation" title="Permalink to this headline">¶</a></h1>
|
||||
<p>Similar to the <a class="reference internal" href="api_docs.html#c-api"><span class="std std-ref">C API Documentation</span></a>, the basic application workflow consist of</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="#cpp-init"><span class="std std-ref">Construction of the DCE</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="#cpp-mode-switch"><span class="std std-ref">Switching modes</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="#cpp-modem-commands"><span class="std std-ref">Sending (AT) commands</span></a></p></li>
|
||||
<li><p><a class="reference internal" href="#cpp-destroy"><span class="std std-ref">Destroying the DCE</span></a></p></li>
|
||||
</ul>
|
||||
<section id="create-dte-and-dce">
|
||||
<span id="cpp-init"></span><h2>Create DTE and DCE<a class="headerlink" href="#create-dte-and-dce" title="Permalink to this headline">¶</a></h2>
|
||||
<dl>
|
||||
<dt class="sig sig-object cpp">
|
||||
<span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_t_e"></span><em><span class="pre">group</span></em> <span class="sig-name descname"><span class="pre">ESP_MODEM_INIT_DTE</span></span></dt>
|
||||
<dd><p>Create <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a>’s. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-typedefs">Typedefs</p>
|
||||
<dl class="cpp type">
|
||||
<dt class="sig sig-object cpp" id="_CPPv410dce_config">
|
||||
<span id="_CPPv310dce_config"></span><span id="_CPPv210dce_config"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_t_e_1ga66d8d640adc724af2e6fe9dc7c051afa"></span><span class="k"><span class="pre">using</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dce_config</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="api_docs.html#_CPPv420esp_modem_dce_config" title="esp_modem_dce_config"><span class="n"><span class="pre">esp_modem_dce_config</span></span></a><a class="headerlink" href="#_CPPv410dce_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="cpp type">
|
||||
<dt class="sig sig-object cpp" id="_CPPv410dte_config">
|
||||
<span id="_CPPv310dte_config"></span><span id="_CPPv210dte_config"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_t_e_1ga741a0f27d09386e4c8844076a8954ac1"></span><span class="k"><span class="pre">using</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dte_config</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="api_docs.html#_CPPv420esp_modem_dte_config" title="esp_modem_dte_config"><span class="n"><span class="pre">esp_modem_dte_config</span></span></a><a class="headerlink" href="#_CPPv410dte_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-functions">Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv415create_uart_dtePK10dte_config">
|
||||
<span id="_CPPv315create_uart_dtePK10dte_config"></span><span id="_CPPv215create_uart_dtePK10dte_config"></span><span id="create_uart_dte__dte_configCP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_t_e_1ga4a4f7f00866211c2d390fd3edb282531"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DTE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">create_uart_dte</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv410dte_config" title="dte_config"><span class="n"><span class="pre">dte_config</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">config</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv415create_uart_dtePK10dte_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create UART <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a>. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>shared ptr to <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> on success nullptr on failure (either due to insufficient memory or wrong dte configuration) if exceptions are disabled the API abort()’s on error </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>config</strong> – <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> configuration </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv414create_vfs_dtePK10dte_config">
|
||||
<span id="_CPPv314create_vfs_dtePK10dte_config"></span><span id="_CPPv214create_vfs_dtePK10dte_config"></span><span id="create_vfs_dte__dte_configCP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_t_e_1ga5795216bc8c5a8a3c08e1008c7576253"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DTE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">create_vfs_dte</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv410dte_config" title="dte_config"><span class="n"><span class="pre">dte_config</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">config</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv414create_vfs_dtePK10dte_config" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create VFS <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a>. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>shared ptr to <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> on success nullptr on failure (either due to insufficient memory or wrong dte configuration) if exceptions are disabled the API abort()’s on error </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>config</strong> – <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> configuration </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl>
|
||||
<dt class="sig sig-object cpp">
|
||||
<span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_c_e"></span><em><span class="pre">group</span></em> <span class="sig-name descname"><span class="pre">ESP_MODEM_INIT_DCE</span></span></dt>
|
||||
<dd><p>ESP_MODEM Initialization API for <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a>. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-functions">Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">
|
||||
<span id="_CPPv318create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="_CPPv218create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="create_SIM7600_dce__dce_configCP.std::shared_ptr:DTE:.esp_netif_tP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_c_e_1ga4afd7f37219025f4dfd936784e5a56e1"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DCE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">create_SIM7600_dce</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv410dce_config" title="dce_config"><span class="n"><span class="pre">dce_config</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">config</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DTE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="n sig-param"><span class="pre">dte</span></span>, <span class="n"><span class="pre">esp_netif_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">netif</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> based on <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_s_i_m7600"><span class="std std-ref">SIM7600</span></a> module. </p>
|
||||
<p><dl class="field-list simple">
|
||||
<dt class="field-odd">return<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>unique ptr to the created <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> on success nullptr on failure if exceptions are disabled the API abort()’s on error </p>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>config</strong> – <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> configuration </p></li>
|
||||
<li><p><strong>dte</strong> – reference to the communicating <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a> </p></li>
|
||||
<li><p><strong>netif</strong> – reference to the network interface</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">
|
||||
<span id="_CPPv317create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="_CPPv217create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="create_SIM800_dce__dce_configCP.std::shared_ptr:DTE:.esp_netif_tP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_c_e_1gab349608fb7df969de3a107c9cd5caeb1"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DCE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">create_SIM800_dce</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv410dce_config" title="dce_config"><span class="n"><span class="pre">dce_config</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">config</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DTE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="n sig-param"><span class="pre">dte</span></span>, <span class="n"><span class="pre">esp_netif_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">netif</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> based on <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_s_i_m800"><span class="std std-ref">SIM800</span></a> module. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">
|
||||
<span id="_CPPv315create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="_CPPv215create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="create_BG96_dce__dce_configCP.std::shared_ptr:DTE:.esp_netif_tP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_c_e_1gaddc0b6cdc955e5eec170e46181bfddb1"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DCE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">create_BG96_dce</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv410dce_config" title="dce_config"><span class="n"><span class="pre">dce_config</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">config</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DTE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="n sig-param"><span class="pre">dte</span></span>, <span class="n"><span class="pre">esp_netif_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">netif</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> based on <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_b_g96"><span class="std std-ref">BG96</span></a> module. </p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">
|
||||
<span id="_CPPv318create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="_CPPv218create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t"></span><span id="create_generic_dce__dce_configCP.std::shared_ptr:DTE:.esp_netif_tP"></span><span class="target" id="group___e_s_p___m_o_d_e_m___i_n_i_t___d_c_e_1ga533398ff0278c20dfe4e0bc55719d71e"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DCE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">create_generic_dce</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv410dce_config" title="dce_config"><span class="n"><span class="pre">dce_config</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">config</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre"><</span></span><span class="n"><span class="pre">DTE</span></span><span class="p"><span class="pre">></span></span><span class="w"> </span><span class="n sig-param"><span class="pre">dte</span></span>, <span class="n"><span class="pre">esp_netif_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">netif</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Create generic <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a>. </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
<section id="mode-switching-commands">
|
||||
<span id="cpp-mode-switch"></span><h2>Mode switching commands<a class="headerlink" href="#mode-switching-commands" title="Permalink to this headline">¶</a></h2>
|
||||
<dl class="cpp class">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4I0EN9esp_modem5DCE_TE">
|
||||
<span id="_CPPv3I0EN9esp_modem5DCE_TE"></span><span id="_CPPv2I0EN9esp_modem5DCE_TE"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre"><</span></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SpecificModule</span></span></span><span class="p"><span class="pre">></span></span><br /><span class="target" id="classesp__modem_1_1_d_c_e___t"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">esp_modem</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">DCE_T</span></span></span><a class="headerlink" href="#_CPPv4I0EN9esp_modem5DCE_TE" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>General <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_c_e"><span class="std std-ref">DCE</span></a> class templated on a specific module. It is responsible for all the necessary transactions related to switching modes and consequent synergy with aggregated objects of <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_d_t_e"><span class="std std-ref">DTE</span></a>, <a class="reference internal" href="internal_docs.html#classesp__modem_1_1_netif"><span class="std std-ref">Netif</span></a> and a specific Module. </p>
|
||||
<div class="breathe-sectiondef docutils container">
|
||||
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
|
||||
<dl class="cpp function">
|
||||
<dt class="sig sig-object cpp" id="_CPPv4N9esp_modem5DCE_T8set_dataEv">
|
||||
<span id="_CPPv3N9esp_modem5DCE_T8set_dataEv"></span><span id="_CPPv2N9esp_modem5DCE_T8set_dataEv"></span><span id="esp_modem::DCE_T::set_data"></span><span class="target" id="classesp__modem_1_1_d_c_e___t_1a0f41a6dbf86ff8058cb3ef727cefdc5f"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_data</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N9esp_modem5DCE_T8set_dataEv" title="Permalink to this definition">¶</a><br /></dt>
|
||||
<dd><p>Set data mode! </p>
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
</section>
|
||||
<section id="modem-commands">
|
||||
<span id="cpp-modem-commands"></span><h2>Modem commands<a class="headerlink" href="#modem-commands" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE4syncEv" title="esp_modem::DCE::sync"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::sync()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringE" title="esp_modem::DCE::get_operator_name"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_operator_name()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE13store_profileEv" title="esp_modem::DCE::store_profile"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::store_profile()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE" title="esp_modem::DCE::set_pin"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_pin()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8read_pinERb" title="esp_modem::DCE::read_pin"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::read_pin()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_echoEKb" title="esp_modem::DCE::set_echo"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_echo()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE12sms_txt_modeEKb" title="esp_modem::DCE::sms_txt_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::sms_txt_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE17sms_character_setEv" title="esp_modem::DCE::sms_character_set"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::sms_character_set()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE" title="esp_modem::DCE::send_sms"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::send_sms()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE16resume_data_modeEv" title="esp_modem::DCE::resume_data_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::resume_data_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext" title="esp_modem::DCE::set_pdp_context"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_pdp_context()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE16set_command_modeEv" title="esp_modem::DCE::set_command_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_command_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_cmuxEv" title="esp_modem::DCE::set_cmux"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_cmux()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE" title="esp_modem::DCE::get_imsi"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_imsi()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE" title="esp_modem::DCE::get_imei"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_imei()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE" title="esp_modem::DCE::get_module_name"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_module_name()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE13set_data_modeEv" title="esp_modem::DCE::set_data_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_data_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi" title="esp_modem::DCE::get_signal_quality"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_signal_quality()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE16set_flow_controlEii" title="esp_modem::DCE::set_flow_control"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_flow_control()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE7hang_upEv" title="esp_modem::DCE::hang_up"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::hang_up()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi" title="esp_modem::DCE::get_battery_status"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_battery_status()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE10power_downEv" title="esp_modem::DCE::power_down"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::power_down()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE5resetEv" title="esp_modem::DCE::reset"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::reset()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_baudEi" title="esp_modem::DCE::set_baud"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_baud()</span></code></a></p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="destroy-the-dce">
|
||||
<span id="cpp-destroy"></span><h2>Destroy the DCE<a class="headerlink" href="#destroy-the-dce" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The DCE object is created as <code class="docutils literal notranslate"><span class="pre">std::unique_ptr</span></code> by default and as such doesn’t have to be explicitly destroyed.
|
||||
It simply gets destroyed and cleaned-up automatically if the object goes out of the block scope.</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">C++ interface</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#create-dte-and-dce">Create DTE and DCE</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#mode-switching-commands">Mode switching commands</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#modem-commands">Modem commands</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#destroy-the-dce">Destroy the DCE</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="api_docs.html" title="previous chapter">C API Documentation</a></li>
|
||||
<li>Next: <a href="advanced_api.html" title="next chapter">Advanced esp-modem use cases</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/cxx_api_docs.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
132
esp_modem/cxx_api_links.html
Normal file
132
esp_modem/cxx_api_links.html
Normal file
@@ -0,0 +1,132 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title><no title> — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE4syncEv" title="esp_modem::DCE::sync"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::sync()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringE" title="esp_modem::DCE::get_operator_name"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_operator_name()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE13store_profileEv" title="esp_modem::DCE::store_profile"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::store_profile()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE" title="esp_modem::DCE::set_pin"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_pin()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8read_pinERb" title="esp_modem::DCE::read_pin"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::read_pin()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_echoEKb" title="esp_modem::DCE::set_echo"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_echo()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE12sms_txt_modeEKb" title="esp_modem::DCE::sms_txt_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::sms_txt_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE17sms_character_setEv" title="esp_modem::DCE::sms_character_set"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::sms_character_set()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE" title="esp_modem::DCE::send_sms"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::send_sms()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE16resume_data_modeEv" title="esp_modem::DCE::resume_data_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::resume_data_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext" title="esp_modem::DCE::set_pdp_context"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_pdp_context()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE16set_command_modeEv" title="esp_modem::DCE::set_command_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_command_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_cmuxEv" title="esp_modem::DCE::set_cmux"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_cmux()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE" title="esp_modem::DCE::get_imsi"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_imsi()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE" title="esp_modem::DCE::get_imei"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_imei()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE" title="esp_modem::DCE::get_module_name"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_module_name()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE13set_data_modeEv" title="esp_modem::DCE::set_data_mode"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_data_mode()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi" title="esp_modem::DCE::get_signal_quality"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_signal_quality()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE16set_flow_controlEii" title="esp_modem::DCE::set_flow_control"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_flow_control()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE7hang_upEv" title="esp_modem::DCE::hang_up"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::hang_up()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi" title="esp_modem::DCE::get_battery_status"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::get_battery_status()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE10power_downEv" title="esp_modem::DCE::power_down"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::power_down()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE5resetEv" title="esp_modem::DCE::reset"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::reset()</span></code></a></p></li>
|
||||
<li><p><a class="reference internal" href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_baudEi" title="esp_modem::DCE::set_baud"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">esp_modem::DCE::set_baud()</span></code></a></p></li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/cxx_api_links.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
534
esp_modem/genindex.html
Normal file
534
esp_modem/genindex.html
Normal file
@@ -0,0 +1,534 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Index — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="#" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
|
||||
<h1 id="index">Index</h1>
|
||||
|
||||
<div class="genindex-jumpbox">
|
||||
<a href="#C"><strong>C</strong></a>
|
||||
| <a href="#D"><strong>D</strong></a>
|
||||
| <a href="#E"><strong>E</strong></a>
|
||||
| <a href="#G"><strong>G</strong></a>
|
||||
| <a href="#M"><strong>M</strong></a>
|
||||
| <a href="#P"><strong>P</strong></a>
|
||||
| <a href="#S"><strong>S</strong></a>
|
||||
| <a href="#T"><strong>T</strong></a>
|
||||
|
||||
</div>
|
||||
<h2 id="C">C</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv410cmux_state">cmux_state (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10cmux_state6FOOTERE">cmux_state::FOOTER (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10cmux_state6HEADERE">cmux_state::HEADER (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10cmux_state4INITE">cmux_state::INIT (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10cmux_state7PAYLOADE">cmux_state::PAYLOAD (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10cmux_state7RECOVERE">cmux_state::RECOVER (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv414command_result">command_result (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N14command_result4FAILE">command_result::FAIL (C++ enumerator)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv4N14command_result2OKE">command_result::OK (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N14command_result7TIMEOUTE">command_result::TIMEOUT (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv415create_BG96_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">create_BG96_dce (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv418create_generic_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">create_generic_dce (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv418create_SIM7600_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">create_SIM7600_dce (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv417create_SIM800_dcePK10dce_configNSt10shared_ptrI3DTEEEP11esp_netif_t">create_SIM800_dce (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv415create_uart_dtePK10dte_config">create_uart_dte (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv414create_vfs_dtePK10dte_config">create_vfs_dte (C++ function)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="D">D</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="cxx_api_docs.html#_CPPv410dce_config">dce_config (C++ type)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="cxx_api_docs.html#_CPPv410dte_config">dte_config (C++ type)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="E">E</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem4BG96E">esp_modem::BG96 (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem4CMuxE">esp_modem::CMux (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem4CMux4initEv">esp_modem::CMux::init (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem4CMux11set_read_cbEiNSt8functionIFbP7uint8_t6size_tEEE">esp_modem::CMux::set_read_cb (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem4CMux5writeEiP7uint8_t6size_t">esp_modem::CMux::write (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem12CMuxInstanceE">esp_modem::CMuxInstance (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem12CMuxInstance4readEP7uint8_t6size_t">esp_modem::CMuxInstance::read (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem12CMuxInstance5writeEP7uint8_t6size_t">esp_modem::CMuxInstance::write (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem13CommandableIfE">esp_modem::CommandableIf (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem13CommandableIf7commandERKNSt6stringE11got_line_cb8uint32_tKc">esp_modem::CommandableIf::command (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCEE">esp_modem::DCE (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE18get_battery_statusERiRiRi">esp_modem::DCE::get_battery_status (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE8get_imeiERNSt6stringE">esp_modem::DCE::get_imei (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE8get_imsiERNSt6stringE">esp_modem::DCE::get_imsi (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE15get_module_nameERNSt6stringE">esp_modem::DCE::get_module_name (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE17get_operator_nameERNSt6stringE">esp_modem::DCE::get_operator_name (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE18get_signal_qualityERiRi">esp_modem::DCE::get_signal_quality (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE7hang_upEv">esp_modem::DCE::hang_up (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE10power_downEv">esp_modem::DCE::power_down (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE8read_pinERb">esp_modem::DCE::read_pin (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE5resetEv">esp_modem::DCE::reset (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE16resume_data_modeEv">esp_modem::DCE::resume_data_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE8send_smsERKNSt6stringERKNSt6stringE">esp_modem::DCE::send_sms (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_baudEi">esp_modem::DCE::set_baud (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_cmuxEv">esp_modem::DCE::set_cmux (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE16set_command_modeEv">esp_modem::DCE::set_command_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE13set_data_modeEv">esp_modem::DCE::set_data_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE8set_echoEKb">esp_modem::DCE::set_echo (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE16set_flow_controlEii">esp_modem::DCE::set_flow_control (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE15set_pdp_contextER10PdpContext">esp_modem::DCE::set_pdp_context (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE7set_pinERKNSt6stringE">esp_modem::DCE::set_pin (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE17sms_character_setEv">esp_modem::DCE::sms_character_set (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE12sms_txt_modeEKb">esp_modem::DCE::sms_txt_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE13store_profileEv">esp_modem::DCE::store_profile (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DCE4syncEv">esp_modem::DCE::sync (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4I0EN9esp_modem11dce_factory7CreatorE">esp_modem::dce_factory::Creator (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4N9esp_modem11dce_factory7FactoryE">esp_modem::dce_factory::Factory (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4I0DpEN9esp_modem11dce_factory7Factory5buildEP3DCEPK6configDpRR4Args">esp_modem::dce_factory::Factory::build (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4I0DpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args">esp_modem::dce_factory::Factory::build_unique (C++ function)</a>, <a href="advanced_api.html#_CPPv4IDpEN9esp_modem11dce_factory7Factory12build_uniqueENSt10unique_ptrI3DCEEEPK6configDpRR4Args">[1]</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4N9esp_modem11dce_factory13FactoryHelperE">esp_modem::dce_factory::FactoryHelper (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem8DCE_ModeE">esp_modem::DCE_Mode (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv4I0EN9esp_modem5DCE_TE">esp_modem::DCE_T (C++ class)</a>, <a href="internal_docs.html#_CPPv4I0EN9esp_modem5DCE_TE">[1]</a>
|
||||
</li>
|
||||
<li><a href="cxx_api_docs.html#_CPPv4N9esp_modem5DCE_T8set_dataEv">esp_modem::DCE_T::set_data (C++ function)</a>, <a href="internal_docs.html#_CPPv4N9esp_modem5DCE_T8set_dataEv">[1]</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DTEE">esp_modem::DTE (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_t">esp_modem::DTE::command (C++ function)</a>, <a href="internal_docs.html#_CPPv4N9esp_modem3DTE7commandERKNSt6stringE11got_line_cb8uint32_tc">[1]</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DTE3DTEEPK20esp_modem_dte_configNSt10unique_ptrI8TerminalEE">esp_modem::DTE::DTE (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DTE4readEPP7uint8_t6size_t">esp_modem::DTE::read (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DTE8set_modeE10modem_mode">esp_modem::DTE::set_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DTE11set_read_cbENSt8functionIFbP7uint8_t6size_tEEE">esp_modem::DTE::set_read_cb (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem3DTE5writeEP7uint8_t6size_t">esp_modem::DTE::write (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem13GenericModuleE">esp_modem::GenericModule (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem13GenericModule21configure_pdp_contextENSt10unique_ptrI10PdpContextEE">esp_modem::GenericModule::configure_pdp_context (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem13GenericModule13GenericModuleENSt10shared_ptrI3DTEEENSt10unique_ptrI10PdpContextEE">esp_modem::GenericModule::GenericModule (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem13GenericModule8set_modeE10modem_mode">esp_modem::GenericModule::set_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem13GenericModule15setup_data_modeEv">esp_modem::GenericModule::setup_data_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem8ModuleIfE">esp_modem::ModuleIf (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem8ModuleIf8set_modeE10modem_mode">esp_modem::ModuleIf::set_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem8ModuleIf15setup_data_modeEv">esp_modem::ModuleIf::setup_data_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem5NetifE">esp_modem::Netif (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem5Netif5startEv">esp_modem::Netif::start (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem5Netif4stopEv">esp_modem::Netif::stop (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem5Netif20wait_until_ppp_exitsEv">esp_modem::Netif::wait_until_ppp_exits (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem10PdpContextE">esp_modem::PdpContext (C++ struct)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem7SIM7600E">esp_modem::SIM7600 (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem6SIM800E">esp_modem::SIM800 (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem8TerminalE">esp_modem::Terminal (C++ class)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem8Terminal4readEP7uint8_t6size_t">esp_modem::Terminal::read (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N9esp_modem8Terminal5writeEP7uint8_t6size_t">esp_modem::Terminal::write (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv420esp_modem_dce_config">esp_modem_dce_config (C++ struct)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dce_config3apnE">esp_modem_dce_config::apn (C++ member)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="api_docs.html#_CPPv422esp_modem_dce_config_t">esp_modem_dce_config_t (C++ type)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#c.ESP_MODEM_DCE_DEFAULT_CONFIG">ESP_MODEM_DCE_DEFAULT_CONFIG (C macro)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv420esp_modem_dce_device">esp_modem_dce_device (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dce_device18ESP_MODEM_DCE_BG96E">esp_modem_dce_device::ESP_MODEM_DCE_BG96 (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_GENETICE">esp_modem_dce_device::ESP_MODEM_DCE_GENETIC (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dce_device21ESP_MODEM_DCE_SIM7600E">esp_modem_dce_device::ESP_MODEM_DCE_SIM7600 (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dce_device20ESP_MODEM_DCE_SIM800E">esp_modem_dce_device::ESP_MODEM_DCE_SIM800 (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv422esp_modem_dce_device_t">esp_modem_dce_device_t (C++ type)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_dce_mode">esp_modem_dce_mode (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N18esp_modem_dce_mode22ESP_MODEM_MODE_COMMANDE">esp_modem_dce_mode::ESP_MODEM_MODE_COMMAND (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N18esp_modem_dce_mode19ESP_MODEM_MODE_DATAE">esp_modem_dce_mode::ESP_MODEM_MODE_DATA (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv420esp_modem_dce_mode_t">esp_modem_dce_mode_t (C++ type)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#c.ESP_MODEM_DECLARE_DCE_COMMAND">ESP_MODEM_DECLARE_DCE_COMMAND (C macro)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv417esp_modem_destroyP15esp_modem_dce_t">esp_modem_destroy (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv420esp_modem_dte_config">esp_modem_dte_config (C++ struct)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dte_config15dte_buffer_sizeE">esp_modem_dte_config::dte_buffer_size (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dte_config13task_priorityE">esp_modem_dte_config::task_priority (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dte_config15task_stack_sizeE">esp_modem_dte_config::task_stack_size (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dte_config11uart_configE">esp_modem_dte_config::uart_config (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N20esp_modem_dte_config10vfs_configE">esp_modem_dte_config::vfs_config (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv422esp_modem_dte_config_t">esp_modem_dte_config_t (C++ type)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#c.ESP_MODEM_DTE_DEFAULT_CONFIG">ESP_MODEM_DTE_DEFAULT_CONFIG (C macro)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv421esp_modem_flow_ctrl_t">esp_modem_flow_ctrl_t (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_HWE">esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_HW (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N21esp_modem_flow_ctrl_t27ESP_MODEM_FLOW_CONTROL_NONEE">esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_NONE (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N21esp_modem_flow_ctrl_t25ESP_MODEM_FLOW_CONTROL_SWE">esp_modem_flow_ctrl_t::ESP_MODEM_FLOW_CONTROL_SW (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv428esp_modem_get_battery_statusPiPiPi">esp_modem_get_battery_status (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_get_imeiPc">esp_modem_get_imei (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_get_imsiPc">esp_modem_get_imsi (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv425esp_modem_get_module_namePc">esp_modem_get_module_name (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv427esp_modem_get_operator_namePc">esp_modem_get_operator_name (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv428esp_modem_get_signal_qualityPiPi">esp_modem_get_signal_quality (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv417esp_modem_hang_upv">esp_modem_hang_up (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv413esp_modem_newPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t">esp_modem_new (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv417esp_modem_new_dev22esp_modem_dce_device_tPK22esp_modem_dte_config_tPK22esp_modem_dce_config_tP11esp_netif_t">esp_modem_new_dev (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv420esp_modem_power_downv">esp_modem_power_down (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_read_pinPb">esp_modem_read_pin (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv415esp_modem_resetv">esp_modem_reset (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv426esp_modem_resume_data_modev">esp_modem_resume_data_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_send_smsPKcPKc">esp_modem_send_sms (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_set_baudi">esp_modem_set_baud (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_set_cmuxv">esp_modem_set_cmux (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv426esp_modem_set_command_modev">esp_modem_set_command_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv423esp_modem_set_data_modev">esp_modem_set_data_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_set_echoKb">esp_modem_set_echo (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv426esp_modem_set_flow_controlii">esp_modem_set_flow_control (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv418esp_modem_set_modeP15esp_modem_dce_t20esp_modem_dce_mode_t">esp_modem_set_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv425esp_modem_set_pdp_contextP10PdpContext">esp_modem_set_pdp_context (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv417esp_modem_set_pinPKc">esp_modem_set_pin (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv427esp_modem_sms_character_setv">esp_modem_sms_character_set (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv422esp_modem_sms_txt_modeKb">esp_modem_sms_txt_mode (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv423esp_modem_store_profilev">esp_modem_store_profile (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv414esp_modem_syncv">esp_modem_sync (C++ function)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv426esp_modem_uart_term_config">esp_modem_uart_term_config (C++ struct)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config9baud_rateE">esp_modem_uart_term_config::baud_rate (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config10cts_io_numE">esp_modem_uart_term_config::cts_io_num (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config9data_bitsE">esp_modem_uart_term_config::data_bits (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config16event_queue_sizeE">esp_modem_uart_term_config::event_queue_size (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config12flow_controlE">esp_modem_uart_term_config::flow_control (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config6parityE">esp_modem_uart_term_config::parity (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config8port_numE">esp_modem_uart_term_config::port_num (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config10rts_io_numE">esp_modem_uart_term_config::rts_io_num (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config14rx_buffer_sizeE">esp_modem_uart_term_config::rx_buffer_size (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config9rx_io_numE">esp_modem_uart_term_config::rx_io_num (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config9stop_bitsE">esp_modem_uart_term_config::stop_bits (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config14tx_buffer_sizeE">esp_modem_uart_term_config::tx_buffer_size (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N26esp_modem_uart_term_config9tx_io_numE">esp_modem_uart_term_config::tx_io_num (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv425esp_modem_vfs_term_config">esp_modem_vfs_term_config (C++ struct)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N25esp_modem_vfs_term_config7deleterE">esp_modem_vfs_term_config::deleter (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N25esp_modem_vfs_term_config2fdE">esp_modem_vfs_term_config::fd (C++ member)</a>
|
||||
</li>
|
||||
<li><a href="api_docs.html#_CPPv4N25esp_modem_vfs_term_config8resourceE">esp_modem_vfs_term_config::resource (C++ member)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="G">G</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv426get_battery_status_sim7xxxP13CommandableIfRiRiRi">get_battery_status_sim7xxx (C++ function)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv411got_line_cb">got_line_cb (C++ type)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="M">M</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv410modem_mode">modem_mode (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10modem_mode9CMUX_MODEE">modem_mode::CMUX_MODE (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10modem_mode12COMMAND_MODEE">modem_mode::COMMAND_MODE (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10modem_mode9DATA_MODEE">modem_mode::DATA_MODE (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N10modem_mode5UNDEFE">modem_mode::UNDEF (C++ enumerator)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="advanced_api.html#_CPPv49ModemType">ModemType (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4N9ModemType4BG96E">ModemType::BG96 (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4N9ModemType13GenericModuleE">ModemType::GenericModule (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4N9ModemType7SIM7600E">ModemType::SIM7600 (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="advanced_api.html#_CPPv4N9ModemType6SIM800E">ModemType::SIM800 (C++ enumerator)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="P">P</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv418power_down_sim7xxxP13CommandableIf">power_down_sim7xxx (C++ function)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv417power_down_sim8xxP13CommandableIf">power_down_sim8xx (C++ function)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="S">S</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv420set_data_mode_sim8xxP13CommandableIf">set_data_mode_sim8xx (C++ function)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
<h2 id="T">T</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv414terminal_error">terminal_error (C++ enum)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N14terminal_error15BUFFER_OVERFLOWE">terminal_error::BUFFER_OVERFLOW (C++ enumerator)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="internal_docs.html#_CPPv4N14terminal_error14CHECKSUM_ERRORE">terminal_error::CHECKSUM_ERROR (C++ enumerator)</a>
|
||||
</li>
|
||||
<li><a href="internal_docs.html#_CPPv4N14terminal_error23UNEXPECTED_CONTROL_FLOWE">terminal_error::UNEXPECTED_CONTROL_FLOW (C++ enumerator)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
174
esp_modem/index.html
Normal file
174
esp_modem/index.html
Normal file
@@ -0,0 +1,174 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>ESP-MODEM Programmers manual — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="ESP MODEM" href="README.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="esp-modem-programmers-manual">
|
||||
<h1>ESP-MODEM Programmers manual<a class="headerlink" href="#esp-modem-programmers-manual" title="Permalink to this headline">¶</a></h1>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="README.html#modem-components">Modem components</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="README.html#dce">DCE</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="README.html#dte">DTE</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="README.html#ppp-netif">PPP netif</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="README.html#module">Module</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="README.html#use-cases">Use cases</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="README.html#extensibility">Extensibility</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="README.html#cmux">CMUX</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="README.html#dte-s">DTE’s</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="README.html#other-devices">Other devices</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_docs.html#lifecycle-api">Lifecycle API</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_docs.html#modem-commands">Modem commands</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="api_docs.html#configuration-structures">Configuration structures</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cxx_api_docs.html#create-dte-and-dce">Create DTE and DCE</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cxx_api_docs.html#mode-switching-commands">Mode switching commands</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cxx_api_docs.html#modem-commands">Modem commands</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cxx_api_docs.html#destroy-the-dce">Destroy the DCE</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="advanced_api.html#custom-instantiation-with-dce-factory">Custom instantiation with DCE factory</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="advanced_api.html#create-custom-module">Create custom module</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="advanced_api.html#create-new-communication-interface">Create new communication interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_design.html#design-decisions">Design decisions</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_design.html#dce-collaboration-model">DCE collaboration model</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_design.html#terminal-inheritance">Terminal inheritance</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_design.html#cmux-terminal">CMUX terminal</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_docs.html#dte-abstraction">DTE abstraction</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="internal_docs.html#terminal-interface">Terminal interface</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="internal_docs.html#cmux-implementation">CMUX implementation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_docs.html#netif">Netif</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_docs.html#module-abstraction">Module abstraction</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="internal_docs.html#adding-new-devices">Adding new devices</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="internal_docs.html#implement-a-new-generic-command">Implement a new generic command</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="internal_docs.html#command-library">Command library</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="internal_docs.html#modem-types">Modem types</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="#">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="#">Documentation overview</a><ul>
|
||||
<li>Next: <a href="README.html" title="next chapter">ESP MODEM</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/index.rst.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
160
esp_modem/internal_design.html
Normal file
160
esp_modem/internal_design.html
Normal file
@@ -0,0 +1,160 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Internal design — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="DCE Internal implementation" href="internal_docs.html" />
|
||||
<link rel="prev" title="Advanced esp-modem use cases" href="advanced_api.html" />
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<section id="internal-design">
|
||||
<h1>Internal design<a class="headerlink" href="#internal-design" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="design-decisions">
|
||||
<h2>Design decisions<a class="headerlink" href="#design-decisions" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Use C++ with additional C API</p></li>
|
||||
<li><p>Use exceptions</p>
|
||||
<ul>
|
||||
<li><p>Use macro wrapper over <code class="docutils literal notranslate"><span class="pre">try-catch</span></code> blocks when exceptions off (use <code class="docutils literal notranslate"><span class="pre">abort()</span></code> if <code class="docutils literal notranslate"><span class="pre">THROW()</span></code>)</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Initializes and allocates in the constructor (might throw)</p>
|
||||
<ul>
|
||||
<li><p>easier code with exceptions ON, with exceptions OFF alloc/init failures are not treated as runtime error (program aborts)</p></li>
|
||||
<li><p>break down long initialization in constructor into more private methods</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Implements different devices using inheritance from <code class="docutils literal notranslate"><span class="pre">GenericModule</span></code>, which is the most general implementation of a common modem</p>
|
||||
<ul>
|
||||
<li><p>Internally uses templates with device specialization (modeled as <code class="docutils literal notranslate"><span class="pre">DCE<SpecificModule></span></code>) which could be used as well for some special cases,
|
||||
such as implantation of a minimal device (ModuleIf), add new AT commands (oOnly in compile time), or using the Module with DTE only (no DCE, no Netif) for sending AT commands without network</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="dce-collaboration-model">
|
||||
<h2>DCE collaboration model<a class="headerlink" href="#dce-collaboration-model" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The diagram describes how the DCE class collaborates with DTE, PPP and the device abstraction</p>
|
||||
<p><img alt="DCE_architecture" src="_images/DCE_DTE_collaboration.png" /></p>
|
||||
</section>
|
||||
<section id="terminal-inheritance">
|
||||
<h2>Terminal inheritance<a class="headerlink" href="#terminal-inheritance" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Terminal is a class which can read or write data, and can handle callbacks when data are available. UART specialization
|
||||
is provided implementing these method using the uart driver.</p>
|
||||
</section>
|
||||
<section id="cmux-terminal">
|
||||
<h2>CMUX terminal<a class="headerlink" href="#cmux-terminal" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The below diagram depicts the idea of using CMUX terminal mode using the CMuxInstance class which is a terminal
|
||||
(it implements the basic read/write methods) interfacing arbitrary number of virtual terminals,
|
||||
but at the same time it is also composed of CMux class, which consumes the original terminal and uses its read/write methods
|
||||
to multiplex the terminal.</p>
|
||||
<p><img alt="CMUX Terminal" src="_images/CMux_collaboration.png" /></p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">Internal design</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#design-decisions">Design decisions</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#dce-collaboration-model">DCE collaboration model</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#terminal-inheritance">Terminal inheritance</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#cmux-terminal">CMUX terminal</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
<li>Previous: <a href="advanced_api.html" title="previous chapter">Advanced esp-modem use cases</a></li>
|
||||
<li>Next: <a href="internal_docs.html" title="next chapter">DCE Internal implementation</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
|
|
||||
<a href="_sources/internal_design.md.txt"
|
||||
rel="nofollow">Page source</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
1220
esp_modem/internal_docs.html
Normal file
1220
esp_modem/internal_docs.html
Normal file
File diff suppressed because it is too large
Load Diff
BIN
esp_modem/objects.inv
Normal file
BIN
esp_modem/objects.inv
Normal file
Binary file not shown.
127
esp_modem/search.html
Normal file
127
esp_modem/search.html
Normal file
@@ -0,0 +1,127 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Search — esp-modem documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/searchtools.js"></script>
|
||||
<script src="_static/language_data.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="#" />
|
||||
<script src="searchindex.js" defer></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||||
|
||||
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="document">
|
||||
<div class="documentwrapper">
|
||||
<div class="bodywrapper">
|
||||
|
||||
|
||||
<div class="body" role="main">
|
||||
|
||||
<h1 id="search-documentation">Search</h1>
|
||||
|
||||
<noscript>
|
||||
<div class="admonition warning">
|
||||
<p>
|
||||
Please activate JavaScript to enable the search
|
||||
functionality.
|
||||
</p>
|
||||
</div>
|
||||
</noscript>
|
||||
|
||||
|
||||
<p>
|
||||
Searching for multiple words only shows matches that contain
|
||||
all words.
|
||||
</p>
|
||||
|
||||
|
||||
<form action="" method="get">
|
||||
<input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||||
<input type="submit" value="search" />
|
||||
<span id="search-progress" style="padding-left: 10px"></span>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<div id="search-results">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<h1 class="logo"><a href="index.html">esp-modem</a></h1>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h3>Navigation</h3>
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="README.html">Brief intro</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="api_docs.html">C interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cxx_api_docs.html">C++ interface</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="advanced_api.html">Advanced use cases</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_design.html">Internal design</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="internal_docs.html">Internal implementation</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="relations">
|
||||
<h3>Related Topics</h3>
|
||||
<ul>
|
||||
<li><a href="index.html">Documentation overview</a><ul>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearer"></div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
©2016 - 2021, Espressif Systems (Shanghai) Co., Ltd.
|
||||
|
||||
|
|
||||
Powered by <a href="http://sphinx-doc.org/">Sphinx 4.3.0</a>
|
||||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
1
esp_modem/searchindex.js
Normal file
1
esp_modem/searchindex.js
Normal file
File diff suppressed because one or more lines are too long
1
index.html
Normal file
1
index.html
Normal file
@@ -0,0 +1 @@
|
||||
<a href="esp_modem/index.html">esp-modem</a>
|
Reference in New Issue
Block a user