Hi Lucas,
I hope you likewise had a nice holiday.
How I understand it is that the Morse Micro IoT SDK communicates with the Host MCU on your Reference Platforms (e.g. mm-mm6108-ekh05 or mm-ekh08-f429) with the functions specified in the SDK. I also found the functions for that use case in the WLAN HAL API for the SPI interface. These functions are used to instruct the Host MCU in your Reference Platforms to send the right SPI commands and should not even be used for development but rather only from your library.
That’s correct. We provide a library containing the necessary driver and UMAC implementation (labeled morselib in the block diagram below). You will need to link this into the application you are developing. We provide several variants of the library, compiled for most common architectures. What platform are you using?
If we do not already provide a reference implementation for your platform (BSP shim in the block diagram), you will need to implement the appropriate HAL API functions for your platform. You will also need an RTOS – we recommend FreeRTOS as we include support for this in our SDK, but you can also take a look at GitHub - MorseMicro/mm-iot-zephyr if you are interested in Zephyr.
We recommend first getting the “porting_assistant” example application running on your platform. That will help you flush out any hardware and low-level software issues. Once that works you can integrate with your own application. Your application can use the WLAN API (defined in mmwlan.h) to manage the WLAN interface (e.g., scan, connect, etc.). You can send and receive data using your network stack of choice (LWIP is recommended, and we include a reference implementation as part of our SDK).
Kind regards,
Matt