espressif / arduino-esp32

Arduino core for the ESP32
GNU Lesser General Public License v2.1
13.21k stars 7.34k forks source link

PlatformIO builder script and platform.txt not in sync #5505

Closed maxgerhardt closed 3 years ago

maxgerhardt commented 3 years ago

Hardware:

Board: ESP32C3 and ESP32C2 Core Installation version: latest git 5bb8177aa1feec665938be97607b526a4f0ec0bb IDE name: Platform.io Flash Frequency: 40Mhz PSRAM enabled: no Upload Speed: 115200 Computer OS: Windows 10

Description:

The Arduino-IDE compiles with settings from the platform.txt, for the ESP32S2

https://github.com/espressif/arduino-esp32/blob/5bb8177aa1feec665938be97607b526a4f0ec0bb/platform.txt#L48

and ESP32C3

https://github.com/espressif/arduino-esp32/blob/5bb8177aa1feec665938be97607b526a4f0ec0bb/platform.txt#L63

and ESP32

https://github.com/espressif/arduino-esp32/blob/5bb8177aa1feec665938be97607b526a4f0ec0bb/platform.txt#L33

These flags are not enabled equivalently in the PlatformIO builder scripts

https://github.com/espressif/arduino-esp32/blob/5bb8177aa1feec665938be97607b526a4f0ec0bb/tools/platformio-build-esp32s2.py#L278-L292

https://github.com/espressif/arduino-esp32/blob/5bb8177aa1feec665938be97607b526a4f0ec0bb/tools/platformio-build-esp32c3.py#L278-L292

https://github.com/espressif/arduino-esp32/blob/5bb8177aa1feec665938be97607b526a4f0ec0bb/tools/platformio-build-esp32.py#L292-L306

Compile settings between the Arduino IDE and PlatformIO should always be equalized to get the same experience.

Sketch: (leave the backquotes for code formatting)

None relevant

Debug Messages:

None relevant

me-no-dev commented 3 years ago

you define those in the board config or your project config. Not something that should be predefined for PIO

maxgerhardt commented 3 years ago

Configuring it per-project implies that it's also configurable per-project in the Arduino IDE, which it is not for the esp32 and esp32c3, it's hardcoded for those chip type.s Hence why it should be in the PlatformIO builder scripts for those chip types.

For the S2, yes, the users may add those via build_flags.