touchSensors.forEach(function (sensor) { robot.addSensor(sensor) })
robot.on('ready', function () { robot.run() })
var wpi = require('wiring-pi') var brickpi = require('brickpi-raspberry-watch') var firebase = require('firebase') var apiKey = require('./config').apiKey var deviceName = require('./config').deviceName var watching = [] firebase.initializeApp({ serviceAccount: './firebase-service-account.json', apiKey: apiKey, databaseURL: 'https://play-ev3.firebaseio.com' }) wpi.setup('wpi') var robot = new brickpi.BrickPi({pollingInterval: 100}) var touchSensors = [1, 2, 3, 4].map(function (num) { wpi.digitalWrite(num, wpi.LOW) return new brickpi.Sensor({ port: brickpi.PORTS['S' + num], type: brickpi.SENSOR_TYPE.NXT.TOUCH }) }) touchSensors.forEach(function (sensor) { robot.addSensor(sensor) }) robot.setup() robot.on('ready', function () { robot.run() }) firebase.database().ref('devices/' + deviceName + '/active').on('value', function (snap) { var devices = snap.val() || [] devices.forEach(function (port) { if (watching.indexOf(port) === -1) { lightToggle(port) sensorSubscribe(port)