Library for SPI on AVR

There are several drawbacks in your implementation:

  • you store the pins of MOSI, MISO and SCKL although this is just wasted memory
  • you set pin modes of MOSI, MISO and SCKL although the hardware is responsible for the pins in SPI mode
  • your implementation is not able to handle multiple devices on the SPI bus as a master

I cannot find a simple advantage compared to SPIClass but above drawbacks in addition to the one you mentioned yourself (not callable inside interrupt handlers). It's far from being a general use SPI implementation so you might have to add the special cases where this library might help. The only I currently see is to misuse the SPI interface as a replacement of an UART connection. Correct me if I'm wrong.