Remarks
Ili9163 | |
---|---|
Status | |
Source code | GitHub |
Datasheet(s) | GitHub |
NuGet package |
The ILI9163 is a display controller used to drive color displays over SPI using 12, 16 or 18 bbp. These displays require a backlight.
The Meadow.Foundation ILI9163 driver currently only supports 16bpp RGB565.
Purchasing
You can get ILI9163 displays from the following suppliers:
Code Example
MicroGraphics graphics;
public override Task Initialize()
{
Resolver.Log.Info("Initializing ...");
var config = new SpiClockConfiguration(new Frequency(12000, Frequency.UnitType.Kilohertz), SpiClockConfiguration.Mode.Mode0);
var spiBus = Device.CreateSpiBus(Device.Pins.SCK, Device.Pins.MOSI, Device.Pins.MISO, config);
Resolver.Log.Info("Create display driver instance");
var display = new Ili9163
(
spiBus: spiBus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
resetPin: Device.Pins.D00,
width: 128, height: 160
);
graphics = new MicroGraphics(display)
{
IgnoreOutOfBoundsPixels = true,
CurrentFont = new Font8x8()
};
return base.Initialize();
}
public override Task Run()
{
graphics.Clear();
graphics.DrawTriangle(10, 10, 50, 50, 10, 50, Meadow.Foundation.Color.Red);
graphics.DrawRectangle(20, 15, 40, 20, Meadow.Foundation.Color.Yellow, false);
graphics.DrawCircle(50, 50, 40, Meadow.Foundation.Color.Blue, false);
graphics.DrawText(5, 5, "Meadow F7");
graphics.Show();
return base.Run();
}
Sample project(s) available on GitHub
Wiring Example
To wire a Ili9163 to your Meadow board, connect the following:
Ili9163 | Meadow Pin |
---|---|
LED- | 3V3 |
LED+ | GND |
MOSI | MOSI |
SCK | SCK |
RESET | D00 |
A0 | D01 |
CS | D02 |
VCC | 3V3 |
GND | GND |
It should look like the following diagram:
Syntax
public class Ili9163 : TftSpiBase, IGraphicsDisplay
Constructors
Ili9163(ISpiBus, IDigitalOutputPort, IDigitalOutputPort, IDigitalOutputPort, Int32, Int32, ColorMode)
Create a new Ili9163 color display object
Declaration
public Ili9163(ISpiBus spiBus, IDigitalOutputPort chipSelectPort, IDigitalOutputPort dataCommandPort, IDigitalOutputPort resetPort, int width, int height, ColorMode colorMode = default(ColorMode))
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 |
System.Int32 | width | Width of display in pixels |
System.Int32 | height | Height of display in pixels |
ColorMode | colorMode | The color mode to use for the display buffer |
Ili9163(ISpiBus, IPin, IPin, IPin, Int32, Int32, ColorMode)
Create a new Ili9163 color display object
Declaration
public Ili9163(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin, int width, int height, ColorMode colorMode = default(ColorMode))
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 |
System.Int32 | width | Width of display in pixels |
System.Int32 | height | Height of display in pixels |
ColorMode | colorMode | The color mode to use for the display buffer |
Properties
DefautColorMode
The default display color mode
Declaration
public override ColorMode DefautColorMode { get; }
Property Value
Type | Description |
---|---|
ColorMode |
Overrides
SupportedColorModes
The color modes supported by the display
Declaration
public override ColorMode SupportedColorModes { get; }
Property Value
Type | Description |
---|---|
ColorMode |
Overrides
Methods
Initialize()
Initalize the display
Declaration
protected override void Initialize()
Overrides
SetAddressWindow(Int32, Int32, Int32, Int32)
Set the address window to update the display
Declaration
protected override void SetAddressWindow(int x0, int y0, int x1, int y1)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | x0 | X0 |
System.Int32 | y0 | Y0 |
System.Int32 | x1 | X1 |
System.Int32 | y1 | Y1 |