lwesp icon indicating copy to clipboard operation
lwesp copied to clipboard

Feature proposal: Support for SDIO in stead of UART communication

Open tvandergeer opened this issue 4 years ago • 3 comments

Please see this question (not mine) on the esp-at issues list: https://github.com/espressif/esp-at/issues/379

For my use case I'm downloading large files (>10MB) and even using a relatively high UART clock rate of 2.000.000 this takes a few minutes. (My assumption is that the clock rate of the UART is the bottleneck here)

I am exploring possibilities to improve the performance. So after reading the above issue and reading up on the low level driver documentation for your library I thought it should be feasible.

Do you have any thoughts on this? Did you ever try this? My target platform is an STM32 MCU.

NB. After writing this message I found that the same user that posted the above question to the esp-at issues also send in an issue for this project: https://github.com/MaJerle/esp-at-lib/issues/60 It looks like he's attempting to do the same...

tvandergeer avatar May 05 '20 12:05 tvandergeer

This is fully valid request. I'm considering it for some time now but I have high lack of time to implement this. Next feature that will be supported is built-in MQTT and AT over SPI.

MaJerle avatar May 06 '20 13:05 MaJerle

Ah! I was not aware that AT over SPI was an option too. But I researched it and found the “AT through HSPI” option. However it’s not showing up in make menuconfig. I suspect that this is because I’m using an ESP32 and this feature is limited to ESP8266, but I’m not sure. The Readme file here specifically names it “ESP8266 AT through SPI” but that might just be an inconsistency in the documentation.

In thisremark one of the esp-at project contributors suggests to use SDIO over SPI.

I’m considering to investigate this a bit further and play around with the SDIO example where 2 ESP32’s are connected via SDIO. Based on the results and what I learn from this I might start on an STM32 port.

tvandergeer avatar May 09 '20 15:05 tvandergeer

Ah! I was not aware that AT over SPI was an option too. But I researched it and found the “AT through HSPI” option. However it’s not showing up in make menuconfig. I suspect that this is because I’m using an ESP32 and this feature is limited to ESP8266, but I’m not sure. The Readme file here specifically names it “ESP8266 AT through SPI” but that might just be an inconsistency in the documentation.

In thisremark one of the esp-at project contributors suggests to use SDIO over SPI.

I’m considering to investigate this a bit further and play around with the SDIO example where 2 ESP32’s are connected via SDIO. Based on the results and what I learn from this I might start on an STM32 port.

host at spi This is an example of AT on the host side (STM32). The MCU works on the spi and the ESP32 works on the SPI mode of SDIO. The TCP throughput is about 1.2MBytes/s.

caowent avatar Jul 01 '20 02:07 caowent