docs: Added FAQs regarding lark module not found and RAM increase due to

ble memory free
This commit is contained in:
Shubham Patil
2023-04-15 20:16:31 +05:30
parent b5666463a0
commit da1e31b92f
+40
View File
@@ -188,3 +188,43 @@ Difference between Rotating ID Unique ID and Unique ID
- :project_file:`Zap Light <examples/zap_light/README.md>`
- :project_file:`Zigbee Bridge <examples/zigbee_bridge/README.md>`
- :project_file:`BLE Mesh Bridge <examples/blemesh_bridge/README.md>`
A1.8 ModuleNotFoundError: No module named 'lark'
------------------------------------------------
Encountering the above error while building the esp-matter example could indicate that the steps outlined in the
`getting the repository <https://docs.espressif.com/projects/esp-matter/en/latest/esp32/developing.html#getting-the-repositories>`__
section of the documentation were not properly followed.
The esp-matter example relies on several python dependencies that can be found in the
`requirements.txt <https://github.com/espressif/esp-matter/blob/main/requirements.txt>`__.
These dependencies must be installed into the python environment of the esp-idf to ensure that the example builds successfully.
One recommended approach to installing these requirements is by running the command
``source $IDF_PATH/export.sh`` before running ``esp-matter/install.sh``, as suggested in the programming guide.
However, if the error persists, you can try the following steps to resolve it:
::
cd esp-idf
source ./export.sh
cd esp-matter
python3 -m pip install -r requirements.txt
# Now examples will build without any error
cd examples/...
idf.py build
A1.9 Why does free RAM increase after first commissioning
---------------------------------------------------------
After the first commissioning, you may notice that the free RAM increases. This is because, by default,
BLE is only used for the commissioning process. Once the commissioning is complete, BLE is deinitialized,
and all the memory allocated to it is recovered. Here's the link to the
`implementation <https://github.com/espressif/esp-matter/blob/c52fa686d1a3be275b0a5c872ee5f1a3c8f2420d/components/esp_matter/esp_matter_core.cpp#L859-L891>`__ which frees the BLE memory.
However, if you want to continue using the BLE even after the commissioning process, you can disable the
``CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING``. This will ensure that the memory allocated to the BLE functionality
is not released after the commissioning process, and the free RAM won't go up.