Why do I have 2 Platform Espressif 32?

Hello !

I am using platform = https://github.com/platformio/platform-espressif32.git in my projects.

While updating all things in VSC PlatformIO I noticed that I have two(2) of the same platform:

                                          platformio update
Updating tool-scons                      @ 2.20501.7      [Up-to-date]
Updating tool-unity                      @ 1.20403.0      [Up-to-date]
Updating contrib-pysite                  @ 2.27.190418    [Up-to-date]
Updating contrib-piohome                 @ 2.2.0          [Up-to-date]
Updating tool-pioplus                    @ 2.5.2          [Up-to-date]

Platform Manager
================
Platform Espressif 32
--------
Updating espressif32                     @ 1.9.0          [Up-to-date]
Updating tool-esptoolpy                  @ 1.20600.0      [Up-to-date]
Updating toolchain-xtensa32              @ 2.50200.80     [Up-to-date]
Updating framework-arduinoespressif32    @ 2.10002.190628 [Up-to-date]
Updating tool-mkspiffs                   @ 2.230.0        [Up-to-date]

Platform Espressif 32
--------
Updating espressif32                     @ 2c1b430        [Up-to-date]
Updating tool-esptoolpy                  @ 1.20600.0      [Up-to-date]
Updating toolchain-xtensa32              @ 2.50200.80     [Up-to-date]
Updating framework-arduinoespressif32    @ 2.10002.190628 [Up-to-date]
Updating tool-mkspiffs                   @ 2.230.0        [Up-to-date]

And, as you can see, espressif32 is the only one that changes versions from one platform to the other.

What is happening ? Which one am I using in my projects ?

One is the release version (1.9.0) whereas the other is either the staging or development version… i.e. you’ve specified https://github.com/platformio/platform-espressif32.git as the platform in one of your projects. I suspect you’re using the 1.9.0 version if you’re merely using espressif32 in your platform platformio.ini declaration. This is part of how PlatformIO lets you run different platform and framework versions side by side, with the platformio.ini specifying what version your projects wants, etc.

2 Likes

So, basically, I have both the Stable and Development platforms installed and updated and depending on what’s inside my platformio.ini the project will run either one of those, correct ?

Yes, exactly! :slight_smile:

As a comparison, because I’m running both the latest espressif8266 for other projects AND v2.2.1 for a specific project so I don’t have to deal with breaking changes to the API until I’m ready (which is late, it was actually in the prior core release that things broke, so I locked it so it doesn’t happen again), my environment looks like this (as you can see from the platformio.ini snippet at the top, I’ve version or commit locked the platform and libraries).

1 Like

That’s great !
Thank you for your time and explanations.

1 Like