Hi Tim, On 10/28/22, Tim Hardisty <t...@jti.uk.com.invalid> wrote: > Bit of a tangential question this, but I know there are folk on here who > are much more conversant with the way NuttX can be used with WiFi and > Bluetooth modules than I am. >
I think these are important questions and other people could face similar issues in the future. > I may have an opportunity forced on me to have to respin my custom board > which currently has a SiLabs Bluetooth SoC as well as the main SAMA5D2 > processor. I used that module as I already have experience of it - but that > predates my NuttX journey. > > I see there are some very good value combined WiFi + Bluetooth modules now > (Espressif for example...and I know there's a well-known proponent of those > devices here lol) and, having seen a few other questions here, I am thinking > that I can go the HCI route and make use of the Bluetooth Stack in NuttX: > and add WiFi capability to my board at the same time. Winner! > First let me explain the differences: Espressif modules are not used as external modules on NuttX, everything is integrated inside the chip. During the WildernessLab's presentation on NuttX Workshop their team shown an ESP32 solution sharing WiFi as an external module. But they didn't use the default USRSOCK route, they implemented a new solution at home. > I'm hoping I can program up a suitable module with generic radio > co-processor software (HCI I think, and whatever is needed for WiFi) and > access it via UART from my main processor and have it all under the NuttX > system in a much more easily managed manner than a separate app on the > SiLabs SoC that just happens to communicate on some way with my main app on > the SAMA5D2. > > Have I got this right? Is an Espressif module a good choice (email me direct > if you want to !!)? > For Bluetooth (BLE) if there is a HCI firmware to SiLabs chip, then it could be possible to you use it, but you'll need to do some tests and debugging to get things working. For WiFi things are more complex because you need to implement a USRSOCK yourself to the chip. I never tested others possibilities: i.e. share Internet using SLIP between ESP32 and SAMA5D2, should be an easier route if it works, but of course you wil be limited to UART speed. Ethernet could be a better option (since ESP32 has Ethernet hardware), but it seems like an ugly and expensive workaround. BR, Alan