Rihards Balass / 4DGL-mbed-32PTU

demo.cpp

Committer:
CaptainR
Date:
2016-09-12
Revision:
8:b634ac9c92f8
Parent:
7:f064ae670553
Child:
9:32eb75c01e9d

File content as of revision 8:b634ac9c92f8:


#include "mbed.h"
#include "Picaso_4DGL-32PTU.h"

#define SHORT_WAIT 500
#define LONG_WAIT 2000

//**************************************************************************
// Demo program that goes through graphics based functions
//**************************************************************************
void PICASO_4DGL :: graphicsDemo() {

    //cls();
    screenOrientation(landscape); // set orientation to landscape
    puts("This is the Graphics functions demo");
    wait_ms(LONG_WAIT);
    cls();
/*
    puts("\nLets change all the ");
    textFgColor(Purple);
    puts("PURPLE");
    textFgColor(Yellow);
    puts(" bits to yellow");
    textFgColor(Green); // set Color back to green
    wait_ms(LONG_WAIT);
    changeColor(Purple, Yellow);
    wait_ms(LONG_WAIT);
    cls();
*/
/*
    puts("Lets draw some shapes:");
    wait_ms(SHORT_WAIT);
    drawCircle(100, 100, 20, Aqua);
    wait_ms(SHORT_WAIT);
    drawFilledCircle(50, 50, 20, Red);
    wait_ms(SHORT_WAIT);
    drawLine(20, 20, 100, 30, Blue);
    wait_ms(SHORT_WAIT);
    drawRectangle(120, 20, 200, 60, Pink);
    wait_ms(SHORT_WAIT);
    drawFilledRectangle(210, 0, 250, 80, Orange);
    wait_ms(SHORT_WAIT);
    short xPolyline[3] = {10, 80, 180};
    short yPolyline[3] = {10, 200, 80};
    drawPolyline(3, xPolyline, yPolyline, Green);
    wait_ms(SHORT_WAIT);
    short xPolygon[5] = {0, 30, 5, 50, 40};
    short yPolygon[5] = {50, 100, 220, 230, 170};
    drawPolygon(5, xPolygon, yPolygon, Grey);
    wait_ms(SHORT_WAIT);
    short xFilledPolygon[5] = {260, 280, 290, 300, 255};
    short yFilledPolygon[5] = {0, 20, 35, 55, 22};
    drawFilledPolygon(5, xFilledPolygon, yFilledPolygon, White);
    wait_ms(SHORT_WAIT);
    drawTriangle(70, 130, 90, 150, 110, 120, Cream);
    wait_ms(SHORT_WAIT);
    drawFilledTriangle(260, 50, 300, 90, 240, 120, Yellow);
    wait_ms(SHORT_WAIT);
    cls();
*/
/*
    // somehow after this function display stops (but the calculation is right)
    puts("Lets calculate distance from point 0,0 on angle 40, 60 pixels away:");
    wait_ms(LONG_WAIT);
    cls();
    calculateOrbit(40, 60);
    wait_ms(SHORT_WAIT);
    cls();
*/
/*
    puts("Lets draw some pixels:");
    wait_ms(LONG_WAIT);
    putPixel(15, 15, White);
    wait_ms(SHORT_WAIT);
    putPixel(20, 20, Red);
    wait_ms(SHORT_WAIT);
    putPixel(25, 25, Green);
    wait_ms(SHORT_WAIT);
    putPixel(30, 30, Blue);
    wait_ms(SHORT_WAIT);
    putPixel(35, 35, Aqua);
    wait_ms(LONG_WAIT);
    cls();
*/
/*
    puts("Lets move origin point:");
    wait_ms(LONG_WAIT);
    moveOrigin(100, 100);
    puts("This is the new origin!");
    wait_ms(LONG_WAIT);
    cls();
*/
    puts("Now draw line from here:");
    wait_ms(SHORT_WAIT);
    lineTo(100, 100);
    wait_ms(SHORT_WAIT);
    puts("To here!");
    wait_ms(LONG_WAIT);
    //cls();
    
    
    
} 

