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