From 99bc1392e42083b235ba372c5372a622fc6b20f9 Mon Sep 17 00:00:00 2001 From: Dan Yocom Date: Thu, 14 Aug 2014 15:16:23 -0400 Subject: [PATCH] javascript: added basic examples to mraa Signed-off-by: Dan Yocom Signed-off-by: Brendan Le Foll --- examples/javascript/AioA0.js | 30 +++++++++++++++++ examples/javascript/Blink-IO.js | 39 ++++++++++++++++++++++ examples/javascript/GPIO_DigitalRead.js | 38 +++++++++++++++++++++ .../{example.js => GPIO_DigitalWrite.js} | 12 +++---- 4 files changed, 113 insertions(+), 6 deletions(-) create mode 100644 examples/javascript/AioA0.js create mode 100644 examples/javascript/Blink-IO.js create mode 100644 examples/javascript/GPIO_DigitalRead.js rename examples/javascript/{example.js => GPIO_DigitalWrite.js} (76%) diff --git a/examples/javascript/AioA0.js b/examples/javascript/AioA0.js new file mode 100644 index 0000000..de280f7 --- /dev/null +++ b/examples/javascript/AioA0.js @@ -0,0 +1,30 @@ +/* + * Author: Dan Yocom + * Copyright (c) 2014 Intel Corporation. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +var m = require('mraa'); //require mraa +console.log('MRAA Version: ' + m.getVersion()); //write the mraa version to the console + +var analogPin0 = new m.Aio(0); //setup access analog inpuput pin 0 +var analogValue = analogPin0.read(); //read the value of the analog pin +console.log(analogValue); //write the value of the analog pin to the console diff --git a/examples/javascript/Blink-IO.js b/examples/javascript/Blink-IO.js new file mode 100644 index 0000000..64eb788 --- /dev/null +++ b/examples/javascript/Blink-IO.js @@ -0,0 +1,39 @@ +/* + * Author: Dan Yocom + * Copyright (c) 2014 Intel Corporation. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +var m = require('mraa'); //require mraa +console.log('MRAA Version: ' + m.getVersion()); //write the mraa version to the console + +var myLed = new m.Gpio(13); //LED hooked up to digital pin 13 (or built in pin on Galileo Gen1 & Gen2) +myLed.dir(m.DIR_OUT); //set the gpio direction to output +var ledState = true; //Boolean to hold the state of Led + +periodicActivity(); //call the periodicActivity function + +function periodicActivity() +{ + myLed.write(ledState?1:0); //if ledState is true then write a '1' (high) otherwise write a '0' (low) + ledState = !ledState; //invert the ledState + setTimeout(periodicActivity,1000); //call the indicated function after 1 second (1000 milliseconds) +} diff --git a/examples/javascript/GPIO_DigitalRead.js b/examples/javascript/GPIO_DigitalRead.js new file mode 100644 index 0000000..0bdb3d9 --- /dev/null +++ b/examples/javascript/GPIO_DigitalRead.js @@ -0,0 +1,38 @@ +/* + * Author: Dan Yocom + * Copyright (c) 2014 Intel Corporation. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +var m = require('mraa'); //require mraa +console.log('MRAA Version: ' + m.getVersion()); //write the mraa version to the console + +var myDigitalPin = new m.Gpio(6); //setup digital read on pin 6 +myDigitalPin.dir(m.DIR_IN); //set the gpio direction to input + +periodicActivity(); //call the periodicActivity function + +function periodicActivity() // +{ + var myDigitalValue = myDigitalPin.read(); //read the digital value of the pin + console.log('Gpio is ' + myDigitalValue); //write the read value out to the console + setTimeout(periodicActivity,1000); //call the indicated function after 1 second (1000 milliseconds) +} diff --git a/examples/javascript/example.js b/examples/javascript/GPIO_DigitalWrite.js similarity index 76% rename from examples/javascript/example.js rename to examples/javascript/GPIO_DigitalWrite.js index 80cc921..cefe03f 100644 --- a/examples/javascript/example.js +++ b/examples/javascript/GPIO_DigitalWrite.js @@ -1,5 +1,5 @@ /* - * Author: Brendan Le Foll + * Author: Dan Yocom * Copyright (c) 2014 Intel Corporation. * * Permission is hereby granted, free of charge, to any person obtaining @@ -22,9 +22,9 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -var m = require("mraa") -console.log("mraa version: " + m.getVersion()); +var m = require('mraa'); //require mraa +console.log('MRAA Version: ' + m.getVersion()); //write the mraa version to the console -var x = new m.Gpio(8) -x.dir(m.DIR_OUT) -x.write(1) +var myDigitalPin = new m.Gpio(5); //setup digital read on pin 5 +myDigitalPin.dir(m.DIR_OUT); //set the gpio direction to output +myDigitalPin.write(1); //set the digital pin to high (1) -- 2.7.4