Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 2.1 KB

ls013b4dn04.md

File metadata and controls

54 lines (39 loc) · 2.1 KB

LS013B4DN04 display driver

Copyright 2017 Moddable Tech, Inc.

Revised: December 28, 2017

Warning: These notes are preliminary. Omissions and errors are likely. If you encounter problems, please ask for assistance.

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.