init: function () { //Init for the ultrasonics usonic.init(function (error){ if(error){ console.log("Error INIT sensors") } else{ var echoPin = 8; var triggerPin = 7; var sensor = usonic.createSensor(echoPin, triggerPin, 1000); } }); // gpio.close(this.motors.leftPower); gpio.close(this.motors.leftFront); gpio.close(this.motors.leftBack); // gpio.close(this.motors.rightPower); gpio.close(this.motors.rightFront); gpio.close(this.motors.rightBack); // gpio.open(this.motors.leftPower, "output", function (err) {}); gpio.open(this.motors.leftFront, "output", function (err) {}); gpio.open(this.motors.leftBack, "output", function (err) {}); // gpio.open(this.motors.rightPower, "output", function (err) {}); gpio.open(this.motors.rightFront, "output", function (err) {}); gpio.open(this.motors.rightBack, "output", function (err) {}); gpio.open(7, "output", function (err) {}); },
tank.initPins = function() { async.parallel([ gpio.open(_leftMotorFront), gpio.open(_leftMotorBack), gpio.open(_rightMotorFront), gpio.open(_rightMotorBack) ]); };
setTimeout(function(){ if (enable){ gpio.open(element, "output", function(err){ setTimeout(function(){ gpio.write(element, pinArray[element], function(err) { cb(null); }); }, 100); }); } else { gpio.open(element, "input", function(err){ cb(null); }); } }, 100);
gpio.close(pin.nr, function(){ gpio.open(pin.nr, "output", function(err) { if(!err) { pin.isOpen = true; } }) });
exports.pulseGate = function(){ gpio.open(26,"output",function(err){ gpio.write(26,1,function(){ gpio.close(26); }); }); }
node.on('node::lightUp', function (senderId, data) { gpio.open(7, 'output', function (err) { // if (err) console.log(err); gpio.read(7, function (err, value) { if (err) console.log(err); console.log('value is: ' + value); var newval = 0; if (value === 0) { newval = 1; } gpio.write(7, newval, function (err) { if (err) console.log(err); //gpio.close(7, function (err) { // if (err) console.log(err); // console.log('pin closed'); //}); }); }); }); });
funcArray.push(function(cb){ if (emc_state != enable){ // close and then do stuff gpio.close(element, function(){ setTimeout(function(){ if (enable){ gpio.open(element, "output", function(err){ setTimeout(function(){ gpio.write(element, pinArray[element], function(err) { cb(null); }); }, 100); }); } else { gpio.open(element, "input", function(err){ cb(null); }); } }, 100); }); } else { if (enable){ gpio.write(element, pinArray[element], function(err) { cb(null); }); } else { gpio.open(element, "input", function(err){ cb(null); }); } } });
gpio.open(button, "input pullup", function (err){ gpio.open(busy, "output", function(err){ logger.write("waiting for button press"); var state = 1; var count = 20; var intervalId = setInterval(function(){ // toggle the ready button count++; if (count >= 20) { state = state ? 0 : 1; toggle(busy, state); count = 0; } gpio.read(button, function(err, value){ if ( (value == 0 && calledBack == false) || (wait == false && calledBack == false)) { calledBack = true; clearInterval(intervalId); emc(0, function(){ // not ready anymore async.series(funcArray, function (err, results){ logger.write("done with setting up"); toggle(busy, 0, function(){ callback(); }, 1500); }); }); } }); }, 20); }); });
var actuator = function(data) { if (data.value === undefined) { return; } console.log('Switching relay: '+data.value); gpio.open(11, "output", function(err) { gpio.write(11, data.value, function(err) { updateState(data.value); gpio.close(11); }); }); if (data.value) { // Schedule turnoffTask, cancelling the previous task if exists if (turnoffTask != null) { clearTimeout(turnoffTask); } turnoffTask = setTimeout(actuator, data.timeout || config['turnOffDelay'], {value: false}); } else { // If turning off, cancel the outstanding turnoffTask if (turnoffTask != null) { clearTimeout(turnoffTask); } turnoffTask = null; } };
turnLedOn = function() { gpio.open(11, "output", function(err) { // Open pin 16 for output gpio.write(11, 1, function() { // Set pin 16 high (1) gpio.close(11); // Close pin 16 }); }); }
var pinOff = function (pin) { gpio.open(pin, "output", function(err) { gpio.write(pin, 0, function() { gpio.close(pin); }); }); };
// Flash LED function flash(pin, interval, duration) { var intervalId; var durationId; // Open pin for output gpio.open(pin, "output", function(err) { var on = 1; console.log('GPIO '+pin+' is open. toggling LED every '+interval+' mS for ' +duration+ ' mS'); intervalId = setInterval(function() { gpio.write(pin, on, function() { // toggle pin between high (1) and low (0) on = (on + 1) % 2; //console.log(on) }); }, interval); }); durationId = setTimeout(function() { clearInterval(intervalId); clearTimeout(durationId); console.log('10onds blinking completed'); // turn off pin 16 and close pin gpio.write(pin, 0, function() { gpio.close(pin); }); }, duration); // duration in mS }
gpio.open(redLed, "output", function(err) { gpio.open(amberLed, "output", function(err) { gpio.open(greenLed, "output", function(err) { lights.ready(); }); }); });
function setup(callback, wait){ logger.write("setting up..."); var funcArray = []; [reset, ledDfu, ledFirmware, ledJS, ledPins, ledWifi, ledDone, ledError, config, extPwr, usbPwr].forEach(function(element){ funcArray.push(function(cb){ gpio.open(element, "output", function(err){ if (element == usbPwr || element == reset) { gpio.write(element, 1, function(err) { cb(null); }); } else { gpio.write(element, 0, function(err) { cb(null); }); } }); }); }); var calledBack = false; // have all emcs be inputs // wait until a button is pressed. gpio.open(button, "input pullup", function (err){ gpio.open(busy, "output", function(err){ logger.write("waiting for button press"); var state = 1; var count = 20; var intervalId = setInterval(function(){ // toggle the ready button count++; if (count >= 20) { state = state ? 0 : 1; toggle(busy, state); count = 0; } gpio.read(button, function(err, value){ if ( (value == 0 && calledBack == false) || (wait == false && calledBack == false)) { calledBack = true; clearInterval(intervalId); emc(0, function(){ // not ready anymore async.series(funcArray, function (err, results){ logger.write("done with setting up"); toggle(busy, 0, function(){ callback(); }, 1500); }); }); } }); }, 20); }); }); }
_.each(self.pinMap, function (k, v) { try { gpio.open(v.pin, 'output'); } catch (err) { console.log(err); v.open = true; } });
function writeHigh(pin){ console.log(pin + " high"); gpio.open(pin, "output", function(err) { gpio.write(pin, 1, function() { gpio.close(pin); }); }); }
function writeToPin() { gpio.open(7, "output", function(err) { // Open pin 16 for output gpio.write(7, 1, function(err, value) { // Set pin 16 high (1) console.log(value); gpio.close(7); // Close pin 16 }); }); }
function writeLow(pin){ console.log(pin + " low"); gpio.open(pin, "output", function(err) { gpio.write(pin, 0, function() { gpio.close(pin); }); }); }
function readPin(pinNo, func){ gpio.open(pinNo, "input", function(err){ gpio.read(pinNo, function(err, val){ gpio.close(pinNo); func(val); }); }); }
function closePin(pin) { console.log(pin + 'off'); gpio.open(pin, "output", function (err) { gpio.write(pin, 0, function () { gpio.close(pin); }); }); }
init: function () { // gpio.close(this.motors.leftPower); gpio.close(this.motors.leftFront); gpio.close(this.motors.leftBack); // gpio.close(this.motors.rightPower); gpio.close(this.motors.rightFront); gpio.close(this.motors.rightBack); // gpio.open(this.motors.leftPower, "output", function (err) {}); gpio.open(this.motors.leftFront, "output", function (err) {}); gpio.open(this.motors.leftBack, "output", function (err) {}); // gpio.open(this.motors.rightPower, "output", function (err) {}); gpio.open(this.motors.rightFront, "output", function (err) {}); gpio.open(this.motors.rightBack, "output", function (err) {}); gpio.open(7, "output", function (err) {}); },
function initMotorDriver(standByPinNr) { gpio.open(standByPinNr, "output", function(err) { gpio.write(standByPinNr, 1, function() { gpio.close(standByPinNr); }); }); return motorFactory; }
reset: function reset() { console.log("Reseting: " + leadid); //turning off this lead gpio.open(leadid, "output", function(err) { gpio.write(leadid, 0, function() { gpio.close(leadid); }); }); },
turnOn: function(callback) { gpio.open(config.gpiopump, "output", function(err) { gpio.write(config.gpiopump, 1, function() { gpio.close(config.gpiopump); this.pumpOn = true; callback(); }); }); },
function closePin(pin){ console.log('Turning pin off since we are done.'); console.log(pin + " -"); gpio.open(pin, "output", function(err) { gpio.write(pin, 0, function() { gpio.close(pin); }); }); }
turnOff: function() { gpio.open(config.gpiopump, "output", function(err) { gpio.write(config.gpiopump, 0, function() { gpio.close(config.gpiopump); this.pumpOn = false; callback(); }); }); }
function switchLED(pin, stat, callback) { led_prev_stat = led_status; gpio.open(pin, "output", function(err) { led_status = stat; gpio.write(pin, led_status, function() { gpio.close(pin, callback()); }); }); }
function writePin(led, state){ var output = state ? 1 : 0; gpio.open(led, "output", function(err) { gpio.write(led, output, function() { //console.log("Wrote " + state + " to pin"); gpio.close(led) }); }); }
app.get('/yellow/on', function(req,res){ gpio.open(7, "output", function(err){ console.log(err); gpio.write(7,0, function(){ //set pin to low gpio.close(7); res.write('Pin 7 is set to LOW'); res.end(); }); }); });
app.get('/red/on', function(req,res){ gpio.open(12, "output", function(err){ console.log(err); gpio.write(12,0, function(){ gpio.close(12); res.write('Pin 12 is set to LOW'); res.end(); }); }); });