Sometimes is useful to have a different firmware/program name in build_dir. The following example uses Custom options in platformio.ini and adds a project version suffix to the firmware name.
platformio.ini
:
[env:env_custom_prog_name]
platform = espressif32
framework = arduino
board = esp32dev
build_flags =
-DVERSION=${this.custom_prog_version}
extra_scripts = pre:extra_script.py
custom_prog_version = 1.2.3
extra_script.py
:
Import("env")
env.Replace(PROGNAME="firmware_%s" % env.GetProjectOption("custom_prog_version"))