Interrupt-driven SPISlave

Is there any other way to run as an SPI slave other than polling for received messages? This is a very unreliable implementation, specially in multi-threaded environments where the polling thread might not have the highest priority, or in ultra low-power devices where polling the SPI port means staying awake draining power.
I tried to implement an interrupt-driven solution by using the chip select pin as an interrupt too, but that didn’t help with performance issues either.
Given that the SPISlave class is so bare, why not provide access to the SPI instance (it is currently protected) to allow further usage of it? Is there any other type of implementation coming such as interrupt-driven or DMA for SPISlave?

Hi Arturo,

We understand async SPI slave is needed for practical use case, it’s on our radar, but unfortunately it won’t be carried out in the near future.

Regards,
Desmond