Remarks

Hx8357b
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.TftSpi

Code Example

MicroGraphics graphics;

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

    var spiBus = Device.CreateSpiBus();

    Resolver.Log.Info("Create display driver instance");

    var display = new Hx8357b(
        spiBus: spiBus,
        chipSelectPin: Device.Pins.D02,
        dcPin: Device.Pins.D01,
        resetPin: Device.Pins.D00,
        width: 320, height: 480, colorMode: ColorMode.Format16bppRgb565);

    graphics = new MicroGraphics(display);
    graphics.IgnoreOutOfBoundsPixels = true;

    return base.Initialize();
}

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

    graphics.DrawRectangle(120, 0, 120, 220, Color.White, true);
    graphics.DrawRectangle(0, 0, 120, 20, Color.Red, true);
    graphics.DrawRectangle(0, 20, 120, 20, Color.Purple, true);
    graphics.DrawRectangle(0, 40, 120, 20, Color.Blue, true);
    graphics.DrawRectangle(0, 60, 120, 20, Color.Green, true);
    graphics.DrawRectangle(0, 80, 120, 20, Color.Yellow, true);
    graphics.DrawRectangle(0, 120, 120, 20, Color.Orange, true);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

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

Hx8357b Meadow Pin
GND GND
VCC 3V3
SCL SCK
SDA MOSI
RESET D00
DC D01
CS D02

It should look like the following diagram:

Characteristic Locus
Inheritance object TftSpiBase Hx8357d > Hx8357b
Implements IGraphicsDisplay ISpiPeripheral IDisposable IRotatableDisplay
Inherited Members Hx8357d.DefaultColorMode Hx8357d.SupportedColorModes Hx8357d.SetRotation(RotationType) TftSpiBase.SetAddressBuffer TftSpiBase.ColorMode TftSpiBase.Rotation TftSpiBase.Width TftSpiBase.Height TftSpiBase.PixelBuffer TftSpiBase.DefaultSpiBusSpeed TftSpiBase.SpiBusSpeed TftSpiBase.DefaultSpiBusMode TftSpiBase.SpiBusMode TftSpiBase.IsDisposed TftSpiBase.dataCommandPort TftSpiBase.resetPort TftSpiBase.chipSelectPort TftSpiBase.spiDisplay TftSpiBase.imageBuffer TftSpiBase.readBuffer TftSpiBase.Data TftSpiBase.Command TftSpiBase.nativeHeight TftSpiBase.nativeWidth TftSpiBase.setAddressLastX0 TftSpiBase.setAddressLastX1 TftSpiBase.setAddressLastY0 TftSpiBase.setAddressLastY1 TftSpiBase.IsColorTypeSupported(ColorMode) TftSpiBase.CreateBuffer(ColorMode, int, int) TftSpiBase.SetAddressWindow(int, int, int, int) TftSpiBase.Clear(bool) TftSpiBase.Fill(Color, bool) TftSpiBase.WriteBuffer(int, int, IPixelBuffer) TftSpiBase.DrawPixel(int, int, bool) TftSpiBase.DrawPixel(int, int, Color) TftSpiBase.DrawPixel(int, int, byte, byte, byte) TftSpiBase.InvertPixel(int, int) TftSpiBase.Fill(int, int, int, int, Color) TftSpiBase.Show() TftSpiBase.Show(int, int, int, int) TftSpiBase.Write(byte) TftSpiBase.Write(byte[]) TftSpiBase.DelayMs(int) TftSpiBase.SendCommand(TftSpiBase.Register) TftSpiBase.SendCommand(TftSpiBase.LcdCommand) TftSpiBase.SendCommand(byte) TftSpiBase.SendData(int) TftSpiBase.SendData(byte) TftSpiBase.SendData(byte[]) TftSpiBase.Clear(Color) TftSpiBase.UpdateBuffer() TftSpiBase.Dispose() TftSpiBase.Dispose(bool) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString()
Namespace Meadow.Foundation.Displays
Assembly TftSpi.dll

Syntax

public class Hx8357b : Hx8357d, IGraphicsDisplay, ISpiPeripheral, IDisposable, IRotatableDisplay

Constructors

Hx8357b(ISpiBus, IDigitalOutputPort, IDigitalOutputPort, IDigitalOutputPort, int, int, ColorMode)

Create a new Hx8357b color display object

Declaration
public Hx8357b(ISpiBus spiBus, IDigitalOutputPort chipSelectPort, IDigitalOutputPort dataCommandPort, IDigitalOutputPort resetPort, int width = 320, int height = 480, ColorMode colorMode = ColorMode.Format16bppRgb565)

Parameters

Type Name Description
ISpiBus spiBus

SPI bus connected to display

IDigitalOutputPort chipSelectPort

Chip select output port

IDigitalOutputPort dataCommandPort

Data command output port

IDigitalOutputPort resetPort

Reset output port

int width

Width of display in pixels

int height

Height of display in pixels

ColorMode colorMode

The color mode to use for the display buffer

Remarks

Hx8357b
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.TftSpi

Code Example

MicroGraphics graphics;

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

    var spiBus = Device.CreateSpiBus();

    Resolver.Log.Info("Create display driver instance");

    var display = new Hx8357b(
        spiBus: spiBus,
        chipSelectPin: Device.Pins.D02,
        dcPin: Device.Pins.D01,
        resetPin: Device.Pins.D00,
        width: 320, height: 480, colorMode: ColorMode.Format16bppRgb565);

    graphics = new MicroGraphics(display);
    graphics.IgnoreOutOfBoundsPixels = true;

    return base.Initialize();
}

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

    graphics.DrawRectangle(120, 0, 120, 220, Color.White, true);
    graphics.DrawRectangle(0, 0, 120, 20, Color.Red, true);
    graphics.DrawRectangle(0, 20, 120, 20, Color.Purple, true);
    graphics.DrawRectangle(0, 40, 120, 20, Color.Blue, true);
    graphics.DrawRectangle(0, 60, 120, 20, Color.Green, true);
    graphics.DrawRectangle(0, 80, 120, 20, Color.Yellow, true);
    graphics.DrawRectangle(0, 120, 120, 20, Color.Orange, true);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

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

