/* * SCREENSAVER: bounces a nice little text over the screen */ // for some reason the OLED screen needs this timeout setTimeout(function() { // offsets must be defined for correct display on screen! const Xoffset = 8; const Yoffset = 8; // define the function first, before using it below function displayText(textString, x, y) { // write some text scrn.drawString(textString, Xoffset + x, Yoffset + y); // write to the screen scrn.flip(); // clear a bit of the screen in preparation before next update scrn.clearRect(Xoffset + x, Yoffset + y, Xoffset + x + 30, Yoffset + y + 8); } // MAIN: flash LED (D8) let on = false; let x = 0; let y = 0; let ix = 1; let iy = 1; const txt = 'HELLO'; function go() { setInterval(function() { on = !on; digitalWrite("D8",on); y += iy; x += ix; if (x > (72-(txt.length*8))) ix = -ix; if (y > 34) iy = -iy; if (x < 1) ix = -ix; if (y < 1) iy = -iy; displayText(txt, x, y); }, 100); } // // required modules/libraries (in Espruino must be included at the end due to needing functions) // I2C1.setup({scl:"D6",sda:"D5"}); // I2C setup // initialize the screen and its dimensions (null can be replaced by a callback) const scrn = require("SSD1306").connect(I2C1, main, { width:72, height:48 }); // for 72x48 LCD }, 5000);