Skip to main content

Meadow.Foundation.Displays.Il0373

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

The IL0373 is a tri-color display controller for ePaper displays. Data is sent to the controller via SPI and supports partial screen updates.

The IL0373 is commonly paired with 1.54", 2.13" or 2.9" dual or tri-color ePaper displays of various resolutions.

Code Example

MicroGraphics graphics;

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

var display = new Il0373(
spiBus: Device.CreateSpiBus(),
chipSelectPin: Device.Pins.D03,
dcPin: Device.Pins.D02,
resetPin: Device.Pins.D01,
busyPin: Device.Pins.D00,
width: 400,
height: 300);

graphics = new MicroGraphics(display);

return Task.CompletedTask;
}

public override Task Run()
{
//any color but black will show the ePaper alternate color
graphics.DrawRectangle(1, 1, 126, 32, Color.Black, false);

graphics.CurrentFont = new Font12x16();
graphics.DrawText(2, 2, "IL0373", Color.Black);
graphics.DrawText(2, 30, "Meadow F7", Color.Black);

graphics.Show();

return Task.CompletedTask;
}

Sample project(s) available on GitHub

Wiring Example

To control a ILI0373 from Meadow, connect the following:

IL0373Meadow Pin
BUSYD15
RSTD14
DCD13
CSD12
CLKSCK
DINMOSI
GNDGND
3V33V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Class Il0373

Represents an Il0373 ePaper color display 104x212, 2.13inch E-Ink three-color display, SPI interface

Assembly: EPaper.dll
View Source
Declaration
public class Il0373 : EPaperTriColorBase, ISpiPeripheral, IDisposable, IPixelDisplay, IDisplay

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

Derived:
Meadow.Foundation.Displays.Epd2in13b

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

Properties

IsBlackInverted

Is black inverted on this display

View Source
Declaration
protected override bool IsBlackInverted { get; }

IsColorInverted

Is color inverted on this display

View Source
Declaration
protected override bool IsColorInverted { get; }

Methods

Initialize()

Initialize the display

View Source
Declaration
protected override void Initialize()

SetPartialWindow(byte[], byte[], int, int, int, int)

Set partial window for display updates

View Source
Declaration
protected void SetPartialWindow(byte[] bufferBlack, byte[] bufferColor, int x, int y, int width, int height)
Parameters
TypeNameDescription
System.Byte[]bufferBlackThe buffer with black pixel data
System.Byte[]bufferColorThe buffer with color pixel data
System.Int32xThe x start position in pixels
System.Int32yThe y start position in pixels
System.Int32widthThe width to update in pixels
System.Int32heightThe height to update in pixels

SetPartialWindowBlack(byte[], int, int, int, int)

Set partial window for display updates

View Source
Declaration
protected void SetPartialWindowBlack(byte[] bufferBlack, int x, int y, int width, int height)
Parameters
TypeNameDescription
System.Byte[]bufferBlackThe buffer with black pixel data
System.Int32xThe x start position in pixels
System.Int32yThe y start position in pixels
System.Int32widthThe width to update in pixels
System.Int32heightThe height to update in pixels

SetPartialWindowColor(byte[], int, int, int, int)

Set partial window for display updates

View Source
Declaration
protected void SetPartialWindowColor(byte[] bufferColor, int x, int y, int width, int height)
Parameters
TypeNameDescription
System.Byte[]bufferColorThe buffer with color pixel data
System.Int32xThe x start position in pixels
System.Int32yThe y start position in pixels
System.Int32widthThe width to update in pixels
System.Int32heightThe height to update in pixels

Show(int, int, int, int)

Update a region of the display from the offscreen buffer

View Source
Declaration
public override void Show(int left, int top, int right, int bottom)
Parameters
TypeNameDescription
System.Int32leftLeft bounds in pixels
System.Int32topTop bounds in pixels
System.Int32rightRight bounds in pixels
System.Int32bottomBottom bounds in pixels

Show()

Update the display from the offscreen buffer

View Source
Declaration
public override void Show()

ClearFrame()

Clears the SRAM on the display controller Doesn't update the display

View Source
Declaration
protected void ClearFrame()

DisplayFrame()

Display data from the display controller SRAM

View Source
Declaration
public void DisplayFrame()

Sleep()

Set the display to sleep state

View Source
Declaration
protected virtual void Sleep()

Implements

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