![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Demo for FT800 library. 7 sliders are used to control the RGB color, size & position.
HARDWARE:
- Board FRDM-K64F
- Display TFT 4.3" 480 x 272 (RVT43ULFNWC03)
- Break Out Board 20
- Cable FFC, 0.5mm pitch, 20 pin, 150 mm
CONNECTION:
------------------------------------
FRDM-K64F Break Out Board
------------------------------------
+3.3V --- Pin 17 BLVDD
+3.3V --- Pin 1 VDD
GND --- Pin 2 GND
D13 (PTD1) SCLK --- Pin 3 SPI SCLK
D12 (PTD3) MISO --- Pin 4 MISO
D11 (PTD2) MOSI --- PIN 5 MOSI
D10 (PTD0) --- Pin 6 CS
D9 (PTC4) --- Pin 7 INT
D8 (PTC12) --- Pin 8 PD
------------------------------------
main.cpp@1:e4305b342044, 2020-12-06 (annotated)
- Committer:
- nz
- Date:
- Sun Dec 06 13:41:59 2020 +0000
- Revision:
- 1:e4305b342044
- Parent:
- 0:a3a642a3024c
- Child:
- 2:d913edc0f712
updated
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nz | 1:e4305b342044 | 1 | /* |
nz | 1:e4305b342044 | 2 | * Copyright (c) 2020 Nikolai Zimfer |
nz | 1:e4305b342044 | 3 | * MIT License: http://mbed.org/license/mit |
nz | 1:e4305b342044 | 4 | * |
nz | 1:e4305b342044 | 5 | * |
nz | 1:e4305b342044 | 6 | * HARDWARE: |
nz | 1:e4305b342044 | 7 | * Board FRDM-K64F - https://os.mbed.com/platforms/FRDM-K64F/ |
nz | 1:e4305b342044 | 8 | * Display 4.3" 480 x 272 (RVT43ULFNWC03) - https://riverdi.com/product/rvt43ulfnwc0x/ |
nz | 1:e4305b342044 | 9 | * Break Out Board 20 - https://riverdi.com/product/break-out-board-20/ |
nz | 1:e4305b342044 | 10 | * Cable FFC, 0.5mm pitch, 20 pin, 150 mm - https://riverdi.com/product/ffc0520150/ |
nz | 1:e4305b342044 | 11 | * |
nz | 1:e4305b342044 | 12 | * |
nz | 1:e4305b342044 | 13 | * CONNECTION: |
nz | 1:e4305b342044 | 14 | * ------------------------------------ |
nz | 1:e4305b342044 | 15 | * FRDM-K64F Break Out Board |
nz | 1:e4305b342044 | 16 | * ------------------------------------ |
nz | 1:e4305b342044 | 17 | * +3.3V --- Pin 17 BLVDD |
nz | 1:e4305b342044 | 18 | * +3.3V --- Pin 1 VDD |
nz | 1:e4305b342044 | 19 | * GND --- Pin 2 GND |
nz | 1:e4305b342044 | 20 | * D13 (PTD1) SCLK --- Pin 3 SPI SCLK |
nz | 1:e4305b342044 | 21 | * D12 (PTD3) MISO --- Pin 4 MISO |
nz | 1:e4305b342044 | 22 | * D11 (PTD2) MOSI --- PIN 5 MOSI |
nz | 1:e4305b342044 | 23 | * D10 (PTD0) --- Pin 6 CS |
nz | 1:e4305b342044 | 24 | * D9 (PTC4) --- Pin 7 INT |
nz | 1:e4305b342044 | 25 | * D8 (PTC12) --- Pin 8 PD |
nz | 1:e4305b342044 | 26 | * ------------------------------------ |
nz | 1:e4305b342044 | 27 | * |
nz | 1:e4305b342044 | 28 | * |
nz | 1:e4305b342044 | 29 | * CODE main.cpp |
nz | 1:e4305b342044 | 30 | * FT800 TFT(D11, D12, D13, D10, D9, D8); // FRDM-K64F, SPI Initialization |
nz | 1:e4305b342044 | 31 | * |
nz | 1:e4305b342044 | 32 | * |
nz | 1:e4305b342044 | 33 | * IMAGE: |
nz | 1:e4305b342044 | 34 | * https://os.mbed.com/media/uploads/nz/demo-sliders.jpg |
nz | 1:e4305b342044 | 35 | * |
nz | 1:e4305b342044 | 36 | */ |
nz | 1:e4305b342044 | 37 | |
nz | 0:a3a642a3024c | 38 | #include "mbed.h" |
nz | 0:a3a642a3024c | 39 | #include "FT800.h" |
nz | 0:a3a642a3024c | 40 | |
nz | 0:a3a642a3024c | 41 | /* |
nz | 1:e4305b342044 | 42 | FT800 TFT(MOSI,MISO,SCLK, CS, INT, PD); */ |
nz | 1:e4305b342044 | 43 | FT800 TFT( D11, D12, D13, D10, D9, D8); // FRDM-K64F, SPI Initialization |
nz | 0:a3a642a3024c | 44 | |
nz | 0:a3a642a3024c | 45 | uint32_t color; |
nz | 0:a3a642a3024c | 46 | uint8_t r = 64, g = 128, b = 192; |
nz | 0:a3a642a3024c | 47 | uint8_t w = 200, h = 200, x = 50, y = 50; |
nz | 0:a3a642a3024c | 48 | uint8_t width, height, posx, posy, tag = 0; |
nz | 0:a3a642a3024c | 49 | |
nz | 0:a3a642a3024c | 50 | void screen() |
nz | 0:a3a642a3024c | 51 | { |
nz | 0:a3a642a3024c | 52 | TFT.finishList(); |
nz | 0:a3a642a3024c | 53 | TFT.DLstart(GRAY,100); |
nz | 0:a3a642a3024c | 54 | TFT.tagMask(0); |
nz | 0:a3a642a3024c | 55 | |
nz | 0:a3a642a3024c | 56 | color = (r<<16)|(g<<8)|b; |
nz | 0:a3a642a3024c | 57 | width = w/2; |
nz | 0:a3a642a3024c | 58 | height = h/2; |
nz | 0:a3a642a3024c | 59 | posx = x/2; |
nz | 0:a3a642a3024c | 60 | posy = y/2; |
nz | 0:a3a642a3024c | 61 | |
nz | 0:a3a642a3024c | 62 | TFT.drawRect(posx, posy, posx+width, posy+height, color, 1); |
nz | 0:a3a642a3024c | 63 | |
nz | 0:a3a642a3024c | 64 | TFT.drawText(150, 2, 29, RED, OPT_FLAT, "R"); |
nz | 0:a3a642a3024c | 65 | TFT.drawText(150, 42, 29, LIME, OPT_FLAT, "G"); |
nz | 0:a3a642a3024c | 66 | TFT.drawText(150, 82, 29, BLUE, OPT_FLAT, "B"); |
nz | 0:a3a642a3024c | 67 | TFT.drawText(150,122, 29, BLACK,OPT_FLAT, "W"); |
nz | 0:a3a642a3024c | 68 | TFT.drawText(150,162, 29, BLACK,OPT_FLAT, "H"); |
nz | 0:a3a642a3024c | 69 | TFT.drawText(150,202, 29, BLACK,OPT_FLAT, "X"); |
nz | 0:a3a642a3024c | 70 | TFT.drawText(150,242, 29, BLACK,OPT_FLAT, "Y"); |
nz | 0:a3a642a3024c | 71 | |
nz | 0:a3a642a3024c | 72 | TFT.drawNumber(475, 4, 28, RED, OPT_RIGHTX, r); |
nz | 0:a3a642a3024c | 73 | TFT.drawNumber(475, 44, 28,LIME, OPT_RIGHTX, g); |
nz | 0:a3a642a3024c | 74 | TFT.drawNumber(475, 84, 28,BLUE, OPT_RIGHTX, b); |
nz | 0:a3a642a3024c | 75 | TFT.drawNumber(475,124, 28,BLACK,OPT_RIGHTX, width); |
nz | 0:a3a642a3024c | 76 | TFT.drawNumber(475,164, 28,BLACK,OPT_RIGHTX, height); |
nz | 0:a3a642a3024c | 77 | TFT.drawNumber(475,204, 28,BLACK,OPT_RIGHTX, posx); |
nz | 0:a3a642a3024c | 78 | TFT.drawNumber(475,244, 28,BLACK,OPT_RIGHTX, posy); |
nz | 0:a3a642a3024c | 79 | |
nz | 0:a3a642a3024c | 80 | TFT.drawSlider(185, 10, 245,12, OPT_3D, RED, WHITE, RED, r, 255, 1); |
nz | 0:a3a642a3024c | 81 | TFT.drawSlider(185, 50, 245,12, OPT_3D, LIME, WHITE, LIME, g, 255, 2); |
nz | 0:a3a642a3024c | 82 | TFT.drawSlider(185, 90, 245,12, OPT_3D, BLUE, WHITE, BLUE, b, 255, 3); |
nz | 0:a3a642a3024c | 83 | TFT.drawSlider(185,130, 245,12, OPT_3D, DIMGRAY,WHITE,DIMGRAY, w, 255, 4); |
nz | 0:a3a642a3024c | 84 | TFT.drawSlider(185,170, 245,12, OPT_3D, DIMGRAY,WHITE,DIMGRAY, h, 255, 5); |
nz | 0:a3a642a3024c | 85 | TFT.drawSlider(185,210, 245,12, OPT_3D, DIMGRAY,WHITE,DIMGRAY, x, 255, 6); |
nz | 0:a3a642a3024c | 86 | TFT.drawSlider(185,250, 245,12, OPT_3D, DIMGRAY,WHITE,DIMGRAY, y, 255, 7); |
nz | 0:a3a642a3024c | 87 | |
nz | 0:a3a642a3024c | 88 | TFT.DLend(); |
nz | 0:a3a642a3024c | 89 | } |
nz | 0:a3a642a3024c | 90 | |
nz | 0:a3a642a3024c | 91 | int main() |
nz | 0:a3a642a3024c | 92 | { |
nz | 0:a3a642a3024c | 93 | TFT.Init(); |
nz | 0:a3a642a3024c | 94 | |
nz | 0:a3a642a3024c | 95 | TFT.DLstart(GRAY,100); |
nz | 0:a3a642a3024c | 96 | TFT.runTouchCalibration(); |
nz | 0:a3a642a3024c | 97 | TFT.DLend(); |
nz | 0:a3a642a3024c | 98 | |
nz | 0:a3a642a3024c | 99 | while(1) |
nz | 0:a3a642a3024c | 100 | { |
nz | 0:a3a642a3024c | 101 | screen(); |
nz | 0:a3a642a3024c | 102 | |
nz | 0:a3a642a3024c | 103 | TFT.clearIntFlags(); |
nz | 0:a3a642a3024c | 104 | tag = TFT.readTag(); |
nz | 0:a3a642a3024c | 105 | |
nz | 0:a3a642a3024c | 106 | if(tag != 0) |
nz | 0:a3a642a3024c | 107 | { |
nz | 0:a3a642a3024c | 108 | if (tag == 1) r = TFT.readValue()>>8; |
nz | 0:a3a642a3024c | 109 | if (tag == 2) g = TFT.readValue()>>8; |
nz | 0:a3a642a3024c | 110 | if (tag == 3) b = TFT.readValue()>>8; |
nz | 0:a3a642a3024c | 111 | if (tag == 4) w = TFT.readValue()>>8; |
nz | 0:a3a642a3024c | 112 | if (tag == 5) h = TFT.readValue()>>8; |
nz | 0:a3a642a3024c | 113 | if (tag == 6) x = TFT.readValue()>>8; |
nz | 0:a3a642a3024c | 114 | if (tag == 7) y = TFT.readValue()>>8; |
nz | 0:a3a642a3024c | 115 | } |
nz | 0:a3a642a3024c | 116 | } |
nz | 0:a3a642a3024c | 117 | } |