Remarks

CharlieWing
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.FeatherWings.CharlieWing

Code Example

CharlieWing charlieWing;
MicroGraphics graphics;

public override Task Initialize()
{
    Console.WriteLine("Initialize...");

    charlieWing = new CharlieWing(Device.CreateI2cBus());

    graphics = new MicroGraphics(charlieWing) 
    {
        CurrentFont = new Font4x8()
    };

    return Task.CompletedTask;
}

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

    graphics.DrawText(0, 0, "F7");

    graphics.Show();

    return Task.CompletedTask;
}

Sample project(s) available on GitHub

Characteristic Locus
Inheritance System.Object > CharlieWing
Namespace Meadow.Foundation.FeatherWings
Assembly CharlieWing.dll

Syntax

public class CharlieWing : IGraphicsDisplay

Constructors

CharlieWing(II2cBus, Byte)

Creates a CharlieWing driver

Declaration
public CharlieWing(II2cBus i2cBus, byte address = null)

Parameters

Type Name Description
II2cBus i2cBus

The I2CBus used by the CharlieWing

System.Byte address

The I2C address

Fields

iS31FL3731

Is31fl3731 object to manage the leds

Declaration
protected readonly Is31fl3731 iS31FL3731

Field Value

Type Description
Is31fl3731

Properties

ColorMode

Color mode of display

Declaration
public ColorMode ColorMode { get; }

Property Value

Type Description
ColorMode

Frame

The Is31fl3731 active frame

Declaration
public byte Frame { get; set; }

Property Value

Type Description
System.Byte

Height

Height of display in pixels

Declaration
public int Height { get; }

Property Value

Type Description
System.Int32

PixelBuffer

The pixel buffer that represents the offscreen buffer Not implemented for this driver

Declaration
public IPixelBuffer PixelBuffer { get; }

Property Value

Type Description
IPixelBuffer

SupportedColorModes

Color modes supported by the device

Declaration
public ColorMode SupportedColorModes { get; }

Property Value

Type Description
ColorMode

Width

Width of display in pixels

Declaration
public int Width { get; }

Property Value

Type Description
System.Int32

Methods

Clear(Boolean)

Clear the display buffer

Declaration
public void Clear(bool updateDisplay = false)

Parameters

Type Name Description
System.Boolean updateDisplay

Force a display update if true, false to clear the buffer

DrawPixel(Int32, Int32, Color)

Turn on an RGB LED with the specified color on (x,y) coordinates

Declaration
public void DrawPixel(int x, int y, Color color)

Parameters

Type Name Description
System.Int32 x

The x position in pixels 0 indexed from the left

System.Int32 y

The y position in pixels 0 indexed from the top

Color color

The color to draw normalized to black/off or white/on

DrawPixel(Int32, Int32, Boolean)

Turn on a LED on (x,y) coordinates

Declaration
public void DrawPixel(int x, int y, bool colored)

Parameters

Type Name Description
System.Int32 x

The x position in pixels 0 indexed from the left

System.Int32 y

The y position in pixels 0 indexed from the top

System.Boolean colored

Led is on if true, off if false

DrawPixel(Int32, Int32, Byte)

Turn on LED with the specified brightness on (x,y) coordinates

Declaration
public void DrawPixel(int x, int y, byte brightness)

Parameters

Type Name Description
System.Int32 x

The x position in pixels 0 indexed from the left

System.Int32 y

The y position in pixels 0 indexed from the top

System.Byte brightness

The led brightness from 0-255

Fill(Color, Boolean)

Fill the display buffer to a normalized color

Declaration
public void Fill(Color fillColor, bool updateDisplay = false)

Parameters

Type Name Description
Color fillColor

The clear color which will be normalized to black/off or white/on

System.Boolean updateDisplay

Force a display update if true, false to clear the buffer

Fill(Int32, Int32, Int32, Int32, Color)

Fill the display

Declaration
public void Fill(int x, int y, int width, int height, Color fillColor)

Parameters

Type Name Description
System.Int32 x

The x position in pixels 0 indexed from the left

System.Int32 y

The y position in pixels 0 indexed from the top

System.Int32 width

The width to fill in pixels

System.Int32 height

The height to fill in pixels

Color fillColor

The fillColor color which will be normalized to black/off or white/on

InvertPixel(Int32, Int32)

Invert the color of the pixel at the given location

Declaration
public void InvertPixel(int x, int y)

Parameters

Type Name Description
System.Int32 x

The x position in pixels 0 indexed from the left

System.Int32 y

The y position in pixels 0 indexed from the top

Show()

Update the display from the offscreen buffer

Declaration
public void Show()

Show(Byte)

Update the display from a specific iS31FL3731 frame

Declaration
public void Show(byte frame)

Parameters

Type Name Description
System.Byte frame

The frame to show (0-7)

Show(Int32, Int32, Int32, Int32)

Update a region of the display from the offscreen buffer

Declaration
public void Show(int left, int top, int right, int bottom)

Parameters

Type Name Description
System.Int32 left

The left bounding position in pixels

System.Int32 top

The top bounding position in pixels

System.Int32 right

The right bounding position in pixels

System.Int32 bottom

The bottom bounding position in pixels

WriteBuffer(Int32, Int32, IPixelBuffer)

Draw a buffer to the display

Declaration
public void WriteBuffer(int x, int y, IPixelBuffer displayBuffer)

Parameters

Type Name Description
System.Int32 x

The x position in pixels 0 indexed from the left

System.Int32 y

The y position in pixels 0 indexed from the top

IPixelBuffer displayBuffer

The display buffer to draw to the CharlieWing