IDF version incompatibility making trouble
-
- Posts: 10
- Joined: Mon Mar 29, 2021 9:53 am
IDF version incompatibility making trouble
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?
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?
-
- Posts: 9708
- Joined: Thu Nov 26, 2015 4:08 am
Re: IDF version incompatibility making trouble
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.
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.
-
- Posts: 10
- Joined: Mon Mar 29, 2021 9:53 am
Re: IDF version incompatibility making trouble
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!
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.
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!
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 redwe need that to support new hardware
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.
Re: IDF version incompatibility making trouble
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.
-
- Posts: 1688
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: IDF version incompatibility making trouble
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.
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.
-
- Posts: 10
- Joined: Mon Mar 29, 2021 9:53 am
Re: IDF version incompatibility making trouble
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.
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.
-
- Posts: 1688
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: IDF version incompatibility making trouble
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 wrote: ↑Wed Jul 31, 2024 10:24 amClone is successful, compile is not successful as I said even the standard example e.g. blink.
-
- Posts: 10
- Joined: Mon Mar 29, 2021 9:53 am
Re: IDF version incompatibility making trouble
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.
Re: IDF version incompatibility making trouble
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?
Or throw in the towel and switch to some environment meant for newbies, like Arduino?
-
- Posts: 10
- Joined: Mon Mar 29, 2021 9:53 am
Re: IDF version incompatibility making trouble
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: Baidu [Spider] and 94 guests