Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
demo.cpp
- Committer:
- CaptainR
- Date:
- 2016-09-13
- Revision:
- 11:3ebd2263f3e9
- Parent:
- 10:b959bb206e6b
- Child:
- 12:29f5ad896382
File content as of revision 11:3ebd2263f3e9:
#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(); screenMode(landscape); // set orientation to landscape puts("This is the Graphics functions demo"); wait_ms(LONG_WAIT); cls(); /* puts("\nLets change background color:"); bgColor(Purple); cls(); wait_ms(SHORT_WAIT); bgColor(White); cls(); wait_ms(SHORT_WAIT); bgColor(Blue); cls(); wait_ms(SHORT_WAIT); bgColor(Red); cls(); wait_ms(SHORT_WAIT); bgColor(Aqua); cls(); wait_ms(SHORT_WAIT); bgColor(Black); cls(); wait_ms(SHORT_WAIT); */ /* puts("\nLets change contrast"); wait_ms(LONG_WAIT); contrast(DISABLE); wait_ms(SHORT_WAIT); contrast(ENABLE); wait_ms(SHORT_WAIT); cls(); */ /* puts("\nLets change outline color "); wait_ms(LONG_WAIT); drawFilledCircle(50, 50, 20, Red); wait_ms(SHORT_WAIT); outlineColor(White); wait_ms(SHORT_WAIT); drawFilledCircle(100, 50, 20, Red); 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); drawElipse(200, 130, 20, 10, Olive); wait_ms(SHORT_WAIT); drawFilledElipse(200, 100, 30, 20, Navy); linePatern(10); drawLine(200, 200, 100, 300, White); wait_ms(LONG_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(); */ /* puts("Change clipping window, to test it, we use changeColor function, that works only in clipping area:"); wait_ms(LONG_WAIT); setClipWindow(0, 0, 200, 20); changeColor(Green, Red); puts("\n\n\rDone!!!!"); wait_ms(LONG_WAIT); puts("\n\n\rNow extend to here!"); wait_ms(SHORT_WAIT); extendClipRegion(); changeColor(Green, Red); puts("\n\n\rHow does it look?"); wait_ms(LONG_WAIT); cls(); */ /* puts("\nLets place a button:"); wait_ms(LONG_WAIT); cls(); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); puts("\n\n\n\nDid it work?"); wait_ms(LONG_WAIT); cls(); */ /* puts("\nNow lets change bevel width"); wait_ms(LONG_WAIT); if (bevelWidth(0)) { puts("\nNo bevel"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); cls(); if (bevelWidth(1)) { puts("\nbevel 1"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); cls(); if (bevelWidth(10)) { puts("\nbevel 10"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); cls(); if (bevelWidth(16)) { puts("\nbevel 16"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); cls(); if (bevelWidth(2)) { puts("\nbevel 2"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } cls(); */ /* puts("\nNow lets change bevel shadow level"); wait_ms(LONG_WAIT); if (bevelShadow(0)) { puts("\nNo shadow"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(1)) { puts("\nShadow 1"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(2)) { puts("\nShadow 2"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(3)) { puts("\nShadow 3"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(4)) { puts("\nShadow 4"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(5)) { puts("\nShadow 5"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(1)) { puts("\nShadow 1"); drawButton(DEPRESSED, 100, 200, Aqua, Violet, 2, 2, 2, "Press Me"); } cls(); */ /* puts("\nLets place a panel:"); wait_ms(LONG_WAIT); cls(); drawPanel(DEPRESSED, 0, 0, 2, 2, Cream); puts("\nDid it work?"); wait_ms(LONG_WAIT); cls(); */ /* puts("\nLets place a slider:"); wait_ms(LONG_WAIT); cls(); drawSlider(RAISED, 30, 40, 210, 90, Violet, 100, 0); puts("\nDid it work?"); wait_ms(LONG_WAIT); cls(); */ /* puts("\nThis particular function is going to copy a specified portion of the creen and paste it somewhere else!"); wait_ms(LONG_WAIT); wait_ms(LONG_WAIT); //cls(); screenCopyPaste(0, 0, 50, 100, 200, 50); puts("\nDid it work?"); wait_ms(LONG_WAIT); cls(); */ puts("\nLets get Xmax:"); wait_ms(LONG_WAIT); short Xmax = getGraphics(currentXMax); puts("\nLets get Ymax:"); wait_ms(LONG_WAIT); short Ymax = getGraphics(currentYMax); wait_ms(LONG_WAIT); pc.printf("\nCurrent orientation xMax = %i, yMax = %i\n\r", Xmax, Ymax); } //************************************************************************** // 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(); screenMode(landscape); puts("landscape"); wait_ms(SHORT_WAIT); cls(); screenMode(landscapeRew); puts("landscape rewersed"); wait_ms(SHORT_WAIT); cls(); screenMode(portrait); puts("portrait"); wait_ms(SHORT_WAIT); cls(); screenMode(portraitRew); puts("portrait rewersed"); wait_ms(LONG_WAIT); screenMode(landscape); // set back screen to landscape cls(); } //************************************************************************** // Demo program that goes through text based functions //************************************************************************** void PICASO_4DGL :: textDemo() { cls(); screenMode(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(); screenMode(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); screenMode(4); if (moveCursor(50, 50) == 1) puts("+"); wait_ms(SHORT_WAIT); if (moveCursor(19, 29) == 1) puts("+"); wait_ms(LONG_WAIT); cls(); screenMode(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 }