Recently esp guys from espressif have partially ported the simplefoc library to thier main repo.
Here is the link:
They have made quite a few changes to the low-level code and main classes. I was wondering if someone has already tested their implementation and compared the performance.
It would be interesting to see some stats and maybe we can backpropagate some of their changes to the simplefoc as well.
Especially since their solution seems to be thread safe
But I canāt really find huge changes - it doesnāt look like they changed that much in their fork of the library:
And the changes in their ācomponentā are a bit hard to follow - it looks like they changed parts of BLDCDriver3PWM and implemented some sensor classes to use their APIs directly.
They did implement the optimized sine and cosine funciton
As well as some different hendling of the low level pwm setting which might be more performant with respect to what we have. It is implemented in
But as you said their changes are very specific and not substantial, so they more seem to restrict than to restrict the usage of simplefoc than to enable new things.
When I saw it, I was wondering if someone has used it and see if there are some features that we should consider including as well.
Also they have this example applications of multiple motors running in real time os within one esp32.
I remember that people trying to use our library had troubles with it some time ago, and the Espresif guys seem to target exactly that kind of applications with their port. Since Iāve never tried it in my setups I was wondering if someone else did and is there some specific changes that we can integrate in our library to enable that.
These questions are just āa quick readā type of questions, I did not really go in detail of their implementation.
I agree, I think they want things to be easy to use for their customers.
I think theyāre targeting the users of their Espressif IDE who code primarily against their Espressif APIs, and maybe donāt use Arduino at all, or not in the ESP32 product theyāre working on.
And so Espressif is just quite pragmatic: in their Arduino core there is the whole FreeRTOS and Espressif APIs available in the background, and now theyāre doing it the other way round too - Arduino libraries get wrapped with enough of a translation layer to make them work in Espressif IDE.
I saw that the newest versions of the Espressif cores (3.0?) have some breaking API changes. Some of the APIs we were using I think are completely replaced with new ones. I need to look into it more⦠Maybe their adaptation is already using the new APIs?
Thatās great! We should time it to make sure itās actually an optimisation (e.g. on STM32 CORDIC is fastest, but only if you donāt use the HAL functions, and dekuās LUT version is still faster than the arm_math.h m4 optimised version - so its worth checking that their optimisation is actually better). Then we could include it in the examples for people to use.
Another good find, and something we should include also as an example (or link to theirs?) because people have asked about this more than once alreadyā¦
Hello,
Iām trying to use the ESP-IDF SimpleFOC component, but Iām having trouble measuring current.
I canāt build my program using InLineCurrentSense or LowsideCurrentSense.
Do you know if current measurement is supported, or if I should resort to an Arduino environment?