BlackOneサンプルプログラム ”フォトフレーム” 詳細はエレキジャックのページを参照ください。 BlackOne Sample Prrogram \"PhotoFrame\"

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
techand
Date:
Fri Feb 24 09:44:18 2012 +0000
Commit message:

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
diff -r 000000000000 -r 8ebca055e125 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Feb 24 09:44:18 2012 +0000
@@ -0,0 +1,146 @@
+/*************************************************************************
+*
+* mbed BlackOne
+*   Photo Frame Sample Program for Eleki Jack
+*                                                   by Techand
+**************************************************************************
+*/
+
+#include "mbed.h"
+Serial pc(USBTX, USBRX); // tx, rx
+Serial lcd(p9, p10);     // lcd serial port
+
+
+// Function prototypes **************************
+void set_RTC ();
+void calendar();
+
+
+/***********************************
+*
+*  Photo Frame Main
+*
+************************************
+*/
+int main() {
+    wait(1);
+    lcd.printf("\x1b@14Z"); // 57600bps
+    lcd.baud(57600);
+    wait(1);
+    lcd.printf("\x1b@0Z");  // Clear all data (character & graphics)
+    lcd.printf("\x1b[>5h"); // Curser OFF
+    lcd.printf("\x1b@30Z"); // Set buffer0 for display
+    
+    set_RTC();              // Set and Start RTC
+    
+    calendar();             // format and display calender
+     
+  // Display "Photo"
+  for (;;)
+  { 
+    for (int i=1 ;i<=8;i++)
+    {
+        lcd.printf("\x1b@%d;0I",i); 
+        wait_ms(2000);
+    }
+  }
+}
+
+
+/*****************************
+*
+* Set and Init. RTC
+*
+******************************
+*/
+void set_RTC () {
+    time_t seconds = time(NULL);
+    
+    if ( (signed)seconds == -1 )
+    {
+      // setup time
+      struct tm t;
+
+      t.tm_sec = 00;    // seconds 0-59
+      t.tm_min = 00;    // minuits 0-59
+      t.tm_hour = 10;   // hour    0-23
+      t.tm_mday = 3;    // day     1-31
+      t.tm_mon = 2;     // month   0-11
+      t.tm_year = 112;  // year from 1900
+          
+      seconds = mktime(&t);
+      set_time(seconds);
+    }
+}
+
+
+
+/*****************************
+*
+* format and Display Calender
+*
+******************************
+*/
+void calendar()
+{
+    int w_today;
+    int today;
+    int w;
+    
+    char buff[16];
+    
+    int md[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; // size of month. Leap Year This Year!
+    char sun[] = {0x93,0xFA,0x00};                      // sunday
+    char sat[] = {0x20,0x93,0x79,0x00};                 // Saturday
+    char week[] = {0x20,0x8C,0x8E,0x20,0x89,0xCE,0x20,0x90,0x85,0x20,0x96,0xD8,0x20,0x8B,0xE0,0x00};   
+                   // Week Header  "sun mon tue wed thu fri sat"
+                   
+    time_t seconds = time(NULL);
+    struct tm *t = localtime(&seconds);
+    
+    lcd.printf("\x1b[8;0H");
+    lcd.printf("\x1b[1;32;m");
+    strftime(buff,15, "%Y %B", localtime(&seconds));
+    lcd.printf("%s",buff);
+
+    lcd.printf("\x1b[9;0H");
+    lcd.printf("\x1b[1;31;m");
+    lcd.printf("%s",sun);
+    lcd.printf("\x1b[1;32;m");
+    lcd.printf("%s",week);
+    lcd.printf("\x1b[1;34;m");
+    lcd.printf("%s",sat);
+
+    today = t->tm_mday;
+    w_today = t->tm_wday;
+    
+    w=0;
+    w_today = (w_today - ((today % 7)-1));
+    
+    for ( int i = 1; i <= md[t->tm_mon]; i++)
+    {
+        lcd.printf("\x1b[%d;%dH",((w_today+w)/7)+10,(3*((w_today+w)%7))+0);
+        
+        lcd.printf("\x1b[1;32;m");
+        
+        if ( (w_today+w)%7 == 0)
+        {
+            lcd.printf("\x1b[1;31;m");
+        }
+        if ( (w_today+w)%7 == 6)
+        {
+            lcd.printf("\x1b[1;34;m");
+        } 
+        
+        if ( i == today)
+        {
+            lcd.printf("\x1b[7m");
+        } else
+        {
+            lcd.printf("\x1b[27m");
+        }
+        
+        lcd.printf("%2d",i);
+        w++;
+    }        
+}
\ No newline at end of file
diff -r 000000000000 -r 8ebca055e125 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Feb 24 09:44:18 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912