Espruino/code/RGB123.js
Gordon Williams f3d6e0bc83 First commit
2013-09-26 14:39:04 +01:00

68 lines
1.4 KiB
JavaScript

SPI2.setup({baud:1600000, mosi:B15});
leds = Graphics.createArrayBuffer(16,16,24,{zigzag:true});
leds.flip = function() { SPI2.send4bit(leds.buffer, 0b0001, 0b0011); }
i=0;
function step() {
i++; if (i>90) i = 0;
leds.clear();
leds.setColor(0,0,0.1);
leds.setFontVector(20);
leds.drawString("Hello",-(i-35),-5);
leds.flip();
}
setInterval(step,50);
// Pong
var leds = Graphics.createArrayBuffer(16,16,24,{zigzag:true});
leds.flip = function() { SPI2.send4bit(leds.buffer, 0b0001, 0b0011); }
function onInit() {
I2C1.setup({scl:B6,sda:B7});
I2C1.writeTo(0x52, [0xF0,0x55]) ;
I2C1.writeTo(0x52, [0xFB,0x00])
SPI2.setup({baud:1600000, mosi:B15});
}
onInit();
function read() {
var d = I2C1.readFrom(0x52, 6);
I2C1.writeTo(0x52, 0);
bx = bx + dx;
by = by + dy;
if (by<0) {
by=0;
dy=Math.abs(dy);
}
if (by>15) {
by=15;
dy=-Math.abs(dy);
}
if (bx<0) {
bx=0;
dx=Math.abs(dx);
}
if (bx>15) {
bx=15;
dx=-Math.abs(dx);
}
var b1 = d[0]/16;
var b2 = d[1]/16;
leds.clear();
leds.setColor(0.1,0,0);
leds.fillRect(0,b1-3,0,b1+3);
leds.fillRect(15,b2-3,15,b2+3);
leds.setColor(0,0.1,0.1);
leds.fillRect(bx,by,bx,by);
leds.flip();
}
var bx = 12;
var by = 13.6;
var dx = 1;
var dy = 0.8;
onInit();
setInterval(read,100);