Demo of low res colour vga video for stm32f3 discovery board
Dependencies: STM32F3-Discovery-minimal
Fork of Space_Invaders_Demo by
Diff: demo.c
- Revision:
- 3:93e488fbb8a2
- Parent:
- 0:404dae88af71
- Child:
- 10:8ffcefda667a
--- a/demo.c Tue May 17 23:53:10 2016 +0000 +++ b/demo.c Wed May 16 02:39:14 2018 +0000 @@ -1,7 +1,7 @@ /*************************************************************************** * STM32 VGA demo - * Copyright (C) 2012 Artekit Italy - * http://www.artekit.eu + * Copyright (C) 2012 MASSEY 159.233 Italy + * http://www.MASSEY 159.233.eu * Written by Ruben H. Meleca ### demo.c @@ -75,37 +75,45 @@ // Demo Point while(1) { - GPIOE->ODR=0x100; + GPIOE->ODR|=0x100; vidClearScreen(); - GPIOE->ODR=0x200; + GPIOE->ODR|=0x200; gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0); - GPIOE->ODR=0x300; - gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY); - GPIOE->ODR=0x400; - gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY); - gdiDrawTextEx(172, 70, "POINT DEMO", GDI_ROP_COPY); - GPIOE->ODR=0x500; - sysDelayMs(300); - GPIOE->ODR=0x600; + GPIOE->ODR|=0x300; + gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY); + GPIOE->ODR|=0x400; + gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY); + gdiDrawTextEx(172/4, 70, "POINT DEMO", GDI_ROP_COPY); + GPIOE->ODR|=0x500; + vidNextBuffer(); + sysDelayMs(2000); + GPIOE->ODR|=0x600; srand(sysTicks); for (i = 0; i < 950000; i++) { // sysDelayMs(1); x = rand(); x = x % (VID_PIXELS_X - 1); y = rand(); y = y % VID_VSIZE - 1; + gdiSetColour(rand()%7+1); gdiPoint(NULL,x,y,GDI_ROP_XOR); + if(i%20000==0) + vidNextBuffer(); } + vidNextBuffer(); sysDelayMs(300); GPIOE->ODR=0x700; - conway_demo(); +// conway_demo(); + + if(GPIOA->IDR&1) bubble_demo(); // Demo Line vidClearScreen(); gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0); - gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY); - gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY); - gdiDrawTextEx(175, 70, "LINE DEMO", GDI_ROP_COPY); + gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY); + gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY); + gdiDrawTextEx(175/4, 70, "LINE DEMO", GDI_ROP_COPY); + vidNextBuffer(); sysDelayMs(300); srand(sysTicks); for (i = 0; i < 10000; i++) { @@ -114,7 +122,10 @@ y = rand(); y = y % VID_VSIZE - 1; x1 = rand(); x1 = x1 % (VID_PIXELS_X - 1); y1 = rand(); y1 = y1 % VID_VSIZE - 1; + gdiSetColour(rand()%7+1); gdiLine(NULL,x,y,x1,y1,GDI_ROP_XOR); + if(i%500==0) + vidNextBuffer(); } sysDelayMs(300); @@ -122,9 +133,10 @@ vidClearScreen(); gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0); - gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY); - gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY); - gdiDrawTextEx(157, 70, "RECTANGLE DEMO", GDI_ROP_COPY); + gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY); + gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY); + gdiDrawTextEx(157/4, 70, "RECTANGLE DEMO", GDI_ROP_COPY); + vidNextBuffer(); sysDelayMs(300); srand(sysTicks); for (i = 0; i < 1000; i++) { @@ -133,7 +145,11 @@ y = rand(); y = y % VID_VSIZE - 1; x1 = rand(); x1 = x1 % 100; y1 = rand(); y1 = y1 % 100; + gdiSetColour(rand()%7+1); gdiRectangle(x,y,x1,y1,GDI_ROP_COPY); + if(i%50==0) + vidNextBuffer(); + } sysDelayMs(300); @@ -141,17 +157,21 @@ vidClearScreen(); gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0); - gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY); - gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY); - gdiDrawTextEx(165, 70, "CIRCLE DEMO", GDI_ROP_COPY); + gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY); + gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY); + gdiDrawTextEx(165/4, 70, "CIRCLE DEMO", GDI_ROP_COPY); + vidNextBuffer(); sysDelayMs(300); srand(sysTicks); - for (i = 0; i < 500; i++) { + for (i = 0; i < 2000; i++) { // sysDelayMs(20); x = rand(); x = x % (VID_PIXELS_X - 1); y = rand(); y = y % VID_VSIZE - 1; x1 = rand(); x1 = x1 % 80; - gdiCircle(x,y,x1,GDI_ROP_COPY); + gdiSetColour(rand()%7+1); + gdiCircle(x,y,x1,0); + if(i%10==0) + vidNextBuffer(); } sysDelayMs(300); @@ -159,19 +179,21 @@ vidClearScreen(); gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0); - gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY); - gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY); - gdiDrawTextEx(165, 70, "BITMAP DEMO", GDI_ROP_COPY); + gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY); + gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY); + gdiDrawTextEx(165/4, 70, "BITMAP DEMO", GDI_ROP_COPY); + vidNextBuffer(); sysDelayMs(300); x = 100; y = 130; flip = 0; - for (i = 0; i < 100000; i++) { + for (i = 0; i < 10000; i++) { // sysDelayMs(150); x = rand(); x = x % (VID_PIXELS_X - 20); y = rand(); y = y % (VID_VSIZE - 20); + gdiSetColour(rand()%7+1); if (flip) { flip = 0; gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys1,GDI_ROP_COPY); @@ -180,14 +202,16 @@ gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys2,GDI_ROP_COPY); } x += 2; + if(i%500==0) + vidNextBuffer(); } sysDelayMs(300); vidClearScreen(); - for (i = 0; i < 100000; i++) { + for (i = 0; i < 10000; i++) { // sysDelayMs(150); x = rand(); x = x % (VID_PIXELS_X - 20); y = rand(); y = y % (VID_VSIZE - 20); - +gdiSetColour(rand()%7+1); if (flip) { flip = 0; gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys1,GDI_ROP_XOR); @@ -196,20 +220,12 @@ gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys2,GDI_ROP_XOR); } x += 2; + if(i%500==0) + vidNextBuffer(); } - sysDelayMs(3000); - + sysDelayMs(300); - vidClearScreen(); - gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0); - gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY); - gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY); - gdiDrawTextEx(115, 75, "ARM CORTEX DEVELOPMENT BOARDS", GDI_ROP_COPY); - - gdiDrawTextEx(156, 90, "WWW.ARTEKIT.EU", GDI_ROP_COPY); - gdiDrawTextEx(141, 120, "FREE GRAPHIC ENGINE", GDI_ROP_COPY); - gdiDrawTextEx(165, 130, "SOURCE CODE", GDI_ROP_COPY); - sysDelayMs(300); + conway_demo(); }