node-epd
v1.0.0
Published
Node.js binding of waveshare e-ink display driver for Raspberry-Pi
Downloads
5
Maintainers
Readme
node-epd
Nodejs library for Waveshare e-Paper modules
Information
Library is writed for 2.9" waveshare e-paper display, but it should work for 1.54", 2.13".
Requirements
- wiringPi
- libfreetype6-dev
Example
var lcd = new Lcd(0, 4, 10, 5, 1, 55); //initialize display
lcd.clear(); //clear all lcd
var fontAwesome = lcd.font('./test/fontawesome-webfont.ttf', 10); //load ttf font
var robotoFont = lcd.font('./test/Roboto-Regular.ttf', 14); //load ttf font
lcd.char(fontAwesome, 50, 110, 0xf206); //draw char (utf16)
lcd.drawString(robotoFont, 10, 50, "Hello"); //draw string (utf8)
lcd.circle(10,20,25, true); //draw filled circle
lcd.rect(50, 8, 50, 50); //draw rect
lcd.update(function() { //update all display
console.log("LCD updated");
lcd.clearPart(); //switch to partitial update mode
lcd.rect(100, 100, 20, 20); //draw rect
lcd.line(100, 100, 120, 120); //draw line in rect
lcd.partUpdate(); //update only changed part of display
});
Documentation
Classes
Typedefs
Lcd
Main Lcd driver class
Kind: global class
- Lcd
- new Lcd(channel, dc, cs, rst, led)
- .font(ttfPath, font) ⇒ FontFace
- .size() ⇒ EpdSize
- .clear()
- .clearPart()
- .update()
- .partUpdate()
- .line(x, y, x2, y2, col)
- .rect(x, y, width, height, fill, col)
- .circle(x, y, r, fill, col)
- .pixel(x, y, col)
- .drawChar(x, y, char) ⇒ Rect
- .drawString(font, x, y) ⇒ Rect
- .color(color)
new Lcd(channel, dc, cs, rst, led)
| Param | Type | Description | | --- | --- | --- | | channel | number | spi channel | | dc | number | dc pin | | cs | number | cs pin | | rst | number | rst pin | | led | number | additional led pin |
lcd.font(ttfPath, font) ⇒ FontFace
Load ttf font
Kind: instance method of Lcd
Returns: FontFace - Description of return value.
| Param | Type | Description | | --- | --- | --- | | ttfPath | string | font path | | font | number | size |
lcd.size() ⇒ EpdSize
Return lcd resolution
Kind: instance method of Lcd
Returns: EpdSize - display width and height
lcd.clear()
Clear whole screen and set all refresh mode
Kind: instance method of Lcd
lcd.clearPart()
Change display mode to partial drawing
Kind: instance method of Lcd
lcd.update()
Update whole screen
Kind: instance method of Lcd
lcd.partUpdate()
Update changed part of screen
Kind: instance method of Lcd
lcd.line(x, y, x2, y2, col)
Draw line
Kind: instance method of Lcd
| Param | Type | Description | | --- | --- | --- | | x | number | start point on x axis | | y | number | start point on y axis | | x2 | number | end point on x axis | | y2 | number | end point on y axis | | col | Color | line color |
lcd.rect(x, y, width, height, fill, col)
Draw rect
Kind: instance method of Lcd
| Param | Type | Description | | --- | --- | --- | | x | number | start point on x axis | | y | number | start point on y axis | | width | number | rect width | | height | number | rect height | | fill | bool | If true rect is filled | | col | Color | rect color |
lcd.circle(x, y, r, fill, col)
Draw circle
Kind: instance method of Lcd
| Param | Type | Description | | --- | --- | --- | | x | number | mid point on x axis | | y | number | mid point on y axis | | r | number | circle size | | fill | bool | If true circle is filled | | col | Color | circle color |
lcd.pixel(x, y, col)
Draw pixel
Kind: instance method of Lcd
| Param | Type | Description | | --- | --- | --- | | x | number | point on x axis | | y | number | point on y axis | | col | Color | pixel color |
lcd.drawChar(x, y, char) ⇒ Rect
Draw character from 16 bit representation
Kind: instance method of Lcd
| Param | Type | Description | | --- | --- | --- | | x | number | point on x axis | | y | number | point on y axis | | char | number | char code |
lcd.drawString(font, x, y) ⇒ Rect
Draw string from 8bit representation
Kind: instance method of Lcd
Returns: Rect - drawed coordinates
| Param | Type | Description | | --- | --- | --- | | font | FontFace | Font to draw string | | x | number | x position | | y | number | y position |
lcd.color(color)
Set default color to use
Kind: instance method of Lcd
| Param | Type | Description | | --- | --- | --- | | color | number | 0 is white, 1 is black, -1 is inversion of current state |
Rect : Object
Rect object
Kind: global typedef
Properties
| Name | Type | | --- | --- | | xMin | number | | yMin | number | | xMax | number | | yMax | number |
FontFace : Object
FT_Face object wrapper
Kind: global typedef
Properties
| Name | Type | Description | | --- | --- | --- | | size | number | font size | | height | number | font size in px |
EpdSize : Object
EpdSize object
Kind: global typedef
Properties
| Name | Type | Description | | --- | --- | --- | | width | number | Display width in px | | height | number | Display height in px |
Color : number
Drawing color -1 inverse, 1 black (default), 0 white
Kind: global typedef