Oled Adafruit i2c SSD1306

Dependencies:   Adafruit_GFX mbed

Fork of Test_OLED_Display by Johannes Stratmann

main.cpp

Committer:
JojoS
Date:
2016-11-10
Revision:
4:be8f6c39c104
Parent:
3:671cc904fce6
Child:
6:48879bf9b5b2

File content as of revision 4:be8f6c39c104:

#include "mbed.h"
#include "Adafruit_SSD1306.h"

// Pindefinitions for ezSBC2 or LPCXpresso

// an SPI sub-class that provides a constructed default
class SPI2 : public SPI
{
public:
    SPI2(PinName mosi, PinName miso, PinName clk) : SPI(mosi, miso, clk) {
        format(8, 3);
        frequency(2000000);
    };
};

// an I2C sub-class that provides a constructed default
class I2C2 : public I2C
{
public:
    I2C2(PinName sda, PinName scl) : I2C(sda, scl) {
        frequency(400000);
        start();
    };
};

#ifdef LPC1347
// ezSBC2
DigitalOut ledRed(P1_16);
DigitalOut ledGreen(P1_15);

I2C2 gI2C(P0_5, P0_4);
Adafruit_SSD1306_I2c gOled2(gI2C, NC, 0x78, 64, 128);
#elif defined(TARGET_LPC824)
DigitalOut ledRed(LED1);
DigitalOut ledGreen(LED2);

I2C2 gI2C(P0_11, P0_10);
Adafruit_SSD1306_I2c gOled2(gI2C, NC, 0x78, 64, 128);
#elif defined(LPC1549)
// LPCXpresso1549
DigitalOut ledRed(LED1);
DigitalOut ledGreen(LED2);

I2C2 gI2C(P0_23, P0_22);
Adafruit_SSD1306_I2c gOled2(gI2C, NC, 0x78, 64, 128);
#else
#error "no target defined"
#endif

int main()
{
    uint16_t x = 0;

    //while(1)
    {
        ledRed = 1;
        ledGreen = 0;
        wait(0.5);

        ledRed = 0;
        ledGreen = 1;
        wait(0.5);
    }

    gOled2.clearDisplay();
    gOled2.display();

    //gOled2.setTextCursor(1, 0);
    gOled2.printf("%ux%u OLED Display\r\n", gOled2.width(), gOled2.height());

    while (1) {
        ledRed = !ledRed;

        gOled2.setTextCursor(0, 10);
        gOled2.printf("%u\r", x);
        gOled2.display();

        x++;
        wait(1.0);
    }
    // AnalogOut sine(PA_4);


}