IDF version incompatibility making trouble

slh_binary
Posts: 10
Joined: Mon Mar 29, 2021 9:53 am

IDF version incompatibility making trouble

Postby slh_binary » Thu Jul 25, 2024 1:48 pm

The ESP-IDF library actually should save the time and make the programming easy, but it is wasting the developer time with its versions incompatibility and not be able to use some older IDF versions in their IDE.
I see a lot of changes between versions in a short time that make the question for me that they can’t publish a stable API like many other companies at all? Or they can’t do their changes in non-user layer?

ESP_Sprite
Posts: 9730
Joined: Thu Nov 26, 2015 4:08 am

Re: IDF version incompatibility making trouble

Postby ESP_Sprite » Fri Jul 26, 2024 12:26 am

Generally, we use semantic versioning, as in a project that uses e.g. some ESP-IDF 5 version should be able to compile with any ESP-IDF 5 version (that has all the features you're using). Our API is stable in that sense. We can't keep APIs stable forever, though: it would mean we're tied down to all the design decisions that we made when the original ESP32, so we use major version changes to do those API changes.

If you're complaining about the changes between major versions, then yeah, sorry, those can't be helped as we need that to support new hardware. The alternative would be a very krusty API that has all the new features 'bolted on' to the old API in a hacky way. That's no fun for us to support or our users to use.

slh_binary
Posts: 10
Joined: Mon Mar 29, 2021 9:53 am

Re: IDF version incompatibility making trouble

Postby slh_binary » Mon Jul 29, 2024 1:30 pm

If you have a project that you have done it e.g 2-3 years ago, and want to add a small feature to it, this is not possible to work with the same IDF version which you have worked.
I even tried to compile my project written with IDF-V4.2 with the same major version (4.4.8), but it dosn’t compile. So you have to waste your time to find where are problems. Compiling with same IDF version as I said is not possible, even if you try to compile the standard “hello_world” example from that version!! You will get the message not supported!
we need that to support new hardware
I don't know how much new hardware was produced in the time between IDF versions 5.2.2 and version 5.3, but when I compare them specially the folder “components”, I see almost everything is red
compare.png
compare.png (155.01 KiB) Viewed 1693 times

Yeah this is necessary to make changes and updates, but the Espressif does it like that “so today we don’t like this syntax for that function, let’s do it more beautiful…”.
You can also consider some changes in NON-USER-LAYER.
So I can't write a stable library for myself to e.g scan the wifi access points and send it to the host, because for every new version I face with errors and the worse thing is that if this is older 2-3 years, then I can not compile it at least with that old IDF version anymore! So in this way for me it makes no sense to work with IDF libraries in terms of time.

srjasz
Posts: 46
Joined: Wed Apr 03, 2024 4:29 pm

Re: IDF version incompatibility making trouble

Postby srjasz » Mon Jul 29, 2024 3:10 pm

It's even worse than that. The installation done by the Online Installer is different than for the Offline Installer for the same version. Make sure you save the Offline Installer for each version you use as you may need it in the future.

MicroController
Posts: 1708
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: IDF version incompatibility making trouble

Postby MicroController » Tue Jul 30, 2024 8:50 pm

AFAICT you should be able to just clone and install any IDF version from the github repo at any time.

And yes, you always have to decide if you want to build an 'old' application as-is with a legacy IDF or if/when you want to migrate it to a current version.

slh_binary
Posts: 10
Joined: Mon Mar 29, 2021 9:53 am

Re: IDF version incompatibility making trouble

Postby slh_binary » Wed Jul 31, 2024 10:24 am

Clone is successful, compile is not successful as I said even the standard example e.g. blink.
I leave ESP-IDF because it's not suitable for my work and it's good for the projects which don't need maintenance like students projects. Do it once, get a grade and put it in trash.

MicroController
Posts: 1708
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: IDF version incompatibility making trouble

Postby MicroController » Wed Jul 31, 2024 11:28 am

slh_binary wrote:
Wed Jul 31, 2024 10:24 am
Clone is successful, compile is not successful as I said even the standard example e.g. blink.
I have about 5 different IDF versions cloned and installed a.t.m., and I can switch between them as desired. Setting up may not be as straight-forward as it could be (some manual editing of a config file needed, IIRC), but it is possible.

slh_binary
Posts: 10
Joined: Mon Mar 29, 2021 9:53 am

Re: IDF version incompatibility making trouble

Postby slh_binary » Wed Jul 31, 2024 12:00 pm

Nope. It is only possible for versions 4.4.8 and above, not older versions like 4.2 that I worked. I don't waste my time for IDF anymore.

eriksl
Posts: 116
Joined: Thu Dec 14, 2023 3:23 pm
Location: Netherlands

Re: IDF version incompatibility making trouble

Postby eriksl » Wed Jul 31, 2024 4:24 pm

So... What's your alternative then? Ditching all of IDF and create your own SDK upon the HAL? Looks to me like the medicine is worse than the cure. Keep in mind you can't even work around some parts of the HAL/LL/IDF because some of the hardware is NDA/proprietary so access isn't documented.

Or throw in the towel and switch to some environment meant for newbies, like Arduino?

slh_binary
Posts: 10
Joined: Mon Mar 29, 2021 9:53 am

Re: IDF version incompatibility making trouble

Postby slh_binary » Wed Jul 31, 2024 4:56 pm

I'm not sure ESP ATCommands meet my needs, but I'm thinking about company "Nordic Semiconductor" with their SDK & tools.

Who is online

Users browsing this forum: Majestic-12 [Bot] and 67 guests