From 5f047aa9db6b23a6120fa777d4dd39a6db5438fa Mon Sep 17 00:00:00 2001 From: prenticedavid Date: Sat, 19 Mar 2016 20:54:08 +0000 Subject: [PATCH] added README --- README.md | 66 ++++++++++++++++++++++++++++++ mcufriend_history.txt | 94 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 160 insertions(+) create mode 100644 README.md create mode 100644 mcufriend_history.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..97d0b59 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +1. Install library from GitHub into your User libraries folder if not already there. + +2. Unzip the attached "MCUFRIEND_kbv.zip" into your User libraries folder. + +3. Insert your Mcufriend style display shield into UNO. Only 28-pin shields are supported. + +4. Start your Arduino IDE. + +5. Build any of the Examples from the File->Examples->Mcufriend_kbv menu. +Most of them will write some text to the Serial window (9600 baud). The BMP examples require you to copy the pictures from the bitmaps/ folder to your microSD (root directory) + +6. This library is only intended for UNO and these specific Shields. It will work on a MEGA2560 but not very fast. + +7. The constructor takes no arguments (because it only works with these shields) + +8. The examples are the standard Adafruit ones. You can see my edits by searching for "kbv" + +9. Any Adafruit sketch should work with the MCUFRIEND_kbv constructor() but should allow extra ID values +An Adafruit constructor(cs, rs, wr, rd, rst) IGNORES any arguments. i.e. it only uses the shield control pins + +10. It currently supports UNO shields with "mcufriend.com" pcbs with controllers: +----- HX8347-A 240x320 ID=0x8347 new Untested +HX8347-D 240x320 ID=0x4747 +HX8347-I 240x320 ID=0x9595 +ILI9302 240x320 ID=0x9302 +ILI9320 240x320 ID=0x9320 +ILI9325 240x320 ID=0x9325 +ILI9327 240x400 ID=0x9327 +ILI9329 240x320 ID=0x9329 +ILI9335 240x320 ID=0x9335 +ILI9338 240x320 ID=0x9338 +ILI9341 240x320 ID=0x9341 +ILI9481 320x480 ID=0x9481 +ILI9486 320x480 ID=0x9486 +ILI9488 320x480 ID=0x9488 +LGDP4535 240x320 ID=0x4535 +RM68090 240x320 ID=0x6809 +R61505V 240x320 ID=0xB505 +R61505W 240x320 ID=0xC505 new Untested +R61509V 240x400 ID=0xB509 +----- S6D0139 240x320 ID=0x0139 removed due to lack of tester +S6D0154 240x320 ID=0x0154 +SPFD5408 240x320 ID=0x5408 +----- SSD1963 800x480 ID=0x1963 new Untested +SSD1289 240x320 ID=0x1289 +ST7781 240x320 ID=0x7783 +ST7789V 240x320 ID=0x7789 + +11. It should run on a UNO, MEGA2560, LEONARDO, DUE, ZERO and M0-PRO. + +12. These Mcufriend-style shields tend to have a resistive TouchScreen on A1, 7, A2, 6 but are not always the same rotation of direction. +Run the TouchScreen_Calibr_kbv.ino sketch to diagnose your model and then scale the result from TouchScreen.h methods() +The Resistive TouchScreen does not work on the Due. It seems to be upset by sharing pins. I have discovered why. +(You need a new Touch library.) + +13. The aspect_kbv.ino sketch should show the 4 different rotations. Please report the results for an ILI9335, ILI9327. + +14. The scroll_kbv.ino sketch should scroll a window or subwindow for most chips. Not all chips can scroll. + +15. The readpixel_kbv.ino sketch should display memory in each aspect. + +16. The GLUE_Demo_320x240.ino sketch uses a "GLUE" class to display a UTFT sketch on supported mcufriend shields. + It is NOT perfect. Please report any problems. It is designed as a CONVENIENCE for legacy UTFT code. + Please use MCUFRIEND_kbv method()s in new code. + +CHANGE HISTORY: is now in "mcufriend_history.txt" diff --git a/mcufriend_history.txt b/mcufriend_history.txt new file mode 100644 index 0000000..d96ca9d --- /dev/null +++ b/mcufriend_history.txt @@ -0,0 +1,94 @@ +CHANGE HISTORY: + +Will Never Happen: + ILI9327 vertical scroll will ALWAYS be limited in Landscape and Portrait_Rev + ST7781 vert scroll is not implemented + ILI9320, 9325, ... can never vert scroll sub-window + Itead CPLD with ID=0x3082 ... will never work + +To Be Fixed: + SSD1963 has bad aspects. + GLUE Demo seems ok now + +v2.81: posted ....... NOT YET + MCUFRIEND_kbv.cpp: + Added ILI9302 + Added ILI9338 + Added HX8347-I + +v2.8: posted 26 February 2016 + MCUFRIEND_kbv.cpp: LANDSCAPE is now 90 degrees instead of 270 degrees + methods branch on MIPI / 9320 style + Added SPFD5408 + Added R61505W Untested + Added HX8347-A Untested + Added SSD1963 Untested + graphictest_kbv.ino: smaller buffer for Software Scroll. Just fits in Uno Flash + TouchScreen_Calibr_kbv: wait for consistent Touch + LCD_ID_readreg: Added some more registers + +v2.7: posted ........ NOT YET +v2.6: posted ........ NOT YET + MCUFRIEND_kbv.cpp: + Added R65105V + +v2.5: posted 11 January 2016 + MCUFRIEND_kbv.cpp: + Added ST7789V + Added RM68090 + Added ILI9481 + Added pushColors() from Flash + Improved downward Vertical Scroll. API is changed. + ILI9327 should work in all aspects. vertical scroll in PORT/LAND_REV + S6D0154 should vertical scroll a subwindow + + graphictest_kbv.ino: smooth colour gradation on rounded rectangle tests on bigger displays + added colour grading range. + added vertical scroll down + improve messages + + graphictest_slim.ino: reduced-fat version of graphictest_kbv.ino + testcard_kbv.ino: drawn version of common BMP photo. + scroll_kbv.ino: changed vertScroll() call for new API + + UTFTGLUE.h: improve calculate width and height of rectangles from coordinates. + +v2.4: posted 10 December 2015 + MCUFRIEND_kbv.cpp: LGDP4535 initialisation table fixed - UNTESTED + +v2.3: posted 8 December 2015 + MCUFRIEND_kbv.cpp: added S6D0139 UNTESTED + detect EXTC=0 ILI9341 shield from DX with ID == 0x0000. drive in RGB mode + ILI9327 should Vertical Scroll now. UNTESTED + UTFTGLUE.h: extra print(const char*) method to avoid warning messages + + graphictest_kbv.ino: software scroll a smaller block at top of screen + GLUE_Demo_320x240: removed unnecessary "include Adafruit_TFTLCD.h" + aspect_kbv.ino: invert display when in different aspects + readpixel_kbv.ino: support smaller geometries + LCD_ID_readreg.ino: report some more regs + TouchScreen_Calibr_kbv: for resistive Touch screens like on Mcufriend shields + UTouch_Calibr_kbv: can use UTouch.h library for hardware Touch Controllers (and UTFT) + +v2.2: posted 15 November 2015 + MCUFRIEND_kbv.cpp: changed readGRAM() for ILI9327, ILI9486, + added REV_SCREEN flag to _lcd_capable + implement invertDisplay() + added LGDP4535 + ILI9327: set Partial Area to 0, 399 + MCUFRIEND_kbv.h: USE_GFX_KBV default argument: println(char *s="") + MCUFRIEND_shield.h: regular Uno shield drivers for Uno, Mega, Leonardo, Due, Zero + MCUFRIEND_special.h: experimental drivers + UTFTGLUE.h: identity kludges for non-UNO shields + LCD_ID_readreg.ino: report reg(0x09) + +v2.1: posted 9 November 2015 + MCUFRIEND_kbv.cpp: return 0x9327 / 0x9481 in readID() + MCUFRIEND_shield.h: increase low pulse width in RD_STROBE + EXAMPLES/: add scroll_kbv.ino sketch + edit readpixel_kbv_ino, aspect_kbv.ino + +v2.0: posted 8 November 2015 + Massive changes from v1.0 + +