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.
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": ""
},
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
In the defines
object, declare the pixel width
and height
.
"defines": {
"ls013b4dn04": {
"width": 400,
"height": 240
}
}
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.
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
.
The LS013B4DN04 driver supports 0 and 180 degree rotation by setting the driver's rotation
property: screen.rotation = 180
.