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

changes from menuconfig are only applied after cleaning #14491

Open
2 tasks done
wohltat opened this issue May 15, 2024 · 1 comment
Open
2 tasks done

changes from menuconfig are only applied after cleaning #14491

wohltat opened this issue May 15, 2024 · 1 comment
Labels

Comments

@wohltat
Copy link

wohltat commented May 15, 2024

Checks

  • I agree to follow the MicroPython Code of Conduct to ensure a safe and respectful space for everyone.

  • I've searched for existing issues matching this bug, and didn't find any.

Port, board and/or hardware

esp32

MicroPython version

MicroPython v1.23.0-preview.375.ga0d4fdcce.dirty on 2024-05-15; Generic ESP32 module with ESP32

Reproduction

want to test some settings of the ESP32 IDF. For this i use the idf.py menuconfig but the changes have no effect when i recompile with make BOARD=ESP32_MYBOARD. Only after a make BOARD=ESP32_MYBOARD clean and a recompile the changes are applied.

Before i created folder for my custom board in micropython/ports/esp32/boards/ESP32_MYBOARD according to the documentation (micropython/ports/esp32/README.md: Defining a custom ESP32 board), i.e. i made i copy of ESP32_GENERIC.

I adapted the file mpconfigboard.cmake in that folder to:

set(SDKCONFIG_DEFAULTS
    boards/sdkconfig.base
    ${SDKCONFIG_IDF_VERSION_SPECIFIC}
    boards/sdkconfig.ble
)

set(SDKCONFIG_DEFAULTS
    ${SDKCONFIG_DEFAULTS}
    boards/ESP32_RFID/sdkconfig
)

then and after every idf.py menuconfig i do
make BOARD=ESP32_MYBOARD submodules
make BOARD=ESP32_MYBOARD
make BOARD=ESP32_MYBOARD deploy

Expected behaviour

  • make detects changes to the source (including configuration).
  • the whole project does not have to be recompiled for every little changy in configuration and to wait several minutes just try one setting.
  • sdkconfig file save location in menuconfig is the location from where the file is used. Not needing to manually copy config files.
  • It should be enough to just specify the board/folder once with make BOARD=... ...

Observed behaviour

  • Only after a make BOARD=ESP32_MYBOARD clean and a recompile the changes are applied.
  • approx 4min to get a change in the settings to the board
  • The menuconfig always tries to read and save the file 'micropython/ports/esp32/build/sdkconfig' and i cannot change the sdkconfig in my custom folder without changing the CMakeLists.txt. Seems strange that the default location is in a build folder and not a configuration folder. Ofcourse i can manually set the config file location for saving every time, but that is neither comfortable nor seems intended.
  • although the config is saved to 'micropython/ports/esp32/build/sdkconfig' by default, only the one from 'micropython/ports/esp32/boards/ESP32_RFID/sdkconfig' is used.
  • two different build directories automatically generated 'micropython/ports/esp32/build/' and 'micropython/ports/esp32/build-ESP32_MYBOARD'

Additional Information

No, I've provided everything above.

@wohltat wohltat added the bug label May 15, 2024
@wohltat
Copy link
Author

wohltat commented May 15, 2024

The idf.py -D MICROPY_BOARD=... from the micropython/ports/esp32/README.md doesnt help. The -D Flag doesn't seem to have any effect.

idf.py -B ports/esp32/build-ESP32_RFID menuconfig seems to read from my board configuration folder and tries to save there.
Still feels confusing since it's setting the Build directory and not the board/configuration/project directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant