Home | History | Annotate | Download | only in javascript
      1 /*jslint node:true, vars:true, bitwise:true, unparam:true */
      2 /*jshint unused:true */
      3 
      4 /*
      5 * Author: Zion Orent <zorent (at) ics.com>
      6 * Copyright (c) 2015 Intel Corporation.
      7 *
      8 * Permission is hereby granted, free of charge, to any person obtaining
      9 * a copy of this software and associated documentation files (the
     10 * "Software"), to deal in the Software without restriction, including
     11 * without limitation the rights to use, copy, modify, merge, publish,
     12 * distribute, sublicense, and/or sell copies of the Software, and to
     13 * permit persons to whom the Software is furnished to do so, subject to
     14 * the following conditions:
     15 *
     16 * The above copyright notice and this permission notice shall be
     17 * included in all copies or substantial portions of the Software.
     18 *
     19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     22 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
     23 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
     24 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     25 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     26 */
     27 
     28 var UV_lib = require('jsupm_si114x');
     29 
     30 // Instantiate a SI114x UV Sensor on I2C bus 0
     31 var myUVSensor = new UV_lib.SI114X(0);
     32 
     33 for (var x in myUVSensor)
     34 	console.log(x);
     35 // First initialize it
     36 myUVSensor.initialize();
     37 
     38 console.log("UV Index Scale:");
     39 console.log("---------------");
     40 console.log("11+        Extreme");
     41 console.log("8-10       Very High");
     42 console.log("6-7        High");
     43 console.log("3-5        Moderate");
     44 console.log("0-2        Low\n");
     45 
     46 // update every second and print the currently measured UV Index
     47 var myInterval = setInterval(function()
     48 {
     49 	// update current value(s)
     50 	myUVSensor.update();
     51 
     52 	// print detected value
     53 	console.log("UV Index: " + myUVSensor.getUVIndex());
     54 }, 1000);
     55 
     56 
     57 // When exiting: clear interval and print message
     58 process.on('SIGINT', function()
     59 {
     60 	clearInterval(myInterval);
     61 	myUVSensor = null
     62 	UV_lib.cleanUp();
     63 	UV_lib = null;
     64 	console.log("Exiting");
     65 	process.exit(0);
     66 });
     67