Display

Dependents:   Termocamera_ironblack

Revision:
20:14daa48ffd4c
Parent:
11:b842b8e332cb
Child:
28:2b562717a864
diff -r 1bdfb971b2c1 -r 14daa48ffd4c Protocols/SPI16.h
--- a/Protocols/SPI16.h	Mon Mar 02 10:52:26 2015 +0000
+++ b/Protocols/SPI16.h	Mon Mar 23 14:08:04 2015 +0000
@@ -20,7 +20,7 @@
     * @param reset pin connected to RESET of display
     * @param DC pin connected to data/command of display
     */ 
-    SPI16(int Hz, PinName mosi, PinName miso, PinName sclk, PinName CS, PinName reset, PinName DC);
+    SPI16(int Hz, PinName mosi, PinName miso, PinName sclk, PinName CS, PinName reset, PinName DC=NC);
  
 protected:
    
@@ -99,6 +99,35 @@
     */ 
     virtual unsigned int rd_extcreg_data32(unsigned char reg, unsigned char SPIreadenablecmd);
     
+    /** ILI932x specific, does a dummy read cycle, number of bits is protocol dependent
+    * for PAR protocols: a signle RD bit toggle
+    * for SPI8: 8clocks
+    * for SPI16: 16 clocks
+    */   
+    virtual void dummyread ();
+    
+    /** ILI932x specific, select register for a successive write or read
+    *
+    * @param reg register to be selected
+    * @param forread false = a write next (default), true = a read next
+    * @note forread only used by SPI protocols
+    */   
+    virtual void reg_select(unsigned char reg, bool forread =false);
+    
+    /** ILI932x specific, write register with data
+    *
+    * @param reg register to write
+    * @param data 16bit data
+    */   
+    virtual void reg_write(unsigned char reg, unsigned short data);
+    
+    /** ILI932x specific, read register
+    *
+    * @param reg register to be read
+    * @returns 16bit register value
+    */ 
+    virtual unsigned short reg_read(unsigned char reg);
+    
     /** HW reset sequence (without display init commands)   
     */
     virtual void hw_reset();