-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot Receive Transaction over 32768 bytes #56
Comments
Could you try again with https://community.platformio.org/t/how-to-set-up-log-level-to-be-able-to-debug-the-esp32/8278 |
This is what it looked like for a 50000 byte transfer. It says the receive size is 17232 (50000 minus 32768). [D][ESP32DMASPISlave.h:112] spi_slave_task(): [ESP32DMASPISlave] spi_slavve_task start |
Hmm, then ESP32's API does not receive more than 32768 bytes. The API does not limit the transfer size to it (and in my library). I'd like to confirm if the master really sends more than 32768 bytes. It is wrapped by signed 16 bits (int16_t). Does the master can send bytes more than the max of int16_t? |
I am using a logic analyzer to view the SPI messages so I can confirm it is actually 50000 bytes. It might just be an ESP32 API issue then. |
Yes, maybe limited by esp-idf for ESP32-S3 esp-rs/esp-idf-hal#377 |
Closing this issue because this library does not cause it |
If my SPI transfer is over 32768 bytes, it seems like the receive size I get back will always be the size of the transfer minus 32,768 (if I do a 50000 byte transfer, my received_bytes will be 17232). My buffer size is well over 32,768 so I don't think that is the issue. I feel like it might be an overflow issue somewhere since 32,768 is the max value of a signed 16-bit integer. My SPI device i is sending data at 2 MHz. I've attached my code below. I am running on an ESP32-S3 on PlatformIO.
The text was updated successfully, but these errors were encountered: