Skip to content

File OLED_SSD130x4WireSPI.cpp

File List > examples > OLED_SSD130x4WireSPI > OLED_SSD130x4WireSPI.cpp

Go to the documentation of this file

Source Code

#include "daisy_seed.h"

#include "dev/oled_ssd130x.h"

using namespace daisy;

DaisySeed hw;

int main(void)
{
    hw.Init();

    OledDisplay<SSD130x4WireSpi128x64Driver>         display;
    OledDisplay<SSD130x4WireSpi128x64Driver>::Config display_cfg;


    display_cfg.driver_config.transport_config.spi_config.periph
        = SpiHandle::Config::Peripheral::SPI_1;
    display_cfg.driver_config.transport_config.spi_config.baud_prescaler
        = SpiHandle::Config::BaudPrescaler::PS_8;
    display_cfg.driver_config.transport_config.spi_config.pin_config.sclk
        = seed::D8;
    display_cfg.driver_config.transport_config.spi_config.pin_config.miso
        = Pin();
    display_cfg.driver_config.transport_config.spi_config.pin_config.mosi
        = seed::D10;
    display_cfg.driver_config.transport_config.spi_config.pin_config.nss
        = seed::D7;
    display_cfg.driver_config.transport_config.pin_config.dc    = seed::D0;
    display_cfg.driver_config.transport_config.pin_config.reset = seed::D32;

    display.Init(display_cfg);
    display.Fill(false);
    display.Update();

    while(1)
    {
        System::Delay(1000);

        int seconds = System::GetNow() / 1000.0;

        display.Fill(false);
        display.SetCursor(4, 16);
        display.WriteString("Time since startup:", Font_6x8, true);
        display.SetCursor(4, 32);

        FixedCapStr<16> str("");
        str.AppendInt(seconds);
        display.WriteString(str, Font_11x18, true);

        display.Update();
    }
}