Demo program to show 640x480 monochrome fullgraphic

Dependencies:   mbed vga640x480g

Files at this revision

API Documentation at this revision

Comitter:
gertk
Date:
Wed Jul 27 19:44:20 2011 +0000
Commit message:
0.1

Changed in this revision

fastlib.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
vga640x480g.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fastlib.lib	Wed Jul 27 19:44:20 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Ivop/code/fastlib/#bc492a93e116
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jul 27 19:44:20 2011 +0000
@@ -0,0 +1,74 @@
+/*
+ * 640x480 60Hz fullgraphic monochrome VGA Driver demo program
+ *
+ * Copyright (C) 2011 by Ivo van Poorten <ivop(at)euronet.nl>
+ * and Gert van der Knokke <gertk(at)xs4all.nl>
+ * This file is licensed under the terms of the GNU Lesser
+ * General Public License, version 3.
+ *
+ * Inspired by Simon's (not Ford) Cookbook entry and Cliff Biffle's
+ * assembly code.
+ */
+ 
+#include "mbed.h"
+#include "vga640x480g.h"
+
+// visual feedback
+DigitalOut myled(LED1);
+
+// define serial port for debug
+Serial linktopc(USBTX,USBRX);
+
+int main() {
+    // init the VGA subsystem (always do this first!)
+    init_vga();
+
+    int s,t;
+
+    // serial port on at 115200 baud
+    linktopc.baud(115200);
+    setbuf(stdout, NULL); // no buffering for this filehandle
+    
+    
+    // clear the screen
+    vga_cls();
+    
+    // draw some circles
+    for (t=10; t<200; t+=5)
+    vga_circle(20+t,399-t,t,WHITE);
+
+    // draw some boxes
+    for (t=10; t<100; t+=5)
+    vga_box(400+t,100+t,400+t*2,100+t*2,WHITE);
+  
+    // circumfence the screen
+    vga_box(0,0,639,479,WHITE);
+    
+    // show the complete character set
+    for (s=0; s<4; s++) {
+        for (t=0; t<64; t++) {
+            vga_putchar(20+t*8,20+16*s,t+s*64,WHITE);
+        }
+    }
+
+    // put a string on screen
+    vga_putstring(400,370,"Hello World!",WHITE);
+
+    // draw some lines
+    vga_line(400,390,500,390,WHITE);
+    vga_line(500,475,600,375,WHITE);
+
+    // draw a filled box
+    vga_filledbox(450,330,550,360,1);
+
+    // draw some more boxes
+    for (t=10; t<320; t+=5)
+    vga_box(100+t,440-t/16,110+t,440+t/16,WHITE);
+    
+    
+    // all done
+    while (1){
+         wait(1);
+       myled=!myled;
+    }
+ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Jul 27 19:44:20 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vga640x480g.lib	Wed Jul 27 19:44:20 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/gertk/code/vga640x480g/#821e34a87609