mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	@@ -218,7 +218,6 @@
 | 
			
		||||
    var pinsInUse = {};
 | 
			
		||||
    RED.nodes.registerType('rpi-gpio out',{
 | 
			
		||||
        category: 'Raspberry Pi',
 | 
			
		||||
        label: 'Raspberry Pi',
 | 
			
		||||
        color:"#c6dbef",
 | 
			
		||||
        defaults: {
 | 
			
		||||
            name: { value:"" },
 | 
			
		||||
@@ -351,7 +350,6 @@
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
    RED.nodes.registerType('rpi-mouse',{
 | 
			
		||||
        category: 'Raspberry Pi',
 | 
			
		||||
        label: 'Raspberry Pi',
 | 
			
		||||
        color:"#c6dbef",
 | 
			
		||||
        defaults: {
 | 
			
		||||
            name: { value:"" },
 | 
			
		||||
@@ -390,7 +388,6 @@
 | 
			
		||||
<script type="text/javascript">
 | 
			
		||||
    RED.nodes.registerType('rpi-keyboard',{
 | 
			
		||||
        category: 'Raspberry Pi',
 | 
			
		||||
        label: 'Raspberry Pi',
 | 
			
		||||
        color:"#c6dbef",
 | 
			
		||||
        defaults: {
 | 
			
		||||
            name: { value:"" }
 | 
			
		||||
 
 | 
			
		||||
@@ -36,11 +36,16 @@ module.exports = function(RED) {
 | 
			
		||||
        try {
 | 
			
		||||
            fs.statSync("/usr/lib/python2.7/site-packages/RPi/GPIO"); // test on Arch
 | 
			
		||||
        }
 | 
			
		||||
        catch(err) {
 | 
			
		||||
            try {
 | 
			
		||||
                fs.statSync("/usr/lib/python2.7/dist-packages/RPi/GPIO"); // test on Hypriot
 | 
			
		||||
            }
 | 
			
		||||
            catch(err) {
 | 
			
		||||
                RED.log.warn(RED._("rpi-gpio.errors.libnotfound"));
 | 
			
		||||
                throw "Warning : "+RED._("rpi-gpio.errors.libnotfound");
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ( !(1 & parseInt((fs.statSync(gpioCommand).mode & parseInt("777", 8)).toString(8)[0]) )) {
 | 
			
		||||
        RED.log.error(RED._("rpi-gpio.errors.needtobeexecutable",{command:gpioCommand}));
 | 
			
		||||
@@ -79,7 +84,7 @@ module.exports = function(RED) {
 | 
			
		||||
            node.child.stdout.on('data', function (data) {
 | 
			
		||||
                var d = data.toString().trim().split("\n");
 | 
			
		||||
                for (var i = 0; i < d.length; i++) {
 | 
			
		||||
                    if (node.running && node.buttonState !== -1 && !isNaN(Number(d[i]))) {
 | 
			
		||||
                    if (node.running && node.buttonState !== -1 && !isNaN(Number(d[i])) && node.buttonState !== d[i]) {
 | 
			
		||||
                        node.send({ topic:"pi/"+node.pin, payload:Number(d[i]) });
 | 
			
		||||
                    }
 | 
			
		||||
                    node.buttonState = d[i];
 | 
			
		||||
 
 | 
			
		||||
@@ -99,9 +99,9 @@ if len(sys.argv) > 2:
 | 
			
		||||
 | 
			
		||||
    elif cmd == "in":
 | 
			
		||||
        #print "Initialised pin "+str(pin)+" to IN"
 | 
			
		||||
        bounce = int(sys.argv[4])
 | 
			
		||||
        bounce = float(sys.argv[4])
 | 
			
		||||
        def handle_callback(chan):
 | 
			
		||||
            sleep(bounce/1000)
 | 
			
		||||
            sleep(bounce/1000.0)
 | 
			
		||||
            print GPIO.input(chan)
 | 
			
		||||
 | 
			
		||||
        if sys.argv[3].lower() == "up":
 | 
			
		||||
@@ -112,7 +112,7 @@ if len(sys.argv) > 2:
 | 
			
		||||
            GPIO.setup(pin,GPIO.IN)
 | 
			
		||||
 | 
			
		||||
        print GPIO.input(pin)
 | 
			
		||||
        GPIO.add_event_detect(pin, GPIO.BOTH, callback=handle_callback, bouncetime=bounce)
 | 
			
		||||
        GPIO.add_event_detect(pin, GPIO.BOTH, callback=handle_callback, bouncetime=int(bounce))
 | 
			
		||||
 | 
			
		||||
        while True:
 | 
			
		||||
            try:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user