ws-paper
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Waveshare Paper

High-level javascript library and CLI for drawing on a Waveshare e-Paper using Raspberry PI GPIO.

Currently, only a single device support is implemented, EPD 7.5inch HD (B).

The source is inspired by original waveshare example code.

Library documentation is at https://ziacik.github.io/ws-paper/.

Prerequisites

Because the library uses SPI to write data to the device, SPI access need to be enabled on Raspberry.

To do that, run

sudo raspi-config

Then select Interface Options, and enable SPI.

Usage as a library

Install npm i ws-paper.

Import a specific implementation of Device, and a high-level class for drawing, Drawer.

Initialize the device, draw whatever you need to, and don't forget to finalize the device at the end, even in case of error.

Example:

import { Drawer, Paper75HDB } from "ws-paper";

const device = new Paper75HDB();
const drawer = new Drawer(device);

const svg = `<svg width="${device.width}" height="${device.height}"><text font-size="50" x="50%" y="20%" text-anchor="middle">Hello, world!</text></svg>`;

device.initialize();
drawer.drawSvg(svg).finally(() => device.finalize());

Usage as a CLI

Install globally npm i -g ws-paper.

Run ws-paper --help to get list of available commands.

Example:

sudo ws-paper draw "<svg width='880' height='${device.height}'><text font-size='50' x='50%' y='20%' text-anchor='middle'>Hello, world!</text></svg>"

Please note, sudo is needed because rpio needs access to /dev/mem which is not allowed for non-root users.

Package Sidebar

Install

npm i ws-paper

Weekly Downloads

12

Version

1.0.2

License

MIT

Unpacked Size

42 kB

Total Files

40

Last publish

Collaborators

  • ziacik