A class library for OLED on MARMEX_OB board. MARY拡張のMARMEX_OB基板のOLEDをmbed+MAPLE基板で動かすためのライブラリです.このサンプルではMAPLEに用意されているMARMEXスロットの1番に搭載したOLEDを制御するようになっています.詳細はCode&APIからソースやAPI詳細をご覧ください
main.cpp@1:a0ac2743f855, 2011-04-07 (annotated)
- Committer:
- nxpfan
- Date:
- Thu Apr 07 23:32:35 2011 +0000
- Revision:
- 1:a0ac2743f855
- Parent:
- 0:a19b70a76e66
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 | 1:a0ac2743f855 | 4 | * @version 0.51 |
nxpfan | 1:a0ac2743f855 | 5 | * @date 08-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 | 1:a0ac2743f855 | 12 | * |
nxpfan | 1:a0ac2743f855 | 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 | 1:a0ac2743f855 | 32 | int colorbar_width = MARMEX_OB_oled::WIDTH / 8; |
nxpfan | 1:a0ac2743f855 | 33 | |
nxpfan | 0:a19b70a76e66 | 34 | for ( int i = 0; i < 8; i++ ) |
nxpfan | 1:a0ac2743f855 | 35 | oled1.fill( colorbar_width * i, 0, colorbar_width, MARMEX_OB_oled::HEIGHT, ((i & 0x4) ? 0xFF0000 : 0x000000) | ((i & 0x2) ? 0x00FF00 : 0x000000) | ((i & 0x1) ? 0x0000FF : 0x000000) ); |
nxpfan | 0:a19b70a76e66 | 36 | |
nxpfan | 0:a19b70a76e66 | 37 | oled1.fill( 50, 50, 64, 64, 0xCCCCCC );; |
nxpfan | 0:a19b70a76e66 | 38 | |
nxpfan | 0:a19b70a76e66 | 39 | oled1.locate( 0, 3 ); |
nxpfan | 0:a19b70a76e66 | 40 | oled1.printf( "Hello World!" ); |
nxpfan | 0:a19b70a76e66 | 41 | oled1.locate( 0, 4 ); |
nxpfan | 0:a19b70a76e66 | 42 | oled1.printf( "SPI = %s", MERMEX_OB_SPI_MODE_STR ); |
nxpfan | 0:a19b70a76e66 | 43 | |
nxpfan | 0:a19b70a76e66 | 44 | for (int i = 0; i < MARMEX_OB_oled::WIDTH; i++ ) { |
nxpfan | 0:a19b70a76e66 | 45 | oled1.pixel( i, 80 + sin( (float)i / 5.0 ) * 10, 0x000000 ); |
nxpfan | 0:a19b70a76e66 | 46 | } |
nxpfan | 0:a19b70a76e66 | 47 | } |
nxpfan | 0:a19b70a76e66 | 48 | |
nxpfan | 1:a0ac2743f855 | 49 | /* |
nxpfan | 1:a0ac2743f855 | 50 | * history: |
nxpfan | 1:a0ac2743f855 | 51 | * 0.5 (2011-Apr-07) : initial published version |
nxpfan | 1:a0ac2743f855 | 52 | * 0.51 (2011-Apr-08) : minor modification to make the source more consistent (use " MARMEX_OB_oled::HEIGHT" instead of 128) |
nxpfan | 1:a0ac2743f855 | 53 | */ |