Demonstration of Soft Fonts

Dependencies:   mbed RA8875

Fork of RA8875_Demo by David Smart

Demo of Software based fonts mixed with RA8875 hosted fonts.

/media/uploads/WiredHome/softfont2.png

Committer:
WiredHome
Date:
Sat Dec 19 15:57:07 2015 +0000
Revision:
7:1002bb8871c0
Parent:
3:ca6a1026c28e
Updated demo based on updated RA8875 library.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WiredHome 0:037b95a5cc85 1 #include "mbed.h"
WiredHome 0:037b95a5cc85 2
WiredHome 0:037b95a5cc85 3 #include "RA8875.h"
WiredHome 0:037b95a5cc85 4
WiredHome 0:037b95a5cc85 5
WiredHome 0:037b95a5cc85 6 Serial pc(USBTX, USBRX);
WiredHome 0:037b95a5cc85 7
WiredHome 0:037b95a5cc85 8 int main()
WiredHome 0:037b95a5cc85 9 {
WiredHome 2:2076d9cc6db9 10 int i;
WiredHome 3:ca6a1026c28e 11 Timer t;
WiredHome 7:1002bb8871c0 12 float f = 5000000;
WiredHome 2:2076d9cc6db9 13
WiredHome 0:037b95a5cc85 14 pc.baud(460800); // I like a snappy terminal, so crank it up!
WiredHome 0:037b95a5cc85 15 pc.printf("\r\nRA8875 Test - Build " __DATE__ " " __TIME__ "\r\n");
WiredHome 0:037b95a5cc85 16
WiredHome 0:037b95a5cc85 17 pc.printf("Turning on display\r\n");
WiredHome 2:2076d9cc6db9 18 RA8875 lcd(p5, p6, p7, p12, NC, "tft"); // MOSI, MISO, SCK, /ChipSelect, /reset, name
WiredHome 2:2076d9cc6db9 19
WiredHome 3:ca6a1026c28e 20 t.start();
WiredHome 3:ca6a1026c28e 21 lcd.init();
WiredHome 7:1002bb8871c0 22
WiredHome 7:1002bb8871c0 23 //RunTestSet(lcd, pc);
WiredHome 7:1002bb8871c0 24
WiredHome 3:ca6a1026c28e 25 lcd.frequency(f);
WiredHome 3:ca6a1026c28e 26 lcd.cls();
WiredHome 3:ca6a1026c28e 27 wait_ms(250);
WiredHome 3:ca6a1026c28e 28 uint32_t tStart = t.read_us();
WiredHome 2:2076d9cc6db9 29 lcd.puts(0,0,
WiredHome 3:ca6a1026c28e 30 "RA8875 lcd(p5, p6, p7, p12, NC, \"tft\");\r\n"
WiredHome 3:ca6a1026c28e 31 "lcd.init(true, 480,272,16);\r\n"
WiredHome 2:2076d9cc6db9 32 "lcd.circle( 400,25, 25, BrightRed);\r\n"
WiredHome 2:2076d9cc6db9 33 "lcd.fillcircle( 400,25, 15, RGB(128,255,128));\r\n"
WiredHome 2:2076d9cc6db9 34 "lcd.ellipse( 440,75, 35,20, BrightBlue);\r\n"
WiredHome 2:2076d9cc6db9 35 "lcd.fillellipse( 440,75, 25,10, Blue);\r\n"
WiredHome 2:2076d9cc6db9 36 "lcd.triangle( 440,100, 475,110, 450,125, Magenta);\r\n"
WiredHome 2:2076d9cc6db9 37 "lcd.filltriangle( 445,105, 467,111, 452,120, Cyan);\r\n"
WiredHome 2:2076d9cc6db9 38 "lcd.rect( 400,130, 475,155, Brown);\r\n"
WiredHome 2:2076d9cc6db9 39 "lcd.fillrect( 405,135, 470,150, Pink);\r\n"
WiredHome 2:2076d9cc6db9 40 "lcd.roundrect( 410,160, 475,190, 10,8, Yellow);\r\n"
WiredHome 2:2076d9cc6db9 41 "lcd.fillroundrect(415,165, 470,185, 5,3, Orange);\r\n"
WiredHome 2:2076d9cc6db9 42 "lcd.line( 430,200, 460,230, RGB(0,255,0));\r\n"
WiredHome 2:2076d9cc6db9 43 "for (i=0; i<=30; i+=5)\r\n"
WiredHome 2:2076d9cc6db9 44 " lcd.pixel(435+i,200+i, White);");
WiredHome 0:037b95a5cc85 45
WiredHome 2:2076d9cc6db9 46 lcd.circle( 400,25, 25, BrightRed);
WiredHome 2:2076d9cc6db9 47 lcd.fillcircle( 400,25, 15, RGB(128,255,128));
WiredHome 2:2076d9cc6db9 48 lcd.ellipse( 440,75, 35,20, BrightBlue);
WiredHome 2:2076d9cc6db9 49 lcd.fillellipse( 440,75, 25,10, Blue);
WiredHome 2:2076d9cc6db9 50 lcd.triangle( 440,100, 475,110, 450,125, Magenta);
WiredHome 2:2076d9cc6db9 51 lcd.filltriangle( 445,105, 467,111, 452,120, Cyan);
WiredHome 2:2076d9cc6db9 52 lcd.rect( 400,130, 475,155, Brown);
WiredHome 2:2076d9cc6db9 53 lcd.fillrect( 405,135, 470,150, Pink);
WiredHome 2:2076d9cc6db9 54 lcd.roundrect( 410,160, 475,190, 10,8, Yellow);
WiredHome 2:2076d9cc6db9 55 lcd.fillroundrect(415,165, 470,185, 5,3, Orange);
WiredHome 2:2076d9cc6db9 56 lcd.line( 430,200, 460,230, RGB(0,255,0));
WiredHome 2:2076d9cc6db9 57 for (i=0; i<=30; i+=5)
WiredHome 2:2076d9cc6db9 58 lcd.pixel(435+i,200+i, White);
WiredHome 3:ca6a1026c28e 59 uint32_t tEnd = t.read_us();
WiredHome 3:ca6a1026c28e 60 pc.printf("@ %4.2f MHz, elapsed time is %u usec.\r\n", (float)f/1000000, tEnd-tStart);
WiredHome 3:ca6a1026c28e 61
WiredHome 3:ca6a1026c28e 62 lcd.KeypadInit();
WiredHome 3:ca6a1026c28e 63 while(1) {
WiredHome 3:ca6a1026c28e 64 while(!lcd.readable())
WiredHome 3:ca6a1026c28e 65 ;
WiredHome 3:ca6a1026c28e 66 if (lcd.readable()) {
WiredHome 3:ca6a1026c28e 67 int k = lcd.getc();
WiredHome 3:ca6a1026c28e 68 pc.printf("key: %02X \r\n", k);
WiredHome 3:ca6a1026c28e 69 }
WiredHome 3:ca6a1026c28e 70 wait_ms(50);
WiredHome 3:ca6a1026c28e 71 }
WiredHome 0:037b95a5cc85 72 }