Both displays functioning independently, we will use this program to bring them both into the same code.
Dependencies: SPI_TFT_ILI9341 TFT_fonts TextLCD mbed
main.cpp@0:51158f3940e0, 2017-05-24 (annotated)
- Committer:
- JHutchinson
- Date:
- Wed May 24 14:35:44 2017 +0000
- Revision:
- 0:51158f3940e0
- Child:
- 1:889816eeff83
Both displays working together, ready for inputs. Next step is loading bitmaps.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JHutchinson | 0:51158f3940e0 | 1 | |
JHutchinson | 0:51158f3940e0 | 2 | #include "mbed.h" |
JHutchinson | 0:51158f3940e0 | 3 | #include "TextLCD.h" |
JHutchinson | 0:51158f3940e0 | 4 | #include "stdio.h" |
JHutchinson | 0:51158f3940e0 | 5 | #include "SPI_TFT_ILI9341.h" |
JHutchinson | 0:51158f3940e0 | 6 | #include "string" |
JHutchinson | 0:51158f3940e0 | 7 | #include "Arial12x12.h" |
JHutchinson | 0:51158f3940e0 | 8 | #include "Arial24x23.h" |
JHutchinson | 0:51158f3940e0 | 9 | #include "Arial28x28.h" |
JHutchinson | 0:51158f3940e0 | 10 | #include "font_big.h" |
JHutchinson | 0:51158f3940e0 | 11 | |
JHutchinson | 0:51158f3940e0 | 12 | // Host PC Communication channels |
JHutchinson | 0:51158f3940e0 | 13 | Serial pc(USBTX, USBRX); // tx, rx |
JHutchinson | 0:51158f3940e0 | 14 | |
JHutchinson | 0:51158f3940e0 | 15 | // LCD instantiation |
JHutchinson | 0:51158f3940e0 | 16 | TextLCD lcd(PTC7, PTC0, PTC3, PTC4, PTC5, PTC6); // 4bit bus: rs, e, d4-d7 |
JHutchinson | 0:51158f3940e0 | 17 | |
JHutchinson | 0:51158f3940e0 | 18 | // the display has a backlight switch on board |
JHutchinson | 0:51158f3940e0 | 19 | DigitalOut LCD_LED(PTA13); |
JHutchinson | 0:51158f3940e0 | 20 | DigitalOut pwr(PTD7); |
JHutchinson | 0:51158f3940e0 | 21 | |
JHutchinson | 0:51158f3940e0 | 22 | // the TFT is connected to SPI pin 5-7 |
JHutchinson | 0:51158f3940e0 | 23 | //SPI_TFT_ILI9341 TFT(p5, p6, p7, p8, p9, p10,"TFT"); // mosi, miso, sclk, cs, reset, dc for lpc1768 |
JHutchinson | 0:51158f3940e0 | 24 | SPI_TFT_ILI9341 TFT(PTD2, PTD3, PTD1, PTD5, PTD0, PTA13,"TFT"); // mosi, miso, sclk, cs, reset, dc for frdmkl25z |
JHutchinson | 0:51158f3940e0 | 25 | |
JHutchinson | 0:51158f3940e0 | 26 | //void updateDisplay(int time, int date) { |
JHutchinson | 0:51158f3940e0 | 27 | |
JHutchinson | 0:51158f3940e0 | 28 | int main() { |
JHutchinson | 0:51158f3940e0 | 29 | |
JHutchinson | 0:51158f3940e0 | 30 | int time = 1234; |
JHutchinson | 0:51158f3940e0 | 31 | int date = 221217; |
JHutchinson | 0:51158f3940e0 | 32 | int temp = 27; |
JHutchinson | 0:51158f3940e0 | 33 | |
JHutchinson | 0:51158f3940e0 | 34 | // Adjust format of time to reflect hours and minutes |
JHutchinson | 0:51158f3940e0 | 35 | int hours = time/100; |
JHutchinson | 0:51158f3940e0 | 36 | int minutes = time - hours*100; |
JHutchinson | 0:51158f3940e0 | 37 | |
JHutchinson | 0:51158f3940e0 | 38 | // Adjust format of date to reflect days and minutes |
JHutchinson | 0:51158f3940e0 | 39 | int day = date/10000; |
JHutchinson | 0:51158f3940e0 | 40 | int month = (date - day*10000)/100; |
JHutchinson | 0:51158f3940e0 | 41 | int year = date - month*100 - day*10000; |
JHutchinson | 0:51158f3940e0 | 42 | |
JHutchinson | 0:51158f3940e0 | 43 | // Print correctly spaced values on the display |
JHutchinson | 0:51158f3940e0 | 44 | |
JHutchinson | 0:51158f3940e0 | 45 | lcd.printf("Time %d:%d", hours, minutes); |
JHutchinson | 0:51158f3940e0 | 46 | |
JHutchinson | 0:51158f3940e0 | 47 | // Locate cursor to start of second line |
JHutchinson | 0:51158f3940e0 | 48 | |
JHutchinson | 0:51158f3940e0 | 49 | lcd.setAddress(0, 1); |
JHutchinson | 0:51158f3940e0 | 50 | |
JHutchinson | 0:51158f3940e0 | 51 | lcd.printf("Date %d/%d/%d", day, month, year); |
JHutchinson | 0:51158f3940e0 | 52 | |
JHutchinson | 0:51158f3940e0 | 53 | |
JHutchinson | 0:51158f3940e0 | 54 | |
JHutchinson | 0:51158f3940e0 | 55 | |
JHutchinson | 0:51158f3940e0 | 56 | |
JHutchinson | 0:51158f3940e0 | 57 | |
JHutchinson | 0:51158f3940e0 | 58 | |
JHutchinson | 0:51158f3940e0 | 59 | |
JHutchinson | 0:51158f3940e0 | 60 | |
JHutchinson | 0:51158f3940e0 | 61 | |
JHutchinson | 0:51158f3940e0 | 62 | pwr=1; |
JHutchinson | 0:51158f3940e0 | 63 | |
JHutchinson | 0:51158f3940e0 | 64 | LCD_LED = 1; // backlight on |
JHutchinson | 0:51158f3940e0 | 65 | |
JHutchinson | 0:51158f3940e0 | 66 | TFT.claim(stdout); // send stdout to the TFT display |
JHutchinson | 0:51158f3940e0 | 67 | TFT.set_orientation(1); |
JHutchinson | 0:51158f3940e0 | 68 | TFT.background(Black); // set background to black |
JHutchinson | 0:51158f3940e0 | 69 | TFT.foreground(White); // set chars to white |
JHutchinson | 0:51158f3940e0 | 70 | TFT.cls(); // clear the screen |
JHutchinson | 0:51158f3940e0 | 71 | |
JHutchinson | 0:51158f3940e0 | 72 | TFT.set_orientation(0); |
JHutchinson | 0:51158f3940e0 | 73 | TFT.background(Black); |
JHutchinson | 0:51158f3940e0 | 74 | TFT.cls(); |
JHutchinson | 0:51158f3940e0 | 75 | |
JHutchinson | 0:51158f3940e0 | 76 | TFT.set_font((unsigned char*) Arial28x28); |
JHutchinson | 0:51158f3940e0 | 77 | TFT.locate(102,220); // x,y |
JHutchinson | 0:51158f3940e0 | 78 | printf("%d", temp); |
JHutchinson | 0:51158f3940e0 | 79 | |
JHutchinson | 0:51158f3940e0 | 80 | } |