Esempio n. 1
0
    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) {});
    },
Esempio n. 2
0
tank.initPins = function() {
  async.parallel([
    gpio.open(_leftMotorFront),
    gpio.open(_leftMotorBack),
    gpio.open(_rightMotorFront),
    gpio.open(_rightMotorBack)
  ]);
};
Esempio n. 3
0
 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);
Esempio n. 4
0
 gpio.close(pin.nr, function(){
     gpio.open(pin.nr, "output", function(err) {
         if(!err) {
             pin.isOpen = true;
         }
     })
 });
Esempio n. 5
0
exports.pulseGate = function(){
	gpio.open(26,"output",function(err){
		gpio.write(26,1,function(){
			gpio.close(26);
		});
	});
}
Esempio n. 6
0
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');
        //});
      });
    });

  });

});
Esempio n. 7
0
 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);
       });
     }
   }
   
 });
Esempio n. 8
0
  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);
    });
  });
Esempio n. 9
0
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;
  }
};
Esempio n. 10
0
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
    });
  });
}
Esempio n. 11
0
var pinOff = function (pin) {
	gpio.open(pin, "output", function(err) {
		gpio.write(pin, 0, function() {
			gpio.close(pin);
		});
	});
};
Esempio n. 12
0
// 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



}
Esempio n. 13
0
 gpio.open(redLed, "output", function(err) {
   gpio.open(amberLed, "output", function(err) {
     gpio.open(greenLed, "output", function(err) {
       lights.ready();
     });
   });
 });
Esempio n. 14
0
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);
    });
  });
    
}
Esempio n. 15
0
    _.each(self.pinMap, function (k, v) {
        try {
			gpio.open(v.pin, 'output');
		} catch (err) {
			console.log(err);
			v.open = true;
		}
    });
Esempio n. 16
0
function writeHigh(pin){
	console.log(pin + " high");
	gpio.open(pin, "output", function(err) {
	    gpio.write(pin, 1, function() {
	        gpio.close(pin);
	    });
	});
}
Esempio n. 17
0
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
		});
	});
}
Esempio n. 18
0
function writeLow(pin){
	console.log(pin + " low");
		gpio.open(pin, "output", function(err) {
	    gpio.write(pin, 0, function() {
	        gpio.close(pin);
	    });
	});
}
Esempio n. 19
0
function readPin(pinNo, func){
    gpio.open(pinNo, "input", function(err){
	gpio.read(pinNo, function(err, val){
	    gpio.close(pinNo);
	    func(val);
	});
    });
}
Esempio n. 20
0
function closePin(pin) {
    console.log(pin + 'off');
    gpio.open(pin, "output", function (err) {
        gpio.write(pin, 0, function () {
            gpio.close(pin);
        });
    });
}
Esempio n. 21
0
    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) {});
    },
Esempio n. 22
0
   function initMotorDriver(standByPinNr) {
       gpio.open(standByPinNr, "output", function(err) {
           gpio.write(standByPinNr, 1, function() {
               gpio.close(standByPinNr);
           });
       });

       return motorFactory;
   }
Esempio n. 23
0
		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);
				});
			});
		},
Esempio n. 24
0
File: index.js Progetto: 1egoman/que
 turnOn: function(callback) {
   gpio.open(config.gpiopump, "output", function(err) {
     gpio.write(config.gpiopump, 1, function() {
       gpio.close(config.gpiopump);
       this.pumpOn = true;
       callback();
     });
   });  
 },
Esempio n. 25
0
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);
	    });
	});
}
Esempio n. 26
0
File: index.js Progetto: 1egoman/que
 turnOff: function() {
   gpio.open(config.gpiopump, "output", function(err) {
     gpio.write(config.gpiopump, 0, function() {
       gpio.close(config.gpiopump);
       this.pumpOn = false;
       callback();
     });
   }); 
 }
Esempio n. 27
0
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());
	});
    });
}
Esempio n. 28
0
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)
		    });
		});
}
Esempio n. 29
0
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();
		});
	});
});
Esempio n. 30
0
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();
		});
	});
});