A class library for OLED on MARMEX_OB board. MARY拡張のMARMEX_OB基板のOLEDをmbed+MAPLE基板で動かすためのライブラリです.このサンプルではMAPLEに用意されているMARMEXスロットの1番に搭載したOLEDを制御するようになっています.詳細はCode&APIからソースやAPI詳細をご覧ください

Dependencies:   mbed NokiaLCD

Files at this revision

API Documentation at this revision

Comitter:
nxpfan
Date:
Thu Apr 07 23:32:35 2011 +0000
Parent:
0:a19b70a76e66
Commit message:

Changed in this revision

MARMEX_OB_oled.h 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
diff -r a19b70a76e66 -r a0ac2743f855 MARMEX_OB_oled.h
--- a/MARMEX_OB_oled.h	Thu Apr 07 07:39:06 2011 +0000
+++ b/MARMEX_OB_oled.h	Thu Apr 07 23:32:35 2011 +0000
@@ -2,8 +2,8 @@
  *
  *  @class   MARMEX_OB_oled
  *  @author  tedd
- *  @version 0.5
- *  @date    07-Apr-2011
+ *  @version 0.51
+ *  @date    08-Apr-2011
  *
  *  Released under the MIT License: http://mbed.org/license/mit
  *
@@ -41,34 +41,36 @@
  *
  *  Example:
  *  @code
- * #include "mbed.h"
- * #include "MARMEX_OB_oled.h"
- *
- * //  oled1 is for MARMEX_OB_oled board on MAPLE slot 1
- * //  oled2 is for MARMEX_OB_oled board on MAPLE slot 2
- *
- * //MARMEX_OB_oled   oled1( p5, p7,  p8, p30, p11 ); // mosi, sclk, cs, rst, power_control
- * MARMEX_OB_oled   oled2( p5, p7, p26, p21, p17 ); // mosi, sclk, cs, rst, power_control
- *
- * int main() {
- *     oled2.background( 0x000000 );
- *     oled2.cls();
- *
- *     for ( int i = 0; i < 8; i++ )
- *         oled2.fill(  (MARMEX_OB_oled::WIDTH / 8) * i,  0,  (MARMEX_OB_oled::WIDTH / 8),  128, ((i & 0x4) ? 0xFF0000 : 0x000000) | ((i & 0x2) ? 0x00FF00 : 0x000000) |((i & 0x1) ? 0x0000FF : 0x000000) );
- *
- *     oled2.fill(  50,  50,  64,  64, 0xCCCCCC );
- *
- *     oled2.locate( 0, 3 );
- *     oled2.printf( "Hello World!" );
- *     oled2.locate( 0, 4 );
- *     oled2.printf( "SPI = %s", MERMEX_OB_SPI_MODE_STR );
- *
- *     for (int i = 0; i < MARMEX_OB_oled::WIDTH; i++ ) {
- *         oled2.pixel( i, 80 + sin( (float)i / 5.0 ) * 10, 0x000000 );
- *     }
- * }
- *  @endcode
+ *  #include "mbed.h"
+ *  #include "MARMEX_OB_oled.h"
+ *  
+ *  //  oled1 is for MARMEX_OB_oled board on MAPLE slot 1
+ *  //  oled1 is for MARMEX_OB_oled board on MAPLE slot 2
+ *  
+ *  MARMEX_OB_oled   oled1( p5, p7,  p8, p30, p11 ); // mosi, sclk, cs, rst, power_control
+ *  //MARMEX_OB_oled   oled2( p5, p7, p26, p21, p17 ); // mosi, sclk, cs, rst, power_control
+ *  
+ *  
+ *  int main() {
+ *      oled1.background( 0x000000 );
+ *      oled1.cls();
+ *     
+ *      int colorbar_width  = MARMEX_OB_oled::WIDTH / 8;
+ *  
+ *      for ( int i = 0; i < 8; i++ )
+ *          oled1.fill( colorbar_width * i, 0, colorbar_width, MARMEX_OB_oled::HEIGHT, ((i & 0x4) ? 0xFF0000 : 0x000000) | ((i & 0x2) ? 0x00FF00 : 0x000000) | ((i & 0x1) ? 0x0000FF : 0x000000) );
+ *  
+ *      oled1.fill(  50,  50,  64,  64, 0xCCCCCC );;
+ *  
+ *      oled1.locate( 0, 3 );
+ *      oled1.printf( "Hello World!" );
+ *      oled1.locate( 0, 4 );
+ *      oled1.printf( "SPI = %s", MERMEX_OB_SPI_MODE_STR );
+ *  
+ *      for (int i = 0; i < MARMEX_OB_oled::WIDTH; i++ ) {
+ *          oled1.pixel( i, 80 + sin( (float)i / 5.0 ) * 10, 0x000000 );
+ *      }
+ *  } *  @endcode
  */
 
 class MARMEX_OB_oled : public NokiaLCD {
@@ -453,7 +455,7 @@
         _cs = 1;
     }
 
