Added SPI burst mode to spi 8 bit.

Dependents:   Bicycl_Computer_NUCLEO-F411RE Bicycl_Computer_NUCLEO-L476RG

Fork of UniGraphic by GraphicsDisplay

Added SPI burst mode to this graphics driver. If whoever wants this rolled in to repository let me know. I replaced _spi.write(); with fastWrite(); and clearRX();

SPI8.cpp

// need to re-create SPI firmware to access SPI handle
static SPI_HandleTypeDef SpiHandle;

void SPI8::fastWrite(int data) {
    
      SpiHandle.Instance = SPI1;
    // Check if data is transmitted
    while ((SpiHandle.Instance->SR & SPI_SR_TXE) == 0);
    SpiHandle.Instance->DR = data;
}
    
void SPI8::clearRX( void ) {
        SpiHandle.Instance = SPI1;
    //Check if the RX buffer is busy
    //While busy, keep checking
    while (SpiHandle.Instance->SR & SPI_SR_BSY){   
        // Check RX buffer readable
        while ((SpiHandle.Instance->SR & SPI_SR_RXNE) == 0);
        int dummy = SpiHandle.Instance->DR;
    }
}      
Revision:
35:782de649ef6f
Parent:
16:244f9563ebc1
--- a/Graphics/GraphicsDisplay.cpp	Fri Apr 28 01:45:26 2017 +0000
+++ b/Graphics/GraphicsDisplay.cpp	Thu Jul 20 19:32:58 2017 +0000
@@ -355,6 +355,22 @@
     if(auto_up) copy_to_lcd();
 }
 
+//Draw XBitMap Files (*.xbm), exported from GIMP,
+//Usage: Export from GIMP to *.xbm, rename *.xbm to *.c and open in editor.
+//C Array can be directly used with this function
+void GraphicsDisplay::drawXBitmap(int16_t x, int16_t y,const uint8_t *bitmap, int16_t w, int16_t h,uint16_t color) {
+  int16_t i, j, byteWidth = (w + 7) >> 3;
+  window(x, y, w, h);
+  
+    for (j=0; j<h; j++) {
+    for (i=0; i<w; i++ ) {
+      if (*(bitmap + j * byteWidth + (i >> 3)) & (1 << (i & 7))) { 
+        pixel(x+i, y+j, color);
+      }  
+    }
+  }
+}
+
 // local filesystem is not implemented in kinetis board , but you can add a SD card
 // fixme this whole functions needs testing and speedup
 int GraphicsDisplay::BMP_16(int x, int y, const char *Name_BMP)