//**************************************************************************
// Demo program that goes through main functions
//**************************************************************************
void PICASO_4DGL :: mainDemo() {

    cls();
    puts("This is the main functions demo");
    wait_ms(LONG_WAIT);
    cls();

    puts("\nBaudrates:");
    wait_ms(LONG_WAIT);
    cls();
    baudrate(4800);
    puts("\n4800");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(9600);
    puts("\n9600");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(14400);
    puts("\n14400");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(19200);
    puts("\n19200");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(38400);
    puts("\n38400");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(56000);
    puts("\n56000");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(57600);
    puts("\n57600");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(115200);
    puts("\n115200");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(128000);
    puts("\n128000");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(256000);
    puts("\n256000");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(300000);
    puts("\n300000");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(375000);
    puts("\n375000");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(500000);
    puts("\n500000");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(600000);
    puts("\n600000");
    wait_ms(SHORT_WAIT);
    cls();
    baudrate(115200);
    puts("\nSet back to 115200");
    wait_ms(LONG_WAIT);
    cls();

    puts("\nOrientation:");
    wait_ms(LONG_WAIT);
    cls();
    screenOrientation(landscape);
    puts("landscape");
    wait_ms(SHORT_WAIT);
    cls();
    screenOrientation(landscapeRew);
    puts("landscape rewersed");
    wait_ms(SHORT_WAIT);
    cls();
    screenOrientation(portrait);
    puts("portrait");
    wait_ms(SHORT_WAIT);
    cls();
    screenOrientation(portraitRew);
    puts("portrait rewersed");
    wait_ms(LONG_WAIT);
    screenOrientation(landscape); // set back screen to landscape
    cls();
    
}

