diff --git a/sensehat.js b/sensehat.js index 370ef0c..8d8cf8b 100644 --- a/sensehat.js +++ b/sensehat.js @@ -22,7 +22,7 @@ const leds = [ read_all_leds() io.on('connection', (client) => { - read_all_leds() + client.emit('leds', leds) client.on('action', ({ action, x, y }) => { console.log({ action, x, y }) switch (action) { @@ -37,14 +37,16 @@ io.on('connection', (client) => { case 'hello': sense.flashMessage('HELLO', 1, blue) sense.clear() + read_all_leds(true) break case 'flash': sense.clear([255, 255, 255]) setTimeout(sense.clear, 100) - setTimeout(read_all_leds, 200) + read_all_leds(true) break case 'clear': sense.clear() + read_all_leds(true) break case 'temp': read_all_leds() @@ -52,16 +54,15 @@ io.on('connection', (client) => { default: break } - read_all_leds() + io.emit('leds', leds) }) }) -function read_all_leds() { +function read_all_leds(zero = false) { const pixels = sense.getPixels() for (let y = 0; y < 8; y++) { for (let x = 0; x < 8; x++) { - leds[y][x] = sense.getPixel(x, y)[2] == 0 ? 0 : 1 + leds[y][x] = zero || sense.getPixel(x, y)[2] == 0 ? 0 : 1 } } - io.emit('leds', leds) }