Skip to main content

Class Sh110x

Provide an interface to the Sh110x family of displays

Assembly: Sh110x.dll​
View Source​
Declaration
public abstract class Sh110x : IPixelDisplay, IDisplay, ISpiPeripheral, II2cPeripheral, IDisposable

Derived:
Meadow.Foundation.Displays.Sh1106

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

Properties​

ColorMode​

The currently set color mode for the display

View Source​
Declaration
public ColorMode ColorMode { get; }

SupportedColorModes​

The Color mode supported by the display

View Source​
Declaration
public ColorMode SupportedColorModes { get; }

Width​

Width of the display in pixels

View Source​
Declaration
public int Width { get; protected set; }

Height​

Height of the display in pixels

View Source​
Declaration
public int Height { get; protected set; }

DefaultSpiBusSpeed​

The default SPI bus speed for the device

View Source​
Declaration
public Frequency DefaultSpiBusSpeed { get; }

SpiBusSpeed​

The SPI bus speed for the device

View Source​
Declaration
public Frequency SpiBusSpeed { get; set; }

DefaultSpiBusMode​

The default SPI bus mode for the device

View Source​
Declaration
public SpiClockConfiguration.Mode DefaultSpiBusMode { get; }

SpiBusMode​

The SPI bus mode for the device

View Source​
Declaration
public SpiClockConfiguration.Mode SpiBusMode { get; set; }

DefaultI2cAddress​

The default I2C address for the peripheral

View Source​
Declaration
public byte DefaultI2cAddress { get; }

PixelBuffer​

The buffer the holds the pixel data for the display

View Source​
Declaration
public IPixelBuffer PixelBuffer { get; }

IsDisposed​

Is the object disposed

View Source​
Declaration
public bool IsDisposed { get; }

Fields​

connectionType​

The connection type (I2C or SPI)

View Source​
Declaration
protected Sh110x.ConnectionType connectionType

i2cComms​

I2C Communication bus used to communicate with the peripheral

View Source​
Declaration
protected readonly II2cCommunications? i2cComms

spiComms​

SPI Communication bus used to communicate with the peripheral

View Source​
Declaration
protected ISpiCommunications? spiComms

commandBuffer​

Display command buffer

View Source​
Declaration
protected Memory<byte> commandBuffer

Methods​

SetDisplayOffsets(byte, byte)​

This varies between manufacturers If the display is misaligned horizontally, try offset values like 0x00, 0x20, 0x40, etc. If the display is misaligned vertically, try offset values like 0x00, 0x20, 0x40, etc.

View Source​
Declaration
public abstract void SetDisplayOffsets(byte startLine = 0, byte offset = 0)
Parameters​
TypeNameDescription
System.BytestartLineLine number in display RAM to display at the top of the screen
System.ByteoffsetColumn number in display RAM to offset the screen

SetDisplayOffset(byte)​

This varies between manufacturers If the display is misaligned horizontally, try offset values like 0x00, 0x20, 0x40, etc.

View Source​
Declaration
public void SetDisplayOffset(byte offset = 0)
Parameters​
TypeNameDescription
System.ByteoffsetColumn number in display RAM to offset the screen

InvertDisplay(bool)​

Invert the entire display (true) or return to normal mode (false)

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

PowerSaveMode()​

Set display into power saving mode

View Source​
Declaration
public void PowerSaveMode()

Reset()​

Reset for SPI displays

View Source​
Declaration
protected void Reset()

Initialize()​

Initialize the display

View Source​
Declaration
protected abstract void Initialize()

SetContrast(byte)​

Set the display contrast

View Source​
Declaration
public void SetContrast(byte contrast)
Parameters​
TypeNameDescription
System.BytecontrastThe contrast value (0-255)

Show()​

Send the internal pixel buffer to display

View Source​
Declaration
public void Show()

Show(int, int, int, int)​

Update a region of the display from the offscreen buffer.

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

Clear(bool)​

Clear the display buffer

View Source​
Declaration
public void Clear(bool updateDisplay = false)
Parameters​
TypeNameDescription
System.BooleanupdateDisplayImmediately update the display when true

DrawPixel(int, int, Color)​

Draw pixel at a location

View Source​
Declaration
public void DrawPixel(int x, int y, Color color)
Parameters​
TypeNameDescription
System.Int32xAbscissa of the pixel to the set / reset
System.Int32yOrdinate of the pixel to the set / reset
Meadow.ColorcolorAny color = turn on pixel, black = turn off pixel

DrawPixel(int, int, bool)​

Draw pixel at a location

View Source​
Declaration
public void DrawPixel(int x, int y, bool enabled)
Parameters​
TypeNameDescription
System.Int32xAbscissa of the pixel to the set / reset
System.Int32yOrdinate of the pixel to the set / reset
System.BooleanenabledTrue = turn on pixel, false = turn off pixel

InvertPixel(int, int)​

Invert a pixel at a location

View Source​
Declaration
public void InvertPixel(int x, int y)
Parameters​
TypeNameDescription
System.Int32xAbscissa of the pixel to the set / reset
System.Int32yOrdinate of the pixel to the set / reset

StartScrolling(ScrollDirection)​

Start the display scrolling in the specified direction.

View Source​
Declaration
public void StartScrolling(Sh110x.ScrollDirection direction)
Parameters​
TypeNameDescription
Meadow.Foundation.Displays.Sh110x.ScrollDirectiondirectionDirection that the display should scroll

StartScrolling(ScrollDirection, byte, byte)​

Start the display scrolling

View Source​
Declaration
public void StartScrolling(Sh110x.ScrollDirection direction, byte startPage, byte endPage)
Parameters​
TypeNameDescription
Meadow.Foundation.Displays.Sh110x.ScrollDirectiondirectionDirection that the display should scroll
System.BytestartPageStart page for the scroll
System.ByteendPageEnd page for the scroll

StopScrolling()​

Turn off scrolling

View Source​
Declaration
public void StopScrolling()

Fill(Color, bool)​

Fill display buffer with a color

View Source​
Declaration
public void Fill(Color clearColor, bool updateDisplay = false)
Parameters​
TypeNameDescription
Meadow.ColorclearColorThe fill color
System.BooleanupdateDisplayIf true, update display

Fill(int, int, int, int, Color)​

Fill with a color

View Source​
Declaration
public void Fill(int x, int y, int width, int height, Color color)
Parameters​
TypeNameDescription
System.Int32xX start position in pixels
System.Int32yY start position in pixels
System.Int32widthWidth in pixels
System.Int32heightHeight in pixels
Meadow.ColorcolorThe fill color

WriteBuffer(int, int, IPixelBuffer)​

Write a buffer to the display offscreen buffer

View Source​
Declaration
public void WriteBuffer(int x, int y, IPixelBuffer displayBuffer)
Parameters​
TypeNameDescription
System.Int32xThe x position in pixels to write the buffer
System.Int32yThe y position in pixels to write the buffer
Meadow.Peripherals.Displays.IPixelBufferdisplayBufferThe buffer to write

Dispose()​

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

View Source​
Declaration
public void Dispose()

Dispose(bool)​

Dispose of the object

View Source​
Declaration
protected virtual void Dispose(bool disposing)
Parameters​
TypeNameDescription
System.BooleandisposingIs disposing

Implements​

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