changes from menuconfig are only applied after cleaning
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
makedetects 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
menuconfigis 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 cleanand a recompile the changes are applied. - approx 4min to get a change in the settings to the board
- The
menuconfigalways 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.
ESP32 NVS OverflowError
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
1.22.2
Reproduction
import esp32
config = esp32.NVS('test')
config.set_i32('testkey', -2147483648)
config.commit()
Expected behaviour
for the value to get set properly. The minimum allowed value for a 32 bit integer is -2147483648 and I should be able to set that value without an issue.
Observed behaviour
OverflowError: overflow converting long int to machine word
Additional Information
No, I've provided everything above.