Skip to main content

Meadow.Foundation.Displays.Ssd1351

Ssd1351
StatusStatus badge: working
Source codeGitHub
Datasheet(s)GitHub
NuGet packageNuGet Gallery for Meadow.Foundation.Displays.TftSpi

The SSD1351 is a display controller used to drive 16bpp (RGB565) color OLED displays over SPI. These displays are commonly found with a resolution of 128x128.

Code Example

MicroGraphics graphics;

public override Task Initialize()
{
Resolver.Log.Info("Initializing ...");

var spiBus = Device.CreateSpiBus();

var display = new Ssd1351(
spiBus: spiBus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
resetPin: Device.Pins.D00,
width: 128, height: 128);

graphics = new MicroGraphics(display)
{
CurrentFont = new Font8x12(),
IgnoreOutOfBoundsPixels = true
};

return base.Initialize();
}

public override Task Run()
{
graphics.Clear();

graphics.DrawCircle(80, 80, 40, Color.Cyan, false);

int indent = 0;
int spacing = 10;
int y = indent;

graphics.DrawText(indent, y, "Meadow F7 (SSD1351)");

graphics.DrawText(indent, y += spacing, "Red", Color.Red);
graphics.DrawText(indent, y += spacing, "Purple", Color.Purple);
graphics.DrawText(indent, y += spacing, "BlueViolet", Color.BlueViolet);
graphics.DrawText(indent, y += spacing, "Blue", Color.Blue);
graphics.DrawText(indent, y += spacing, "Cyan", Color.Cyan);
graphics.DrawText(indent, y += spacing, "LawnGreen", Color.LawnGreen);
graphics.DrawText(indent, y += spacing, "GreenYellow", Color.GreenYellow);
graphics.DrawText(indent, y += spacing, "Yellow", Color.Yellow);
graphics.DrawText(indent, y += spacing, "Orange", Color.Orange);
graphics.DrawText(indent, y += spacing, "Brown", Color.Brown);

graphics.Show();

return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To wire a Ssd1351 to your Meadow board, connect the following:

Ssd1351Meadow Pin
LED-3V3
LED+GND
MOSICOPI
SCKSCK
RESETD15
A0D14
CSD13
VCC3V3
GNDGND

It should look like the following diagram:

Wiring a Ssd1351 to a Meadow F7

Class Ssd1351

Represents a Ssd1351 TFT color display

Assembly: TftSpi.dll
View Source
Declaration
public class Ssd1351 : TftSpiBase, IPixelDisplay, IDisplay, ISpiPeripheral, IDisposable

Inheritance: System.Object -> Meadow.Foundation.Displays.TftSpiBase

Implements:
Meadow.Peripherals.Displays.IPixelDisplay, Meadow.Peripherals.Displays.IDisplay, Meadow.Hardware.ISpiPeripheral, System.IDisposable

Properties

DefaultColorMode

The default display color mode

View Source
Declaration
public override ColorMode DefaultColorMode { get; }

SupportedColorModes

The color modes supported by the display

View Source
Declaration
public override ColorMode SupportedColorModes { get; }

Methods

Initialize()

Initialize the display

View Source
Declaration
protected override void Initialize()

SetAddressWindow(int, int, int, int)

Set address window to update

View Source
Declaration
protected override void SetAddressWindow(int x0, int y0, int x1, int y1)
Parameters
TypeNameDescription
System.Int32x0Start x position in pixels
System.Int32y0End x position in pixels
System.Int32x1Start y position in pixels
System.Int32y1End y position in pixels

InvertDisplay(bool)

Invert the display

View Source
Declaration
public void InvertDisplay(bool invert)
Parameters
TypeName
System.Booleaninvert

Implements

  • Meadow.Peripherals.Displays.IPixelDisplay
  • Meadow.Peripherals.Displays.IDisplay
  • Meadow.Hardware.ISpiPeripheral
  • System.IDisposable