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

Reply via email to