A buffered display driver for the SSD1306 OLED controller. Please note that this is a work-in-progress; only very rudimentary drawing support is provided.

Dependents:   Projetv0 greenhouse_proj ProjetLong_Serre_V3 ProjetLong_Serre_V3_1 ... more

Example of use:

#include "mbed.h"

#include "ssd1306.h"
#include "standard_font.h"
#include "bold_font.h"

SSD1306 oled(p8 /* cs */, p9 /* reset */, p14 /* dc */,
             p13 /* clock */, p11 /* data */);

int main()
{
    oled.initialise();
    oled.clear();
    oled.set_contrast(255); // max contrast

    oled.set_font(bold_font, 8);
    oled.printf("Heading\r\n");

    oled.set_font(standard_font, 6);
    oled.printf("Hello World!\r\n");
    oled.printf("Some more text here...");

    oled.update();

    while (1)
    {
        wait(2);
        oled.scroll_up();
        oled.update();
    }
}
Revision:
3:1d9df877c90a
Parent:
2:e479b0296757
--- a/smallfont.h	Tue Feb 05 21:21:22 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-
-#ifndef __SMALLFONT_H__
-#define __SMALLFONT_H__
-
-static char smallfont[] = { 
-    0x01, /* Height in bytes */
-    0x06, /* Widest char width (size of char data) */
-    
-    /*
-    width,----------- data -----------------*/
-    0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ' ' (space)
-    0x02, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, // !
-    0x04, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, // "
-    0x06, 0x0A, 0x1F, 0x0A, 0x1F, 0x0A, 0x00, // #
-    0x06, 0x02, 0x15, 0x1F, 0x15, 0x08, 0x00, // $
-    0x06, 0x13, 0x09, 0x04, 0x12, 0x19, 0x00, // %
-    0x06, 0x08, 0x14, 0x0F, 0x04, 0x04, 0x00, // &
-    0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // '
-    0x03, 0x1E, 0x21, 0x00, 0x00, 0x00, 0x00, // (
-    0x03, 0x21, 0x1E, 0x00, 0x00, 0x00, 0x00, // )
-    0x06, 0x15, 0x0E, 0x1F, 0x0E, 0x15, 0x00, // *
-    0x04, 0x04, 0x0C, 0x04, 0x00, 0x00, 0x00, // +
-    0x03, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, // ,
-    0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, // -
-    0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // .
-    0x06, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, // /
-    0x05, 0x0E, 0x11, 0x11, 0x0E, 0x00, 0x00, // 0
-    0x03, 0x02, 0x1F, 0x00, 0x00, 0x00, 0x00, // 1
-    0x05, 0x18, 0x15, 0x15, 0x12, 0x00, 0x00, // 2 
-    0x05, 0x11, 0x15, 0x15, 0x0A, 0x00, 0x00, // 3
-    0x05, 0x0F, 0x08, 0x1E, 0x08, 0x00, 0x00, // 4
-    0x05, 0x17, 0x15, 0x15, 0x09, 0x00, 0x00, // 5
-    0x05, 0x0E, 0x15, 0x15, 0x08, 0x00, 0x00, // 6
-    0x05, 0x01, 0x11, 0x09, 0x07, 0x00, 0x00, // 7
-    0x05, 0x0A, 0x15, 0x15, 0x0A, 0x00, 0x00, // 8
-    0x05, 0x02, 0x05, 0x05, 0x1E, 0x00, 0x00, // 9
-    0x02, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, // :
-    0x03, 0x10, 0x0A, 0x00, 0x00, 0x00, 0x00, // ;
-    0x05, 0x04, 0x0A, 0x11, 0x00, 0x00, 0x00, // <
-    0x04, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, // =
-    0x05, 0x11, 0x0A, 0x04, 0x00, 0x00, 0x00, // >
-    0x05, 0x01, 0x15, 0x05, 0x02, 0x00, 0x00, // ?
-    0x05, 0x0E, 0x11, 0x15, 0x02, 0x00, 0x00, // @
-    0x05, 0x1E, 0x09, 0x09, 0x1E, 0x00, 0x00, // A
-    0x05, 0x1F, 0x15, 0x15, 0x0A, 0x00, 0x00, // B
-    0x05, 0x0E, 0x11, 0x11, 0x10, 0x00, 0x00, // C
-    0x05, 0x1F, 0x11, 0x11, 0x0E, 0x00, 0x00, // D
-    0x05, 0x1F, 0x15, 0x15, 0x11, 0x00, 0x00, // E
-    0x05, 0x1F, 0x05, 0x05, 0x01, 0x00, 0x00, // F
-    0x05, 0x0E, 0x11, 0x15, 0x1C, 0x00, 0x00, // G
-    0x05, 0x1F, 0x04, 0x04, 0x1F, 0x00, 0x00, // H
-    0x04, 0x11, 0x1F, 0x11, 0x00, 0x00, 0x00, // I
-    0x05, 0x08, 0x11, 0x11, 0x0F, 0x00, 0x00, // J
-    0x05, 0x1F, 0x04, 0x0A, 0x11, 0x00, 0x00, // K
-    0x05, 0x1F, 0x10, 0x10, 0x10, 0x00, 0x00, // L
-    0x06, 0x1F, 0x02, 0x04, 0x02, 0x1F, 0x00, // M
-    0x05, 0x1F, 0x01, 0x01, 0x1E, 0x00, 0x00, // N
-    0x05, 0x0E, 0x11, 0x11, 0x0E, 0x00, 0x00, // O
-    0x05, 0x1F, 0x05, 0x05, 0x02, 0x00, 0x00, // P
-    0x06, 0x0E, 0x11, 0x19, 0x1E, 0x20, 0x00, // Q
-    0x05, 0x1F, 0x05, 0x05, 0x1A, 0x00, 0x00, // R
-    0x05, 0x12, 0x15, 0x15, 0x08, 0x00, 0x00, // S
-    0x04, 0x01, 0x1F, 0x01, 0x00, 0x00, 0x00, // T
-    0x05, 0x0F, 0x10, 0x10, 0x1F, 0x00, 0x00, // U
-    0x06, 0x07, 0x08, 0x10, 0x08, 0x07, 0x00, // V
-    0x06, 0x1F, 0x08, 0x04, 0x08, 0x1F, 0x00, // W
-    0x06, 0x11, 0x0A, 0x04, 0x0A, 0x11, 0x00, // X
-    0x05, 0x03, 0x14, 0x14, 0x0F, 0x00, 0x00, // Y
-    0x05, 0x19, 0x15, 0x13, 0x11, 0x00, 0x00, // Z
-    0x03, 0x3F, 0x21, 0x00, 0x00, 0x00, 0x00, // [
-    0x06, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00, // \\
-    0x01, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, // ?
-    0x03, 0x21, 0x3F, 0x00, 0x00, 0x00, 0x00, // ]
-    0x04, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, // ^
-    0x05, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // _
-    0x03, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, // `
-    0x05, 0x0C, 0x12, 0x12, 0x1C, 0x00, 0x00, // a
-    0x05, 0x1F, 0x12, 0x12, 0x0C, 0x00, 0x00, // b
-    0x05, 0x0C, 0x12, 0x12, 0x12, 0x00, 0x00, // c
-    0x05, 0x0C, 0x12, 0x12, 0x1F, 0x00, 0x00, // d
-    0x05, 0x0E, 0x15, 0x15, 0x02, 0x00, 0x00, // e
-    0x05, 0x04, 0x3E, 0x05, 0x01, 0x00, 0x00, // f
-    0x05, 0x0C, 0x2A, 0x2A, 0x1E, 0x00, 0x00, // g
-    0x05, 0x1F, 0x02, 0x02, 0x1A, 0x00, 0x00, // h
-    0x02, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, // i
-    0x04, 0x20, 0x20, 0x1D, 0x00, 0x00, 0x00, // j
-    0x04, 0x1F, 0x04, 0x1A, 0x00, 0x00, 0x00, // k
-    0x02, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, // l
-    0x06, 0x1C, 0x02, 0x0C, 0x02, 0x1C, 0x00, // m
-    0x05, 0x1E, 0x02, 0x02, 0x1C, 0x00, 0x00, // n
-    0x05, 0x0C, 0x12, 0x12, 0x0C, 0x00, 0x00, // o
-    0x05, 0x3E, 0x12, 0x12, 0x0C, 0x00, 0x00, // p
-    0x05, 0x0C, 0x12, 0x12, 0x3E, 0x00, 0x00, // q
-    0x05, 0x1C, 0x02, 0x02, 0x00, 0x00, 0x00, // r
-    0x05, 0x12, 0x15, 0x15, 0x08, 0x00, 0x00, // s
-    0x05, 0x02, 0x0F, 0x12, 0x02, 0x00, 0x00, // t
-    0x05, 0x0E, 0x10, 0x10, 0x1F, 0x00, 0x00, // u
-    0x04, 0x0C, 0x10, 0x0C, 0x00, 0x00, 0x00, // v
-    0x06, 0x0C, 0x10, 0x0A, 0x10, 0x0C, 0x00, // w
-    0x05, 0x12, 0x0C, 0x0C, 0x12, 0x00, 0x00, // x
-};
-
-#endif