|
|
|
:mod:`esp32` --- functionality specific to the ESP32
|
|
|
|
====================================================
|
|
|
|
|
|
|
|
.. module:: esp32
|
|
|
|
:synopsis: functionality specific to the ESP32
|
|
|
|
|
|
|
|
The ``esp32`` module contains functions and classes specifically aimed at
|
|
|
|
controlling ESP32 modules.
|
|
|
|
|
|
|
|
|
|
|
|
Functions
|
|
|
|
---------
|
|
|
|
|
|
|
|
.. function:: wake_on_touch(wake)
|
|
|
|
|
|
|
|
Configure whether or not a touch will wake the device from sleep.
|
|
|
|
*wake* should be a boolean value.
|
|
|
|
|
|
|
|
.. function:: wake_on_ext0(pin, level)
|
|
|
|
|
|
|
|
Configure how EXT0 wakes the device from sleep. *pin* can be ``None``
|
|
|
|
or a valid Pin object. *level* should be ``esp32.WAKEUP_ALL_LOW`` or
|
|
|
|
``esp32.WAKEUP_ANY_HIGH``.
|
|
|
|
|
|
|
|
.. function:: wake_on_ext1(pins, level)
|
|
|
|
|
|
|
|
Configure how EXT1 wakes the device from sleep. *pins* can be ``None``
|
|
|
|
or a tuple/list of valid Pin objects. *level* should be ``esp32.WAKEUP_ALL_LOW``
|
|
|
|
or ``esp32.WAKEUP_ANY_HIGH``.
|
|
|
|
|
|
|
|
.. function:: raw_temperature()
|
|
|
|
|
|
|
|
Read the raw value of the internal temperature sensor, returning an integer.
|
|
|
|
|
|
|
|
.. function:: hall_sensor()
|
|
|
|
|
|
|
|
Read the raw value of the internal Hall sensor, returning an integer.
|
|
|
|
|
|
|
|
Flash partitions
|
|
|
|
----------------
|
|
|
|
|
|
|
|
This class gives access to the partitions in the device's flash memory.
|
|
|
|
|
|
|
|
.. class:: Partition(id)
|
|
|
|
|
|
|
|
Create an object representing a partition. *id* can be a string which is the label
|
|
|
|
of the partition to retrieve, or one of the constants: ``BOOT`` or ``RUNNING``.
|
|
|
|
|
|
|
|
.. classmethod:: Partition.find(type=TYPE_APP, subtype=0xff, label=None)
|
|
|
|
|
|
|
|
Find a partition specified by *type*, *subtype* and *label*. Returns a
|
|
|
|
(possibly empty) list of Partition objects.
|
|
|
|
|
|
|
|
.. method:: Partition.info()
|
|
|
|
|
|
|
|
Returns a 6-tuple ``(type, subtype, addr, size, label, encrypted)``.
|
|
|
|
|
|
|
|
.. method:: Partition.readblocks(block_num, buf)
|
|
|
|
.. method:: Partition.writeblocks(block_num, buf)
|
|
|
|
.. method:: Partition.ioctl(cmd, arg)
|
|
|
|
|
|
|
|
These methods implement the block protocol defined by :class:`uos.AbstractBlockDev`.
|
|
|
|
|
|
|
|
.. method:: Partition.set_boot()
|
|
|
|
|
|
|
|
Sets the partition as the boot partition.
|
|
|
|
|
|
|
|
.. method:: Partition.get_next_update()
|
|
|
|
|
|
|
|
Gets the next update partition after this one, and returns a new Partition object.
|
|
|
|
|
|
|
|
Constants
|
|
|
|
~~~~~~~~~
|
|
|
|
|
|
|
|
.. data:: Partition.BOOT
|
|
|
|
Partition.RUNNING
|
|
|
|
|
|
|
|
Used in the `Partition` constructor to fetch various partitions.
|
|
|
|
|
|
|
|
.. data:: Partition.TYPE_APP
|
|
|
|
Partition.TYPE_DATA
|
|
|
|
|
|
|
|
Used in `Partition.find` to specify the partition type.
|
|
|
|
|
|
|
|
The Ultra-Low-Power co-processor
|
|
|
|
--------------------------------
|
|
|
|
|
|
|
|
.. class:: ULP()
|
|
|
|
|
|
|
|
This class provides access to the Ultra-Low-Power co-processor.
|
|
|
|
|
|
|
|
.. method:: ULP.set_wakeup_period(period_index, period_us)
|
|
|
|
|
|
|
|
Set the wake-up period.
|
|
|
|
|
|
|
|
.. method:: ULP.load_binary(load_addr, program_binary)
|
|
|
|
|
|
|
|
Load a *program_binary* into the ULP at the given *load_addr*.
|
|
|
|
|
|
|
|
.. method:: ULP.run(entry_point)
|
|
|
|
|
|
|
|
Start the ULP running at the given *entry_point*.
|
|
|
|
|
|
|
|
|
|
|
|
Constants
|
|
|
|
---------
|
|
|
|
|
|
|
|
.. data:: esp32.WAKEUP_ALL_LOW
|
|
|
|
esp32.WAKEUP_ANY_HIGH
|
|
|
|
|
|
|
|
Selects the wake level for pins.
|