var DigitalSensor = require('./base/digitalSensor') var commands = require('../commands') function FourDigitDigitalSensor(pin) { DigitalSensor.apply(this, Array.prototype.slice.call(arguments)) } FourDigitDigitalSensor.prototype = new DigitalSensor() FourDigitDigitalSensor.prototype.init = function() { this.board.pinMode(this.board.OUTPUT) return this.board.writeBytes(commands.fourDigitInit.concat([this.pin, commands.unused, commands.unused])) } FourDigitDigitalSensor.prototype.setNumber = function(value, useLeadingZero) { this.board.pinMode(this.board.OUTPUT) var byte1 = value & 255 var byte2 = value >> 8 var command = useLeadingZero ? commands.fourDigitValue : commands.fourDigitValueZeros var write = this.board.writeBytes(command.concat([this.pin, byte1, byte2])) if (write) { this.board.wait(500) return true } else { return false } } FourDigitDigitalSensor.prototype.setBrightness = function(brightness) { this.board.pinMode(this.board.OUTPUT) var write = this.board.writeBytes(commands.fourDigitBrightness.concat([this.pin, brightness, commands.unused])) if (write) { this.board.wait(500) return true } else { return false } } FourDigitDigitalSensor.prototype.setDigit = function(segment, value) { this.board.pinMode(this.board.OUTPUT) var write = this.board.writeBytes(commands.fourDigitIndividualDigit.concat([this.pin, segment, value])) if (write) { this.board.wait(500) return true } else { return false } } FourDigitDigitalSensor.prototype.setSegment = function(segment, leds) { this.board.pinMode(this.board.OUTPUT) var write = this.board.writeBytes(commands.fourDigitIndividualLeds.concat([this.pin, segment, leds])) if (write) { this.board.wait(500) return true } else { return false } } FourDigitDigitalSensor.prototype.setScore = function(left, right) { this.board.pinMode(this.board.OUTPUT) var write = this.board.writeBytes(commands.fourDigitScore.concat([this.pin, left, right])) if (write) { this.board.wait(500) return true } else { return false } } FourDigitDigitalSensor.prototype.monitor = function(analog, duration) { this.board.pinMode(this.board.OUTPUT) var write = this.board.writeBytes(commands.fourDigitAnalogRead.concat([this.pin, analog, duration])) if (write) { this.board.wait(duration/1000 + 500) // TODO: This should be tested return true } else { return false } } FourDigitDigitalSensor.prototype.on = function() { this.board.pinMode(this.board.OUTPUT) var write = this.board.writeBytes(commands.fourDigitAllOn.concat([this.pin, commands.unused, commands.unused])) if (write) { this.board.wait(500) return true } else { return false } } FourDigitDigitalSensor.prototype.off = function() { this.board.pinMode(this.board.OUTPUT) var write = this.board.writeBytes(commands.fourDigitAllOff.concat([this.pin, commands.unused, commands.unused])) if (write) { this.board.wait(500) return true } else { return false } } module.exports = FourDigitDigitalSensor