Hx8357b Meadow Pin
GND GND
VCC 3V3
SCL SCK
SDA MOSI
RESET D00
DC D01
CS D02

It should look like the following diagram:

Hx8357b(ISpiBus, IPin, IPin, IPin, int, int, ColorMode)

Create a new Hx8357b color display object

Declaration
public Hx8357b(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin, int width = 320, int height = 480, ColorMode colorMode = ColorMode.Format16bppRgb565)

Parameters

Type Name Description
ISpiBus spiBus

SPI bus connected to display

IPin chipSelectPin

Chip select pin

IPin dcPin

Data command pin

IPin resetPin

Reset pin

int width

Width of display in pixels

int height

Height of display in pixels

ColorMode colorMode

The color mode to use for the display buffer

Remarks

Hx8357b
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.TftSpi

Code Example

MicroGraphics graphics;

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

    var spiBus = Device.CreateSpiBus();

    Resolver.Log.Info("Create display driver instance");

    var display = new Hx8357b(
        spiBus: spiBus,
        chipSelectPin: Device.Pins.D02,
        dcPin: Device.Pins.D01,
        resetPin: Device.Pins.D00,
        width: 320, height: 480, colorMode: ColorMode.Format16bppRgb565);

    graphics = new MicroGraphics(display);
    graphics.IgnoreOutOfBoundsPixels = true;

    return base.Initialize();
}

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

    graphics.DrawRectangle(120, 0, 120, 220, Color.White, true);
    graphics.DrawRectangle(0, 0, 120, 20, Color.Red, true);
    graphics.DrawRectangle(0, 20, 120, 20, Color.Purple, true);
    graphics.DrawRectangle(0, 40, 120, 20, Color.Blue, true);
    graphics.DrawRectangle(0, 60, 120, 20, Color.Green, true);
    graphics.DrawRectangle(0, 80, 120, 20, Color.Yellow, true);
    graphics.DrawRectangle(0, 120, 120, 20, Color.Orange, true);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

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

Hx8357b Meadow Pin
GND GND
VCC 3V3
SCL SCK
SDA MOSI
RESET D00
DC D01
CS D02

It should look like the following diagram:

Methods

Initialize()

Initialize the display

Declaration
protected override void Initialize()

Overrides

Remarks

Hx8357b
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.TftSpi

Code Example

MicroGraphics graphics;

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

    var spiBus = Device.CreateSpiBus();

    Resolver.Log.Info("Create display driver instance");

    var display = new Hx8357b(
        spiBus: spiBus,
        chipSelectPin: Device.Pins.D02,
        dcPin: Device.Pins.D01,
        resetPin: Device.Pins.D00,
        width: 320, height: 480, colorMode: ColorMode.Format16bppRgb565);

    graphics = new MicroGraphics(display);
    graphics.IgnoreOutOfBoundsPixels = true;

    return base.Initialize();
}

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

    graphics.DrawRectangle(120, 0, 120, 220, Color.White, true);
    graphics.DrawRectangle(0, 0, 120, 20, Color.Red, true);
    graphics.DrawRectangle(0, 20, 120, 20, Color.Purple, true);
    graphics.DrawRectangle(0, 40, 120, 20, Color.Blue, true);
    graphics.DrawRectangle(0, 60, 120, 20, Color.Green, true);
    graphics.DrawRectangle(0, 80, 120, 20, Color.Yellow, true);
    graphics.DrawRectangle(0, 120, 120, 20, Color.Orange, true);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

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

Hx8357b Meadow Pin
GND GND
VCC 3V3
SCL SCK
SDA MOSI
RESET D00
DC D01
CS D02

It should look like the following diagram:

SendCommand(RegisterHX8357B)

Send a command to the display

Declaration
protected void SendCommand(Hx8357b.RegisterHX8357B command)

Parameters

Type Name Description
Hx8357b.RegisterHX8357B command

The command to send

Remarks

Hx8357b
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.TftSpi

Code Example

MicroGraphics graphics;

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

    var spiBus = Device.CreateSpiBus();

    Resolver.Log.Info("Create display driver instance");

    var display = new Hx8357b(
        spiBus: spiBus,
        chipSelectPin: Device.Pins.D02,
        dcPin: Device.Pins.D01,
        resetPin: Device.Pins.D00,
        width: 320, height: 480, colorMode: ColorMode.Format16bppRgb565);

    graphics = new MicroGraphics(display);
    graphics.IgnoreOutOfBoundsPixels = true;

    return base.Initialize();
}

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

    graphics.DrawRectangle(120, 0, 120, 220, Color.White, true);
    graphics.DrawRectangle(0, 0, 120, 20, Color.Red, true);
    graphics.DrawRectangle(0, 20, 120, 20, Color.Purple, true);
    graphics.DrawRectangle(0, 40, 120, 20, Color.Blue, true);
    graphics.DrawRectangle(0, 60, 120, 20, Color.Green, true);
    graphics.DrawRectangle(0, 80, 120, 20, Color.Yellow, true);
    graphics.DrawRectangle(0, 120, 120, 20, Color.Orange, true);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

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

Hx8357b Meadow Pin
GND GND
VCC 3V3
SCL SCK
SDA MOSI
RESET D00
DC D01
CS D02

It should look like the following diagram: