seven segment library for mbed

Dependencies:   mbed sseg

7segment library for mbed

Files at this revision

API Documentation at this revision

Comitter:
morecat_lab
Date:
Sun Dec 01 06:02:35 2013 +0000
Commit message:
seven segment library for mbed ( came from 7segduino)

Changed in this revision

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
sseg.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Dec 01 06:02:35 2013 +0000
@@ -0,0 +1,79 @@
+/*** Hello 7seg
+
+    7seg module  logical_name LPC1114 PIN
+    SEG-A(11)    dp1                1
+    SEG-B(7)     dp2                2
+    SEG-C(4)     dp4                4
+    SEG-D(2)     dp26 (was dp5)     26
+    SEG-E(1)     dp6                6
+    SEG-F(10)    dp9                9
+    SEG-G(5)     dp10               10
+    SEG-DP(3)    dp11               11
+
+    DIG-1(12)    dp13               13
+    DIG-2 (9)    dp17               17
+    DIG-3 (8)    dp18               18
+    DIG-4 (6)    dp25               25
+
+ */
+
+#include "mbed.h"
+#include "Sseg.h"
+
+Sseg mySseg = Sseg(dp1, dp2, dp4, dp26, dp6, dp9, dp10, dp11, dp13, dp17, dp18, dp25);
+
+DigitalOut myled1(LED1);
+DigitalOut myled2(LED2);
+
+char hello[] = {
+  0x00,
+  0x00,
+  0x00,
+  0x00,
+  0x6e, // 0b01101110, // H
+  0x9e, // 0b10011110, // E
+  0x1c, // 0b00011100, // L
+  0x1c, // 0b00011100, // L
+  0x3a, // 0b00111010, // o
+  0x00, // 0b00000000, // 
+  NUM_PAT_7,  // 7
+  0xb6, // 0b10110110, // S
+  NUM_PAT_E,  // E
+  0xf6, // 0b11110110, // G
+  0x01, // 0b00000001 // .
+};
+
+#define OVERWRAP(a, x) (((x) < sizeof(a)) ? (a[(x)]) : a[((x) - sizeof(a))])
+
+int main() {
+    mySseg.setKcommon();
+    mySseg.begin();
+
+    // mySseg.writeRawData(NUM_PAT_0, NUM_PAT_1, NUM_PAT_2, NUM_PAT_3);
+    // mySseg.writeRawData(NUM_PAT_4, NUM_PAT_5, NUM_PAT_6, NUM_PAT_7);
+    // mySseg.writeRawData(NUM_PAT_8, NUM_PAT_9, NUM_PAT_A, NUM_PAT_B);
+    // mySseg.writeRawData(NUM_PAT_C, NUM_PAT_D, NUM_PAT_E, NUM_PAT_F);
+  
+    // mySseg.writeRawData(0x01, 0x02, 0x04, 0x08);
+    // mySseg.writeRawData(0x10, 0x20, 0x40, 0x80);
+
+    // mySseg.writeNum(1, 2, 0xa, 4);
+
+    myled1 = 1;
+    myled2 = 0;
+
+    while(1) {
+        for (int p = 0 ; p < sizeof(hello) ; p++) {
+            myled1 = (myled1 == 0) ? 1 : 0;
+            myled2 = (myled2 == 0) ? 1 : 0;
+            mySseg.writeRawData(
+                OVERWRAP(hello, p),
+                OVERWRAP(hello, p+1),  
+                OVERWRAP(hello, p+2),  
+                OVERWRAP(hello, p+3));
+
+            mySseg.updateWithDelay(200);
+        }
+
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Dec 01 06:02:35 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/a9913a65894f
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sseg.lib	Sun Dec 01 06:02:35 2013 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/morecat_lab/code/sseg/#6bf4ee8ee342