tmedicci commented on PR #15853: URL: https://github.com/apache/nuttx/pull/15853#issuecomment-2676313004
Hi Tomek, let me answer about these points: > * From what I understand also from other threads and updates Espressif decided to replace "legacy" driver approach with external "HAL" approach? If so this seems a breaking change and should be first discussed on the mailing list with the community. I know this may be easier to code / maintain for you but what is the impact for long term compatibility? This isn't true. We are only merging drivers that implement the same peripherals for the same arch in a single common driver. This PR is only removing duplicated code. It's easier for us - Espresfif - and for anyone on NuttX to maintain. This isn't a breaking change. The interfaces are the same, but built from a common source at `arch/xtensa/src/common/espressif/`. > * If external HAL approach is used, what are external packages dependencies required, and can code build fully offline? If no offline build is possible then what packages are required and how to setup them for offline build? This is important for our automated build and runtime testing we are working on. Please update documentation in a free moment where required :-) Offline build isn't possible at the moment. There are static libraries and header files that are downloaded from the internet. The same is true for other chips from other vendors (look for `EXTRA_LIBS`). NuttX relies on external packages for both the `nuttx` (low-level drivers, mostly) and the `nuttx-apps` repositories: NuttX was built this way. We can keep a copy of these files in a container and check the version, but I don't think offline would be possible soon. One final explanation because the name "HAL" causes a lot of confusion. We used to download the Wi-Fi library from this [esp-wireless-drivers-3rdparty](https://github.com/espressif/esp-wireless-drivers-3rdparty) repository up to 2 or 3 years ago. Espressif didn't use this library anymore on ESP-IDF because most of the Wi-Fi-related driver had been opened (the supplicant layer, for instance). What we've done so far in NuttX - especially for the Wi-Fi driver - is to provide a smaller library and build the other required files along with NuttX. These files and the smaller libraries are provided by [`esp-hal-3rdparty`](https://github.com/espressif/esp-hal-3rdparty). Particularly - talking as PMC member, not Espressif's employee - I prefer to have smaller closed libraries and have control over what is being built and linked with the final firmware. The name "HAL" doesn't reflect the real purpose of it. Please, note that this PR doesn't change anything about external libraries: it's jus t merging and removing duplicated files. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org