Below is a screenshot of my 2 files, I have a working project but want to define the flag “HARDWARE_VERSION” from the outside.
On the right i got the ini file setting the flags as per the docs, but every time i build the project the error is thrown.
The left file is under include\CONFIGURATION.hpp (i set a lot of pin flags here)
the src/include folders are all default.
I googled for like 3 hours but all i can find is people asking “how to do this?” and the answer is always use “build_flags” but i haven’t found anyone where this just doesn’t produce the desired result…
selectionDev overwrite the definition of
You have to do the interpolation correctly so that you have the sum of both flags.
Ok, i thougtht they’d do that automatically ?
Edit: They don’t i just misread
Documentation here Section [env] — PlatformIO latest documentation
Adding this definition would result in:
; Please visit documentation for the other options and examples
platform = espressif32
board = esp-wrover-kit
framework = espidf
monitor_speed = 115200
monitor_filters = esp32_exception_decoder
board_build.partitions = partition_table.csv
upload_port = /dev/ttyUSB*
monitor_port = /dev/ttyUSB*
build_type = debug
build_type = release
but the end result when building is the same, still undefined
Well the screenshot is also complaining about "missing terminating
" so let’s rewrite the string constant to how the docs says it
replace that with
Yeah but that section of the docs deals with strings in particular, which isn’t what I need here anyways… I am not even using that variable.
I removed it now but the end result is the same either way.
Okay but… you only define
CONFIG_HARDWARE_VERSION, so that that isn’t found is understandable.
CONFIG_ macros are generated from settings in the menuconfig.
Oh good god i am stupid, ok thanks!
So my error was just the incorrect merging of the environments.
I first thought that maybe the macros got the CONFIG_ automatically, but this makes a lot more sense.
Thanks a lot for your help !