SPI Driver code and unit test.