Is it possible to recompile Pycom's ESP IDF with different settings?

  • While modifying Micropython for our purposes we hit a wall a few times, because some of the functionality we wanted to change was implemented in the IDF project and not in the Micropython project.

    For example we wanted to turn on debug output for certain modules in the IDF or activate FreeRTOS's trace features.

    At the moment this does not seem to be possible, because there is no working makefile to recompile the *.a libraries Micropython links against.

    Can you provide a working makefile for the IDF or point me to an existing one?

  • @xykon I just tried it and it seems to work.
    Thank you very much!

    Are the settings in examples/wifi/scan/sdkconfig in the Pycom IDF repository exactly what you are building with or do you use a modified version? Is it documented anywhere which version of the IDF was used in a particular version of MicroPython?

    I assume at lot of the settings in sdkconfig (for example partition table) don't really matter, because they only change the (in this case unused) bootloader and app that are also built with make all. Is this correct?

    I think a hint in the of the Pycom IDF would be helpful.

  • administrators

    @sympatron We use the Wifi scan example application in the IDF to build the libraries: you'll find the sdkconfig which you can modify with make menuconfig then build the libraries with make all

    As for micropython the sdkconfig is in a slightly different format in sdkconfig.h

    We have a script we use internally to copy the IDF libraries from the scan application into the micropython folder. For now you can use the script below and I will see if we can get this added to the source tree for the next release.

    Download and copy the script (as into the pycom-micropython-sigfox/esp32 folder and run it with --idflibs $(IDF_PATH)/examples/wifi/scan/build

    Let us know how this works for you.

Pycom on Twitter

Looks like your connection to Pycom Forum was lost, please wait while we try to reconnect.