From 1812e214df3ec6c205ea15194e8f31cd7285fd3d Mon Sep 17 00:00:00 2001 From: Zion Orent Date: Fri, 5 Dec 2014 08:58:39 -0500 Subject: [PATCH] ssd1327: JavaScript example for ssd1327 OLED display Signed-off-by: Zion Orent Signed-off-by: Jon Trulson Signed-off-by: Sarah Knepper --- examples/javascript/oled_ssd1327.js | 195 ++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 examples/javascript/oled_ssd1327.js diff --git a/examples/javascript/oled_ssd1327.js b/examples/javascript/oled_ssd1327.js new file mode 100644 index 00000000..eafbf7dc --- /dev/null +++ b/examples/javascript/oled_ssd1327.js @@ -0,0 +1,195 @@ +/*jslint node:true, vars:true, bitwise:true, unparam:true */ +/*jshint unused:true */ +/*global */ +/* +* Author: Zion Orent +* Copyright (c) 2014 Intel Corporation. +* +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +//Load i2clcd module +var LCD = require('jsupm_i2clcd'); + +var myLcd = new LCD.SSD1327 (0, 0x3C); + +var logoArr = [0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x60, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x06, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x07, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x03, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x03, 0x80, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x07, 0x80, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x01, 0xC0, +0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, +0x07, 0x80, 0x01, 0xE0, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x20, 0x0F, 0x80, 0x01, 0xE0, +0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, +0x0F, 0x00, 0x01, 0xE0, 0x08, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0, +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, +0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0, +0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x38, 0x0F, 0x00, 0x01, 0xE0, +0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, +0x0F, 0x80, 0x01, 0xE0, 0x38, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x3C, 0x0F, 0x80, 0x01, 0xE0, +0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, +0x0F, 0x80, 0x03, 0xE0, 0x78, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1E, 0x07, 0x80, 0x03, 0xE0, +0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, +0x07, 0x80, 0x03, 0xE0, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x1F, 0x07, 0x80, 0x03, 0xC1, +0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, +0x87, 0xC0, 0x07, 0xC1, 0xF0, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x0F, 0x83, 0xC0, 0x07, 0x83, +0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, +0xC3, 0xC0, 0x07, 0x87, 0xE0, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x07, 0xE1, 0xE0, 0x07, 0x0F, +0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, +0xF0, 0xE0, 0x0F, 0x0F, 0x80, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x01, 0xF8, 0xF0, 0x0E, 0x1F, +0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, +0xF8, 0x70, 0x1C, 0x3F, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFC, 0x30, 0x18, 0x7E, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x7F, 0x18, 0x30, 0xFC, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1F, 0x88, 0x21, 0xF0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0xC4, 0x47, 0xE0, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x0F, 0x80, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0xF8, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xE0, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, +0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x6C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, +0x00, 0x00, 0x60, 0x00, 0x7E, 0x3F, 0x0F, 0xC3, +0xF0, 0xFA, 0x0F, 0xDF, 0xE1, 0x9F, 0xEC, 0x7E, +0xE6, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x1C, 0xDF, +0xE1, 0xB9, 0xEC, 0xE7, 0xE0, 0x61, 0xD8, 0x66, +0x1B, 0x86, 0x1C, 0x06, 0x61, 0xB0, 0x6D, 0xC3, +0x7C, 0x7F, 0xFF, 0xFF, 0xFF, 0x06, 0x0F, 0x86, +0x61, 0xB0, 0x6D, 0x83, 0x3E, 0x7F, 0xFF, 0xFF, +0xFF, 0x06, 0x07, 0xC6, 0x61, 0xB0, 0x6D, 0x83, +0xC3, 0x61, 0x18, 0x46, 0x03, 0x86, 0x18, 0x66, +0x61, 0xB0, 0x6D, 0xC3, 0xFE, 0x7F, 0x9F, 0xE7, +0xF9, 0xFE, 0x1F, 0xE6, 0x3F, 0x9F, 0xEC, 0xFE, +0x7E, 0x3F, 0x0F, 0xC3, 0xF0, 0xFA, 0x0F, 0xC6, +0x3F, 0x9F, 0xEC, 0x7E, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, +0x00, 0x20, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x44, 0x00, 0x00, 0x20, 0x82, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xF3, +0xCF, 0x70, 0x9E, 0x79, 0xE7, 0x80, 0x00, 0x00, +0x00, 0x00, 0x7D, 0x9E, 0x68, 0x20, 0xB2, 0xC8, +0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x9E, +0x6F, 0x20, 0xB2, 0xF9, 0xE7, 0x80, 0x00, 0x00, +0x00, 0x00, 0x46, 0x9A, 0x61, 0x20, 0xB2, 0xCB, +0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xF3, +0xCF, 0x30, 0x9E, 0x79, 0xE7, 0x90, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x7C, 0x02, 0x00, 0x00, 0x82, 0x60, 0x00, 0x00, +0xF8, 0x00, 0x00, 0x40, 0x40, 0x02, 0x00, 0x00, +0x83, 0x60, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x40, +0x60, 0xB7, 0x79, 0xE7, 0x81, 0xC7, 0x92, 0x70, +0x89, 0xE7, 0x9E, 0x78, 0x7C, 0xE2, 0xC9, 0x2C, +0x81, 0xCC, 0xD2, 0x40, 0xFB, 0x21, 0xB2, 0x48, +0x40, 0x62, 0xF9, 0x2C, 0x80, 0x8C, 0xD2, 0x40, +0x8B, 0xE7, 0xB0, 0x48, 0x40, 0xE2, 0xC9, 0x2C, +0x80, 0x84, 0xD2, 0x40, 0x8B, 0x2D, 0x92, 0x48, +0x7D, 0xB3, 0x79, 0x27, 0x80, 0x87, 0x9E, 0x40, +0x8D, 0xE7, 0x9E, 0x48, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]; + +var SeeedLogo = new LCD.uint8Array(logoArr.length); +for (var x = 0; x < logoArr.length; x++) + SeeedLogo.setitem(x, logoArr[x]); + +// If you don't set the display to be white, the seeed logo will appear jagged +myLcd.setGrayLevel(12); +myLcd.draw(SeeedLogo, 96 * 96 / 8); + + +for (var i = 0; i < 12; i++) +{ + myLcd.setCursor(i, 0); + myLcd.setGrayLevel(i); + myLcd.write('Hello World'); +} + +myLcd.close(); +