This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

SDK 11 spi slave bug.

Hi,

I think there is the bug in SDK11 Spi slave protocol. After a msg is received from the SPI Master, I notice that the spi slave event always have the rx_amount and tx_amount reverted. After further inspection I notice there is a bug in the inline function nrf_spis_tx_amount_get() and nrf_spis_rx_amount_get(), look like they return the wrong register field, which cause the rx and tx amount being reverted.

__STATIC_INLINE uint8_t nrf_spis_tx_amount_get(NRF_SPIS_Type const * p_spis) { return (uint8_t) p_spis->AMOUNTRX; }

__STATIC_INLINE uint8_t nrf_spis_rx_amount_get(NRF_SPIS_Type const * p_spis) { return (uint8_t) p_spis->AMOUNTTX; }

I also notice that if I set he tx buffer len to 0 before the event come in, when it came, I expected the value of AMOUNTTX to be zero, but instead this value equal to whatever the value of AMOUNTRX is. Is this the expected behavior?

Thansk, Kevin.

Related