Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 2.14 KB

ls013b4dn04.md

File metadata and controls

63 lines (48 loc) · 2.14 KB

LS013B4DN04 display driver

Copyright 2017-2024 Moddable Tech, Inc.
Revised: September 10, 2024

The LS013B4DN04 Sharp memory display controller drives 1-bit per pixel (black and white) displays. Displays are up to 400 pixels wide and 240 pixels high.

Adding LS013B4DN04 to a project

To add the LS013B4DN04 driver to a project, include its manifest:

"include": [
	/* other includes here */
	"$(MODULES)/drivers/ls013b4dn04/manifest.json"
],

If using Commodetto or Piu, set the screen property of the config object in the manifest to ls013b4dn04 to make LS013B4DN04 the default display driver. Since there is no touch input, set the touch driver name to an empty string to disable it.

"config": {
	"screen": "ls013b4dn04",
	"touch": ""
},

Pixel format

The LS013B4DN04 driver requires 8-bit gray pixels as input. When building with mcconfig, set the pixel format to gray256 on the command line:

mcconfig -m -p esp -f gray256

Defines

In the defines object, declare the pixel width and height.

"defines": {
	"ls013b4dn04": {
		"width": 400,
		"height": 240
	}
}

Configuring SPI

The defines object must contain the spi_port, along with the CS pin number. If the cs_port property is not provided, it defaults to NULL.

"defines": {
	"ls013b4dn04": {
		/* other properties here */
		"cs_pin": 4,
		"spi_port": "#HSPI"
	}
}

The hz property, when present, specifies the SPI bus speed. The default value is 10,000,000 Hz which is near the maximum SPI speed supported by the LS013B4DN04.

Drawing

The LS013B4DN04 driver always updates full scan lines, but can update arbitrary scan lines. This allows for partial updates of full rows. Piu automatically takes care of this, so script using Piu do not need to take this into account. Scripts using Poco need to ensure when calling poco.begin() that the x parameter is zero and the width parameter is equal to poco.width.

Rotation

The LS013B4DN04 driver supports 0 and 180 degree rotation by setting the driver's rotation property: screen.rotation = 180.