Giter Club home page Giter Club logo

char-lcd's Introduction

char-lcd

npm

Character LCD display emulator

Emulate Hitachi HD44780 and compatible devices in HTML

HD44780-A00 (Japanese standard font)

polymer-char-lcd

HD44780-A02 (European standard font)

polymer-char-lcd

Install

npm install char-lcd --save
or yarn add char-lcd
or clone the whole project from GitHub

Usage

Web Component (Polymer)

https://github.com/jazz-soft/polymer-char-lcd

Plain HTML
<script src="char-lcd.js"></script>
//...
CDN (jsdelivr)
<script src="https://cdn.jsdelivr.net/npm/char-lcd"></script>
//...
CDN (unpkg)
<script src="https://unpkg.com/char-lcd"></script>
//...
CommonJS
var CharLCD = require('char-lcd');
//...
TypeScript / ES6
import { CharLCD } from 'char-lcd';
//...
AMD
require(['char-lcd'], function(CharLCD) {
  // ...
});

Example

<div id=lcd></div>
...
var lcd = new CharLCD({ at: 'lcd', rows: 2, cols: 16, rom: 'eu' });
// Map UNICODE string to the internal character set:
lcd.text(0, 0, "ЁЛКИ-ПАЛКИ!");

API

constructor

var lcd = new CharLCD(params);
params is an object with the following keys:

  • at: a DOM element in which to place the object, or its id; default: at the bottom of the page;
  • rom: jp (default) for Japanese standard font, or eu for European standard font.
  • rows: - number of rows; default: 2;
  • cols: - number of columns; default: 16;

Unlike the real hardware where only certain combinations of rows/cols exist, there are no restrictions in the simulator;

char(r, c, h)

lcd.char(r, c, h); - set the character at row r, column c to byte h.

text(r, c, s)

lcd.text(r, c, s); - print string s at row r, column c.
This function treats \n as new line and maps UNICODE characters to the internal character set.

font(n, data)

lcd.font(n, data); - define the pixels for the n-th character; data is an array of up to 10 bytes.
In real hardware, only first 8 characters can be changed, but there is no such limitation in the simulator.

char-lcd's People

Contributors

jazz-soft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

gargamil sbsev3

char-lcd's Issues

Missing license

Hi,

I was looking at your repo in search for a character map UNICODE => DRAM codes.
Could you please specify under which license your code is published?

Thank you very much!

  • Simon

License

Is it possible to add a license to this repo? Would really appreciate MIT as a great choice, so anyone can use your great emulator! :-)

Improved documentation on lcd.char

When mentioning lcd.char in readme.md, there are absolutely NO instructions on how to set the byte.

I think it would help the users more if you taught them how to set the byte.
The way is to use String.fromCharCode([number]) ranging from 16 through 255. (16 is the first non-blank character)
If someone is using the test.html as a reference guide, just convert the hex character to decimal
An example is lcd.char(0, 0, String.fromCharCode(16));

Hope this helps anyone else who had this problem!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.