//**************************************************************************
// Demo program that goes through text based functions
//**************************************************************************
void PICASO_4DGL :: textDemo() {
    
    cls();
    screenOrientation(landscape); // set screen to landscape
    puts("This is the Text functions demo");
    wait_ms(LONG_WAIT);
    cls();

    puts("\nText attributes:");
    wait_ms(LONG_WAIT);
    //cls();
    puts("\n\n");
    textAttributes(bold);
    puts("\nBOLD");
    wait_ms(SHORT_WAIT);
    textAttributes(bold + italic);
    puts("\nBOLD & ITALIC");
    wait_ms(SHORT_WAIT);
    textAttributes(bold + italic + inverse);
    puts("\nBOLD & ITALIC & INVERSE");
    wait_ms(SHORT_WAIT);
    textAttributes(bold + italic + inverse + underline);
    puts("\nBOLD & ITALIC & INVERSE & UNDERLINE");
    wait_ms(LONG_WAIT);
    textAttributes(DISABLE); // set everything back to normal
    cls();
    
    puts("\nText modes:");
    wait_ms(LONG_WAIT);
    cls();
    textBold(ENABLE);
    puts("\nBOLD:");
    wait_ms(SHORT_WAIT);
    textBold(DISABLE);
    textInverse(ENABLE);
    puts("\nINVERSE:");
    wait_ms(SHORT_WAIT);
    textInverse(DISABLE);
    textItalic(ENABLE);
    puts("\nITALIC:");
    wait_ms(SHORT_WAIT);
    textItalic(DISABLE);
    textUnderline(ENABLE);
    puts("\nUNDERLINE:");
    wait_ms(SHORT_WAIT);
    textUnderline(DISABLE);
    wait_ms(LONG_WAIT);
    cls();
    
    puts("\nText gaps:");
    wait_ms(LONG_WAIT);
    cls();
    if (textXGap(0) == 1) puts("\nX gap: 0");
    wait_ms(SHORT_WAIT);
    if (textXGap(1) == 1) puts("\nX gap: 1");
    wait_ms(SHORT_WAIT);
    if (textXGap(2) == 1) puts("\nX gap: 2");
    wait_ms(SHORT_WAIT);
    if (textXGap(3) == 1) puts("\nX gap: 3");
    wait_ms(SHORT_WAIT);
    if (textXGap(4) == 1) puts("\nX gap: 4");
    wait_ms(SHORT_WAIT);
    if (textXGap(5) == 1) puts("\nX gap: 5");
    wait_ms(SHORT_WAIT);
    if (textXGap(6) == 1) puts("\nX gap: 6");
    wait_ms(SHORT_WAIT);
    puts("\n");
    textXGap(0);
    if (textYGap(0) == 1) puts("\nY gap: 0");
    wait_ms(SHORT_WAIT);
    if (textYGap(1) == 1) puts("\nY gap: 1");
    wait_ms(SHORT_WAIT);
    if (textYGap(2) == 1) puts("\nY gap: 2");
    wait_ms(SHORT_WAIT);
    if (textYGap(3) == 1) puts("\nY gap: 3");
    wait_ms(SHORT_WAIT);
    if (textYGap(4) == 1) puts("\nY gap: 4");
    wait_ms(SHORT_WAIT);
    if (textYGap(5) == 1) puts("\nY gap: 5");
    wait_ms(SHORT_WAIT);
    if (textYGap(6) == 1) puts("\nY gap: 6");
    wait_ms(LONG_WAIT);
    textYGap(0);
    cls();
    
    puts("Text width:");
    wait_ms(LONG_WAIT);
    if (textWidth(1) == 1) puts("\nWidth: 1");
    wait_ms(SHORT_WAIT);
    if (textWidth(2) == 1) puts("\nWidth: 2");
    wait_ms(SHORT_WAIT);
    if (textWidth(3) == 1) puts("\nWidth: 3");
    wait_ms(SHORT_WAIT);
    if (textWidth(4) == 1) puts("\nWidth: 4");
    wait_ms(SHORT_WAIT);
    textWidth(1);
    puts("\nText height:");
    wait_ms(LONG_WAIT);
    //cls();
    if (textHeight(1) == 1) puts("\nHeight: 1");
    wait_ms(SHORT_WAIT);
    if (textHeight(2) == 1) puts("\nHeight: 2");
    wait_ms(SHORT_WAIT);
    if (textHeight(3) == 1) puts("\nHeight: 3");
    wait_ms(SHORT_WAIT);
    if (textHeight(4) == 1) puts("\nHeight: 4");
    wait_ms(LONG_WAIT);
    textHeight(1);
    cls();

    puts("Fonts:");
    wait_ms(LONG_WAIT);
    cls();
    setFont(font1);
    puts("\nThis is Font 1");
    wait_ms(SHORT_WAIT);
    setFont(font2);
    puts("\nThis is Font 2");
    wait_ms(SHORT_WAIT);
    setFont(font3);
    puts("\nThis is Font 3");
    wait_ms(LONG_WAIT);
    cls();


    screenOrientation(portrait);
    puts("\nText Background colors:");
    wait_ms(LONG_WAIT);
    cls();
    textBgColor(Black);
    puts("\nBG Color = BLACK");
    wait_ms(SHORT_WAIT);
    textBgColor(Navy);
    puts("\nBG Color = NAVY");
    wait_ms(SHORT_WAIT);
    textFgColor(Black);
    textBgColor(DGreen);
    puts("\nBG Color = DARK GREEN");
    wait_ms(SHORT_WAIT);
    textBgColor(DCyan);
    puts("\nBG Color = DARK CYAN");
    wait_ms(SHORT_WAIT);
    textBgColor(Purple);
    puts("\nBG Color = PURPLE");
    wait_ms(SHORT_WAIT);
    textBgColor(Olive);
    puts("\nBG Color = OLIVE");
    wait_ms(SHORT_WAIT);
    textBgColor(Grey);
    puts("\nBG Color = GREY");
    wait_ms(SHORT_WAIT);
    textBgColor(Blue);
    puts("\nBG Color = BLUE");
    wait_ms(SHORT_WAIT);
    textBgColor(Green);
    puts("\nBG Color = GREEN");
    wait_ms(SHORT_WAIT);
    textBgColor(Red);
    puts("\nBG Color = RED");
    wait_ms(SHORT_WAIT);
    textBgColor(Yellow);
    puts("\nBG Color = YELLOW");
    wait_ms(SHORT_WAIT);
    textBgColor(GYellow);
    puts("\nBG Color = GREEN YELLOW");
    wait_ms(SHORT_WAIT);
    textBgColor(White);
    puts("\nBG Color = WHITE");
    wait_ms(SHORT_WAIT);
    textBgColor(Orange);
    puts("\nBG Color = ORANGE");
    wait_ms(SHORT_WAIT);
    textBgColor(Pink);
    puts("\nBG Color = PINK");    
    wait_ms(SHORT_WAIT);
    textBgColor(Violet);
    puts("\nBG Color = VIOLET");
    wait_ms(SHORT_WAIT);
    textBgColor(Aqua);
    puts("\nBG Color = AQUA");
    wait_ms(SHORT_WAIT);
    textBgColor(Cream);
    puts("\nBG Color = CREAM");
    wait_ms(LONG_WAIT);
    textBgColor(Black); // set Color back
    textFgColor(Green); // set Color back
    cls();
    
    puts("Lets try moving cursor...");
    wait_ms(LONG_WAIT);
    cls();
    if (moveCursor(5, 5) == 1) puts("+");
    wait_ms(SHORT_WAIT);
    if (moveCursor(10, 10) == 1) puts("+");
    wait_ms(SHORT_WAIT);
    screenOrientation(4);
    if (moveCursor(50, 50) == 1) puts("+");
    wait_ms(SHORT_WAIT);
    if (moveCursor(19, 29) == 1) puts("+");
    wait_ms(LONG_WAIT);
    cls();


    screenOrientation(portrait);
    puts("\nText Foreground Colors:");
    wait_ms(LONG_WAIT);
    cls();
    textBgColor(White);
    textFgColor(Black);
    puts("\nFG Color = BLACK");
    textBgColor(Black);
    wait_ms(SHORT_WAIT);
    textFgColor(Navy);
    puts("\nFG Color = NAVY");
    wait_ms(SHORT_WAIT);
    textFgColor(DGreen);
    puts("\nFG Color = DARK GREEN");
    wait_ms(SHORT_WAIT);
    textFgColor(DCyan);
    puts("\nFG Color = DARK CYAN");
    wait_ms(SHORT_WAIT);
    textFgColor(Purple);
    puts("\nFG Color = PURPLE");
    wait_ms(SHORT_WAIT);
    textFgColor(Olive);
    puts("\nFG Color = OLIVE");
    wait_ms(SHORT_WAIT);
    textFgColor(Grey);
    puts("\nFG Color = GREY");
    wait_ms(SHORT_WAIT);
    textFgColor(Blue);
    puts("\nFG Color = BLUE");
    wait_ms(SHORT_WAIT);
    textFgColor(Green);
    puts("\nFG Color = GREEN");
    wait_ms(SHORT_WAIT);
    textFgColor(Red);
    puts("\nFG Color = RED");
    wait_ms(SHORT_WAIT);
    textFgColor(Yellow);
    puts("\nFG Color = YELLOW");
    wait_ms(SHORT_WAIT);
    textFgColor(GYellow);
    puts("\nFG Color = GREEN YELLOW");
    wait_ms(SHORT_WAIT);
    textFgColor(White);
    puts("\nFG Color = WHITE");
    wait_ms(SHORT_WAIT);
    textFgColor(Orange);
    puts("\nFG Color = ORANGE");
    wait_ms(SHORT_WAIT);
    textFgColor(Pink);
    puts("\nFG Color = PINK");    
    wait_ms(SHORT_WAIT);
    textFgColor(Violet);
    puts("\nFG Color = VIOLET");
    wait_ms(SHORT_WAIT);
    textFgColor(Aqua);
    puts("\nFG Color = AQUA");
    wait_ms(SHORT_WAIT);
    textFgColor(Cream);
    puts("\nFG Color = CREAM");
    wait_ms(LONG_WAIT);
    textFgColor(Green); // set Color back
    

}