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.