A class library for OLED on MARMEX_OB board. MARY拡張のMARMEX_OB基板のOLEDをmbed+MAPLE基板で動かすためのライブラリです.このサンプルではMAPLEに用意されているMARMEXスロットの1番に搭載したOLEDを制御するようになっています.詳細はCode&APIからソースやAPI詳細をご覧ください
main.cpp@0:a19b70a76e66, 2011-04-07 (annotated)
- Committer:
- nxpfan
- Date:
- Thu Apr 07 07:39:06 2011 +0000
- Revision:
- 0:a19b70a76e66
- Child:
- 1:a0ac2743f855
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nxpfan | 0:a19b70a76e66 | 1 | /** A sample app of MARMEX_OB OLED screen drawing library |
nxpfan | 0:a19b70a76e66 | 2 | * |
nxpfan | 0:a19b70a76e66 | 3 | * @author Tedd |
nxpfan | 0:a19b70a76e66 | 4 | * @version 0.5 |
nxpfan | 0:a19b70a76e66 | 5 | * @date 07-Apr-2011 |
nxpfan | 0:a19b70a76e66 | 6 | * |
nxpfan | 0:a19b70a76e66 | 7 | * Released under the MIT License: http://mbed.org/license/mit |
nxpfan | 0:a19b70a76e66 | 8 | * |
nxpfan | 0:a19b70a76e66 | 9 | * MARMEX_OB_oled OLED screen drawing library for mbed |
nxpfan | 0:a19b70a76e66 | 10 | * This code has been written based on sample code and advises |
nxpfan | 0:a19b70a76e66 | 11 | * from Ochiai-san (Marutsu-Elec). Thank you! |
nxpfan | 0:a19b70a76e66 | 12 | * |
nxpfan | 0:a19b70a76e66 | 13 | * To build this code, "NokiaLCD" and "mbed" libraries are needed to be imported in a project. |
nxpfan | 0:a19b70a76e66 | 14 | * NokiaLCD library : http://mbed.org/users/simon/libraries/NokiaLCD/ |
nxpfan | 0:a19b70a76e66 | 15 | */ |
nxpfan | 0:a19b70a76e66 | 16 | |
nxpfan | 0:a19b70a76e66 | 17 | |
nxpfan | 0:a19b70a76e66 | 18 | #include "mbed.h" |
nxpfan | 0:a19b70a76e66 | 19 | #include "MARMEX_OB_oled.h" |
nxpfan | 0:a19b70a76e66 | 20 | |
nxpfan | 0:a19b70a76e66 | 21 | // oled1 is for MARMEX_OB_oled board on MAPLE slot 1 |
nxpfan | 0:a19b70a76e66 | 22 | // oled1 is for MARMEX_OB_oled board on MAPLE slot 2 |
nxpfan | 0:a19b70a76e66 | 23 | |
nxpfan | 0:a19b70a76e66 | 24 | MARMEX_OB_oled oled1( p5, p7, p8, p30, p11 ); // mosi, sclk, cs, rst, power_control |
nxpfan | 0:a19b70a76e66 | 25 | //MARMEX_OB_oled oled2( p5, p7, p26, p21, p17 ); // mosi, sclk, cs, rst, power_control |
nxpfan | 0:a19b70a76e66 | 26 | |
nxpfan | 0:a19b70a76e66 | 27 | |
nxpfan | 0:a19b70a76e66 | 28 | int main() { |
nxpfan | 0:a19b70a76e66 | 29 | oled1.background( 0x000000 ); |
nxpfan | 0:a19b70a76e66 | 30 | oled1.cls(); |
nxpfan | 0:a19b70a76e66 | 31 | |
nxpfan | 0:a19b70a76e66 | 32 | for ( int i = 0; i < 8; i++ ) |
nxpfan | 0:a19b70a76e66 | 33 | 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) ); |
nxpfan | 0:a19b70a76e66 | 34 | |
nxpfan | 0:a19b70a76e66 | 35 | oled1.fill( 50, 50, 64, 64, 0xCCCCCC );; |
nxpfan | 0:a19b70a76e66 | 36 | |
nxpfan | 0:a19b70a76e66 | 37 | oled1.locate( 0, 3 ); |
nxpfan | 0:a19b70a76e66 | 38 | oled1.printf( "Hello World!" ); |
nxpfan | 0:a19b70a76e66 | 39 | oled1.locate( 0, 4 ); |
nxpfan | 0:a19b70a76e66 | 40 | oled1.printf( "SPI = %s", MERMEX_OB_SPI_MODE_STR ); |
nxpfan | 0:a19b70a76e66 | 41 | |
nxpfan | 0:a19b70a76e66 | 42 | for (int i = 0; i < MARMEX_OB_oled::WIDTH; i++ ) { |
nxpfan | 0:a19b70a76e66 | 43 | oled1.pixel( i, 80 + sin( (float)i / 5.0 ) * 10, 0x000000 ); |
nxpfan | 0:a19b70a76e66 | 44 | } |
nxpfan | 0:a19b70a76e66 | 45 | } |
nxpfan | 0:a19b70a76e66 | 46 |