lcdks: renamed from sainsmartks, added backlight support

The sainsmartks driver has been reimplemented in it's own, new C/C++
library: lcdks (LCD Keypad Shield).

In addition, support for an optional backlight GPIO was added.

This was tested with the SainsmartKS and DFRobot LCD Keypad Shields.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
This commit is contained in:
Jon Trulson
2017-03-16 12:12:01 -06:00
parent ab171573f9
commit 4ea01180a1
15 changed files with 1107 additions and 43 deletions

View File

@ -1,6 +1,8 @@
/*
* Author: Jon Trulson <jtrulson@ics.com>
* Copyright (c) 2015 Intel Corporation.
* Copyright (c) 2017 Intel Corporation.
*
* The MIT License
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@ -22,29 +24,32 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
var sainsmartObj = require('jsupm_i2clcd');
var lcdksObj = require('jsupm_lcdks');
// Instantiate a Sainsmart LCD Keypad Shield using default pins
var lcd = new sainsmartObj.SAINSMARTKS();
// Instantiate a LCDKS (LCD Keypad Shield) using default pins
// NOTE: The default pins do not include support for a gpio
// controlled backlight. If you need one, you will need to specify
// all neccessary pins to the constructor.
var lcd = new lcdksObj.LCDKS();
lcd.setCursor(0,0);
lcd.write("Sainsmart KS");
lcd.write("LCDKS driver");
lcd.setCursor(1,2);
lcd.write("Hello World");
// output current key value every second.
setInterval(function()
{
console.log("Button value: " + lcd.getRawKeyValue());
console.log("Button value: " + lcd.getKeyValue());
}, 1000);
// exit on ^C
process.on('SIGINT', function()
{
lcd = null;
sainsmartObj.cleanUp();
sainsmartObj = null;
lcdksObj.cleanUp();
lcdksObj = null;
console.log("Exiting.");
process.exit(0);
});