Demo program for the EAQVGAOLED library. Characters from a terminal program connected to the mbed USB are echoed on the display.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
gbloice
Date:
Sat Feb 12 12:07:52 2011 +0000
Commit message:
Initial release

Changed in this revision

EAQVGAOLED.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
diff -r 000000000000 -r 12f5969f567d EAQVGAOLED.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EAQVGAOLED.lib	Sat Feb 12 12:07:52 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/gbloice/libraries/EAQVGAOLED/lmc39j
\ No newline at end of file
diff -r 000000000000 -r 12f5969f567d main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Feb 12 12:07:52 2011 +0000
@@ -0,0 +1,72 @@
+#include "mbed.h"
+#include "EAQVGAOLED.h"
+
+Serial pc(USBTX, USBRX); // tx, rx
+
+int main() {
+    EAQVGAOLED display = EAQVGAOLED(p5, p6, p7, p8, p9, p10);
+    
+    display.background(BLACK);
+    display.foreground(DARK_GRAY);
+    display.cls();
+
+    bool inEscape = false;  // Flag, set when in an escape sequence
+    bool inCursor = false;  // Flag, set when in a cursor sequence
+    
+    // Loop drawing characters from USB onto the display
+    while(1) {
+        
+        if (pc.readable()) {
+            char inChar = pc.getc();
+            // The terminal sends escape sequences for cursor keys,
+            // these need to be converted to control characters
+            if (inCursor) {
+                switch(inChar) {
+                case 'A':
+                    display.putc(CURSOR_UP);
+                    break;
+                case 'B':
+                    display.putc(CURSOR_DOWN);
+                    break;
+                case 'C':
+                    display.putc(CURSOR_RIGHT);
+                    break;
+                case 'D':
+                    display.putc(CURSOR_LEFT);
+                    break;
+                default:
+                    display.putc(inChar);
+                    break;
+                }
+                inCursor = false;
+            }
+            else if (inEscape) {
+                if (inChar == 91) {
+                    inCursor = true;
+                }
+                else {
+                    display.putc(inChar);
+                }
+                inEscape = false;
+            }
+            else {
+                switch (inChar) {
+                case '+':
+                    display.backlightControl(true);
+                    break;
+                case '-':
+                    display.backlightControl(false);
+                    break;
+                case 27:
+                    inEscape = true;
+                    break;
+                default:
+                    display.putc(inChar);
+                    break;
+                }
+            }
+            pc.printf("Got char %d, inEscape: %d, inCursor: %d\r\n", inChar, inEscape, inCursor);
+
+        }
+    }
+}
diff -r 000000000000 -r 12f5969f567d mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sat Feb 12 12:07:52 2011 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9a9732ce53a1