Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: Display/TFT.h
- Revision:
- 7:bb0383b91104
- Parent:
- 6:8356d48a07db
- Child:
- 8:26757296c79d
--- a/Display/TFT.h Mon Feb 16 01:18:29 2015 +0000
+++ b/Display/TFT.h Tue Feb 17 11:02:06 2015 +0000
@@ -85,7 +85,7 @@
*/
virtual void copy_to_lcd(){ };
- /** invert the screen
+ /** display inverted colors
*
* @param o = 0 normal, 1 invert
*/
@@ -114,6 +114,40 @@
*/
virtual void BusEnable(bool enable);
+ /** Set scroll area boundaries
+ * scroll is done in hw but only on the native vertical axis
+ * TFTs are mainly native protrait view, so horizontal scroll if rotated in landscape view
+ *
+ * @param startY boundary offset from top (or left if rotated), 0 for fullscreen scroll
+ * @param areasize size of the scroll area, 480 for fullscreen scroll of a 320x480 display
+ */
+ void setscrollarea (int startY, int areasize);
+
+ /** Scroll up(or left) the scrollarea
+ *
+ * @param lines number of lines to scroll, 1= scrollup 1, areasize-1= scrolldown 1
+ */
+ void scroll (int lines);
+
+ /** Reset the scrollarea and display un-scrolled screen
+ *
+ */
+ void scrollreset();
+
+ /** get display X size in pixels (native, orientation independent)
+ * @returns X size in pixels
+ */
+ int sizeX();
+
+ /** get display X size in pixels (native, orientation independent)
+ * @returns screen height in pixels.
+ */
+ int sizeY();
+
+ unsigned int tftID;
+
+
+
protected:
@@ -165,38 +199,44 @@
*/
virtual void wr_grambuf(unsigned short* data, unsigned int lenght);
- /** Read 4x8bit data from display controller (with dummy cycle)
- *
- * @returns data as uint
- *
- */
- virtual unsigned int rd_data32_wdummy();
-
/** Read 16bit pixeldata from display controller (with dummy cycle)
*
* @returns 16bit color
*/
virtual unsigned short rd_gram();
+ /** Read 4x8bit register data (with dummy cycle)
+ * @param reg the register to read
+ * @returns data as uint
+ *
+ */
+ virtual unsigned int rd_reg_data32(unsigned char reg);
+
+ /** Read 3x8bit ExtendedCommands register data
+ * @param reg the register to read
+ * @param SPIreadenablecmd vendor/device specific cmd to read EXTC registers
+ * @returns data as uint
+ * @note EXTC regs (0xB0 to 0xFF) are read/write registers but needs special cmd to be read in SPI mode
+ */
+ virtual unsigned int rd_extcreg_data32(unsigned char reg, unsigned char SPIreadenablecmd);
+
/** HW reset sequence (without display init commands)
*/
void hw_reset();
+ /** Try to identify display ID
+ * @note support ILI9341,94xx, MIPI standard. May be be overridden in Init class for other specific IC
+ */
+ virtual void identify();
+
unsigned int scrollbugfix;
bool mipistd;
private:
Protocols* proto;
- const int LCDSIZE_X;
- const int LCDSIZE_Y;
- // const int LCDPAGES;
- // const int IC_X_SEGS;
- // const int IC_Y_COMS;
- // const int IC_PAGES;
-
- // int page_offset;
- // int col_offset;
+ const int screensize_X;
+ const int screensize_Y;
// pixel location
int cur_x;
int cur_y;
@@ -206,7 +246,8 @@
int win_y1;
int win_y2;
int orientation;
- unsigned int tftID;
+ int topfixedareasize;
+ int scrollareasize;
bool useNOP;
};