Fork of https://os.mbed.com/users/sebastiken/code/Adafruit_RA8875/ ; Adapted for use with K64F and in the process of adding more functions.
main.cpp@0:66c1aa3d198e, 2017-09-08 (annotated)
- Committer:
- sebastiken
- Date:
- Fri Sep 08 14:05:04 2017 +0000
- Revision:
- 0:66c1aa3d198e
- Child:
- 2:040a687cea93
[WIP] Migrate code from Arduino Lib Adafruit_RA8875 to Mbed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sebastiken | 0:66c1aa3d198e | 1 | #include "RA8875.h" |
sebastiken | 0:66c1aa3d198e | 2 | //#include "Adafruit_GFX.h" |
sebastiken | 0:66c1aa3d198e | 3 | |
sebastiken | 0:66c1aa3d198e | 4 | // Library only supports hardware SPI at this time |
sebastiken | 0:66c1aa3d198e | 5 | // Connect SCLK to UNO Digital #13 (Hardware SPI clock) |
sebastiken | 0:66c1aa3d198e | 6 | // Connect MISO to UNO Digital #12 (Hardware SPI MISO) |
sebastiken | 0:66c1aa3d198e | 7 | // Connect MOSI to UNO Digital #11 (Hardware SPI MOSI) |
sebastiken | 0:66c1aa3d198e | 8 | #define MOSI PTD6 |
sebastiken | 0:66c1aa3d198e | 9 | #define MISO PTD7 |
sebastiken | 0:66c1aa3d198e | 10 | #define SCLK PTD5 |
sebastiken | 0:66c1aa3d198e | 11 | #define CS PTD4 |
sebastiken | 0:66c1aa3d198e | 12 | #define RST PTD2 |
sebastiken | 0:66c1aa3d198e | 13 | |
sebastiken | 0:66c1aa3d198e | 14 | |
sebastiken | 0:66c1aa3d198e | 15 | Adafruit_RA8875 tft = Adafruit_RA8875(MOSI, MISO, SCLK, CS, RST); |
sebastiken | 0:66c1aa3d198e | 16 | uint16_t tx, ty; |
sebastiken | 0:66c1aa3d198e | 17 | |
sebastiken | 0:66c1aa3d198e | 18 | Serial pc(USBTX, USBRX); // tx, rxSerial pc(USBTX, USBRX); // tx, rx |
sebastiken | 0:66c1aa3d198e | 19 | |
sebastiken | 0:66c1aa3d198e | 20 | int main() |
sebastiken | 0:66c1aa3d198e | 21 | { |
sebastiken | 0:66c1aa3d198e | 22 | pc.baud(9600); |
sebastiken | 0:66c1aa3d198e | 23 | pc.printf("RA8875 start\n"); |
sebastiken | 0:66c1aa3d198e | 24 | |
sebastiken | 0:66c1aa3d198e | 25 | /* Initialise the display using 'RA8875_480x272' or 'RA8875_800x480' */ |
sebastiken | 0:66c1aa3d198e | 26 | if (!tft.begin(RA8875_480x272)) { |
sebastiken | 0:66c1aa3d198e | 27 | pc.printf("RA8875 Not Found!\n"); |
sebastiken | 0:66c1aa3d198e | 28 | while (1); |
sebastiken | 0:66c1aa3d198e | 29 | } |
sebastiken | 0:66c1aa3d198e | 30 | |
sebastiken | 0:66c1aa3d198e | 31 | tft.displayOn(true); |
sebastiken | 0:66c1aa3d198e | 32 | tft.GPIOX(true); // Enable TFT - display enable tied to GPIOX |
sebastiken | 0:66c1aa3d198e | 33 | tft.PWM1config(true, RA8875_PWM_CLK_DIV1024); // PWM output for backlight |
sebastiken | 0:66c1aa3d198e | 34 | tft.PWM1out(255); |
sebastiken | 0:66c1aa3d198e | 35 | tft.fillScreen(RA8875_BLACK); |
sebastiken | 0:66c1aa3d198e | 36 | |
sebastiken | 0:66c1aa3d198e | 37 | /* Switch to text mode */ |
sebastiken | 0:66c1aa3d198e | 38 | tft.textMode(); |
sebastiken | 0:66c1aa3d198e | 39 | |
sebastiken | 0:66c1aa3d198e | 40 | |
sebastiken | 0:66c1aa3d198e | 41 | |
sebastiken | 0:66c1aa3d198e | 42 | /* Set a solid for + bg color ... */ |
sebastiken | 0:66c1aa3d198e | 43 | |
sebastiken | 0:66c1aa3d198e | 44 | /* ... or a fore color plus a transparent background */ |
sebastiken | 0:66c1aa3d198e | 45 | |
sebastiken | 0:66c1aa3d198e | 46 | |
sebastiken | 0:66c1aa3d198e | 47 | /* Set the cursor location (in pixels) */ |
sebastiken | 0:66c1aa3d198e | 48 | tft.textSetCursor(10, 10); |
sebastiken | 0:66c1aa3d198e | 49 | |
sebastiken | 0:66c1aa3d198e | 50 | /* Render some text! */ |
sebastiken | 0:66c1aa3d198e | 51 | char string[15] = "Hello, World! "; |
sebastiken | 0:66c1aa3d198e | 52 | tft.textTransparent(RA8875_WHITE); |
sebastiken | 0:66c1aa3d198e | 53 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 54 | tft.textColor(RA8875_WHITE, RA8875_RED); |
sebastiken | 0:66c1aa3d198e | 55 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 56 | tft.textTransparent(RA8875_CYAN); |
sebastiken | 0:66c1aa3d198e | 57 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 58 | tft.textTransparent(RA8875_GREEN); |
sebastiken | 0:66c1aa3d198e | 59 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 60 | tft.textColor(RA8875_YELLOW, RA8875_CYAN); |
sebastiken | 0:66c1aa3d198e | 61 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 62 | tft.textColor(RA8875_BLACK, RA8875_MAGENTA); |
sebastiken | 0:66c1aa3d198e | 63 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 64 | |
sebastiken | 0:66c1aa3d198e | 65 | /* Change the cursor location and color ... */ |
sebastiken | 0:66c1aa3d198e | 66 | tft.textSetCursor(100, 100); |
sebastiken | 0:66c1aa3d198e | 67 | tft.textTransparent(RA8875_RED); |
sebastiken | 0:66c1aa3d198e | 68 | /* If necessary, enlarge the font */ |
sebastiken | 0:66c1aa3d198e | 69 | tft.textEnlarge(1); |
sebastiken | 0:66c1aa3d198e | 70 | /* ... and render some more text! */ |
sebastiken | 0:66c1aa3d198e | 71 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 72 | tft.textSetCursor(100, 150); |
sebastiken | 0:66c1aa3d198e | 73 | tft.textEnlarge(2); |
sebastiken | 0:66c1aa3d198e | 74 | tft.textWrite(string); |
sebastiken | 0:66c1aa3d198e | 75 | } |