You are reading a single comment by @GarrettL and its replies. Click here to read the full conversation.
  • in function called from system
    Uncaught Error: Function "getPattern" not found!
    at line 129 col 1
    getPattern();
    ^
    in function called from system
    
    Unknown LCD code 35208 35209
    
    | |_ ___ ___ _ ||___ ___
    | |_ -| . | _| | | | | . |
    ||| || |_|||_|_|
    
          |_| http://espruino.com
    1v84 Copyright 2015 G.Williams
    I keep getting this error, the first part will send 100+ times. and the actual program is this, any ideas?
    
    /*var sensor = require("HC-SR04").connect(C6,C7,functio­n(dist) {
    console.log(dist+" cm away");
    });
    setInterval(function() {
    sensor.trigger(); // send pulse
    }, 500);
    */
    
    SPI2.setup({baud:3200000, mosi:B15});
    var rgb = new Uint8Array(50*3);
    
    var pos=0;
    
    function lightsOff() {
    clearInterval(cycle);
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
    rgb[i  ] = 0;
    rgb[i+1] = 0;
    rgb[i+2] = 0;
    }
    SPI2.send4bit(rgb, 0b0001, 0b0011);
    }
    
    var patterns = [];
    //patterns.push(lightsOff);
    patterns.push(function() {
    // Fading white lights
    
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
     var col = (Math.sin(i+pos*0.2)+1) * 127;
     rgb[i  ] = col;
     rgb[i+1] = col;
     rgb[i+2] = col;
    LCD.drawRect(0,0,320,240);
    LCD.fillRect(0,0,320,240);
    LCD.setColor(255,255,255);
    }
    });
    patterns.push(function() {
    // Red Light
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
     var col = 255;
     rgb[i  ] = col;
     rgb[i+1] = 0;
     rgb[i+2] = 0;
    LCD.drawRect(0,0,320,240);
    LCD.fillRect(0,0,320,240);
    LCD.setColor(255,0,0);
    }
    });
    patterns.push(function() {
    // Green Light
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
     var col = 255;
     rgb[i  ] = 0;
     rgb[i+1] = col;
     rgb[i+2] = 0;
    LCD.drawRect(0,0,320,240);
    LCD.fillRect(0,0,320,240);
    LCD.setColor(0,255,0);
    }
    });
    patterns.push(function() {
    // Blue Light
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
     var col = 255;
     rgb[i  ] = 0;
     rgb[i+1] = 0;
     rgb[i+2] = col;
    LCD.drawRect(0,0,320,240);
    LCD.fillRect(0,0,320,240);
    LCD.setColor(0,0,255);
    }
    });
    patterns.push(function() {
    // Yellow light
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
     var col = 255;
     rgb[i  ] = col;
     rgb[i+1] = col;
     rgb[i+2] = 0;
    LCD.drawRect(0,0,320,240);
    LCD.fillRect(0,0,320,240);
    LCD.setColor(255,255,0);
    }
    });
    patterns.push(function() {
    // Cyan light
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
     var col = 255;
     rgb[i  ] = 0;
     rgb[i+1] = col;
     rgb[i+2] = col;
    LCD.drawRect(0,0,320,240);
    LCD.fillRect(0,0,320,240);
    LCD.setColor(0,255,255);
    }
    });
    patterns.push(function() {
    // Fading colours
    pos++;
    for (var i=0;i<rgb.length;i+=3) {
    
     rgb[i  ] = (1 + Math.sin((i+pos)*0.1324))*127;
     rgb[i+1] = (1 + Math.sin((i+pos)*0.1654))*127;
     rgb[i+2] = (1 + Math.sin((i+pos)*0.1)) * 127;
    }
    });
    patterns.push(function() {
    // Random blue lights
    for (var i=0;i<rgb.length;i+=3) {
    
     rgb[i  ] = 0;
     rgb[i+1] = 0;
     rgb[i+2] = Math.random()*255;
    }
    });
    
    var getPattern = patterns[0];
    
    function doLights() {
    
    getPattern();
    
    SPI2.send4bit(rgb, 0b0001, 0b0011);
    }
    
    var patternNumber = 0;
    function changePattern() {
    patternNumber = (patternNumber+1);
    //% patterns.length;
    getPattern = patterns[patternNumber];
    }
    
    setWatch(changePattern, BTN, { repeat: true, edge:'rising' });
    //falling
    cycle = setInterval(doLights,50);
    
About

Avatar for GarrettL @GarrettL started