Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document esp module for ESP8266 #1289

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
56 changes: 56 additions & 0 deletions docs/library/esp.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
:mod:`esp` --- functions related to the ESP8266
===============================================

.. module:: esp
:synopsis: functions related to the ESP8266

The ``esp`` module contains specific functions related to the ESP8266 module.


Functions
---------

.. function:: connect(ssid, password)

Connect to the specified wireless network, using the specified password.

.. function:: disconnect()

Disconnect from the currently connected wireless network.

.. function:: scan(cb)

Initiate scanning for the available wireless networks.

Once the scanning is complete, the provided callback function ``cb`` will
be called once for each network found, and passed a tuple with information
about that network.

.. function:: status()

Return the current status of the wireless connection.

The possible statuses are defined as constants:

* ``STAT_IDLE`` -- no connection and no activity,
* ``STAT_CONNECTING`` -- connecting in progress,
* ``STAT_WRONG_PASSWORD`` -- failed due to incorrect password,
* ``STAT_NO_AP_FOUND`` -- failed because no access point replied,
* ``STAT_CONNECT_FAIL`` -- failed due to other problems,
* ``STAT_GOT_IP`` -- connection susccessful.

.. function:: getaddrinfo((hostname, port, lambda))

Initiate resolving of the given hostname.

When the hostname is resolved, the provided ``lambda`` callback will be
called with two arguments, first being the hostname being resolved,
second a tuple with information about that hostname.

Classes
-------

.. toctree::
:maxdepth: 1

esp.socket.rst
82 changes: 82 additions & 0 deletions docs/library/esp.socket.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
class socket -- network socket
==============================

``socket`` is an object that represents a network socket. Example usage::

socket = esp.socket()
socket.onrecv(print)
socket.connect(('207.58.139.247', 80))
socket.send('GET /testwifi/index.html HTTP/1.0\r\n\r\n')

Constructors
------------

.. class:: esp.socket()

Create and return a socket object.


TCP Methods
-----------

.. method:: socket.connect(addr)

Connect to the adress and port specified in the ``addr`` tuple.

.. method:: socket.close()

Close the connection.

.. method:: socket.accept()

Accept a single connection from the connection queue.

.. method:: socket.listen(backlog)

Start listening for incoming connections.

Note: Only one socket can be listening for connections at a time.

.. method:: socket.bind(addr)

Bind the socket to the address and port specified by the ``addr`` tuple.

.. method:: socket.send(buf)

Send the bytes from ``buf``.

.. method:: socket.recv()

Receive and return bytes from the socket.


UDP Methods
-----------

.. method:: socket.sendto(data, addr)

Placeholder for UDP support, not implemented yet.

.. method:: socket.recvfrom(addr)

Placeholder for UDP support, not implemented yet.


Callback Setter Methods
-----------------------

.. method:: onconnect(lambda)::

When connection is established, call the callback ``lambda``.

.. method:: onrecv(lambda)::

When data is received, call the callback ``lambda``.

.. method:: onsent(lamda)::

What data is finished sending, call the callback ``lambda``.

.. method:: ondisconnect(lambda)::

Call the callback ``lambda`` when the connection is closed.
12 changes: 12 additions & 0 deletions docs/library/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,15 @@ The following libraries are specific to the pyboard.

pyb.rst
network.rst

.. only:: esp8266

Libraries specific to the ESP8266
---------------------------------

The following libraries are specific to the ESP8266.

.. toctree::
:maxdepth: 2

esp.rst