Using idf.py with PlatformIO

I could not find any direct references of how to do this and if this is possible at all?

I want to use idf.py tool set through platformion, (if that makes sense at all?)

p.s.
Platformio sometimes has pretty nasty behaviour, it sticks to system, glues into the system paths and by default destroys the python/pip installs and behaviours. At the same time, it’s also pretty good tool for what it’s made.

Do you mean ESP-IDF?

Please elaborate… on what OS, and in what way? On Windows, it uses a self-contained python install, so doesn’t interact with any other version you have installed (if any). On linux, it uses virtualenv, so works with a containerised python install, so again doesn’t interact with the system python install.

1 Like

Right, I didn’t dig deep how is set, I just realized that using pip and installing something else all gets “drown in to” pio… I couldn’t use python normally on my computer because of that any more.

The facts it puts whole bin/ from pio on the $PATH confused some of the apps in my computer.

Didn’t investigate much but that’s what I have noticed.

Btw it’s Ubuntu and Debian. If that really matters much. I believe it runs same on any Linux.

But that was just a comment.

I’ll rephrase my question.

  1. Is there any documentation regarding pio and esp-idf development???

  2. What is the workflow of setting up the environment, how to run setup script like idf.py menuconfig?

Thank you for your time and help.

1 Like

That’s why you use the virutalenv … if you install platformio into a virtualenv, it doesn’t touch the rest of your python install. And yeah, it would the pretty much the same to any Linux install. If you install it via IDE, say VSCode, it would be entirely different… even on linux it uses virtualenv, so it doesn’t touch the rest of your system.

Anyway, that’s beside the point…

I believe the current way to configure values that you would normally configure via menuconfig is to use a sdkconfig.h file in your \src directory - i.e. manual edits. Going by this post and comments on Github, Ivan is mainly waiting on espressif to make changes to their build system, unless that has since happened?

1 Like

Thank you.

If I understood correctly, it’s far from being complete.

Esp-idf + platformio is not yet what it would be. Ok, I understand, is not only pio im that. Eepressif needs to adjust quite but more.

Thnx

That’s my understanding… yes, still a work in progress. However, keep an eye on this thread, as there are more experienced people/ESP-IDF users on the forum, who might be able to give pointers on how to continue to do things with menuconfig… or alternatives… etc :wink:

regarding the “on the side” problem.

here is perfect demonstration how pio shits on my environment…

just wanted to install something with pip in my pc and i go this:

    Building wheels for collected packages: gattlib
  Building wheel for gattlib (setup.py) ... error
  ERROR: Command errored out with exit status 1:
       command: /home/user/.espressif/python_env/idf4.0_py2.7_env/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-hbIEVh/gattlib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-hbIEVh/gattlib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-UwymgO --python-tag cp27
       cwd: /tmp/pip-install-hbIEVh/gattlib/