-    void _putp( int colour ) {
+    virtual void _putp( int colour ) {
         int cnv = 0;
 
         cnv  = (colour >> 8) & 0xf800;
@@ -475,8 +477,9 @@
 #endif
 #endif  //  MBED_MARMEX_OB_OLED
 
-
-
-
-
-
+/*
+ *  history:
+ *      0.5  (2011-Apr-07) :  initial published version
+ *      0.51 (2011-Apr-08) :  a. "virtual" had been added on "_putp()" function definition to surpress warning when compiling (is this correct way?)
+ *                            b. sample code (for Doxygen) is changed from new "main.cpp (ver 0.51)" 
+ */
diff -r a19b70a76e66 -r a0ac2743f855 main.cpp
--- a/main.cpp	Thu Apr 07 07:39:06 2011 +0000
+++ b/main.cpp	Thu Apr 07 23:32:35 2011 +0000
@@ -1,16 +1,16 @@
 /** A sample app of MARMEX_OB OLED screen drawing library
  *
  *  @author  Tedd
- *  @version 0.5
- *  @date    07-Apr-2011
+ *  @version 0.51
+ *  @date    08-Apr-2011
  *
  *  Released under the MIT License: http://mbed.org/license/mit
  *
  *  MARMEX_OB_oled OLED screen drawing library for mbed
  *  This code has been written based on sample code and advises
  *    from Ochiai-san (Marutsu-Elec). Thank you!
- *  
- *  To build this code, "NokiaLCD" and "mbed" libraries are needed to be imported in a project. 
+ *
+ *  To build this code, "NokiaLCD" and "mbed" libraries are needed to be imported in a project.
  *     NokiaLCD library :  http://mbed.org/users/simon/libraries/NokiaLCD/
  */
 
@@ -29,8 +29,10 @@
     oled1.background( 0x000000 );
     oled1.cls();
 
+    int colorbar_width  = MARMEX_OB_oled::WIDTH / 8;
+
     for ( int i = 0; i < 8; i++ )
-        oled1.fill(  (MARMEX_OB_oled::WIDTH / 8) * i,  0,  (MARMEX_OB_oled::WIDTH / 8),  128, ((i & 0x4) ? 0xFF0000 : 0x000000) | ((i & 0x2) ? 0x00FF00 : 0x000000) |((i & 0x1) ? 0x0000FF : 0x000000) );
+        oled1.fill( colorbar_width * i, 0, colorbar_width, MARMEX_OB_oled::HEIGHT, ((i & 0x4) ? 0xFF0000 : 0x000000) | ((i & 0x2) ? 0x00FF00 : 0x000000) | ((i & 0x1) ? 0x0000FF : 0x000000) );
 
     oled1.fill(  50,  50,  64,  64, 0xCCCCCC );;
 
@@ -44,3 +46,8 @@
     }
 }
 
+/*
+ *  history:
+ *      0.5  (2011-Apr-07) :  initial published version
+ *      0.51 (2011-Apr-08) :  minor modification to make the source more consistent (use " MARMEX_OB_oled::HEIGHT" instead of 128)
+ */