Browse Source

mq3: JavaScript example

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
Zion Orent 10 years ago
parent
commit
30989d9b7c
1 changed files with 60 additions and 0 deletions
  1. 60
    0
      examples/javascript/gas/mq3.js

+ 60
- 0
examples/javascript/gas/mq3.js View File

@@ -0,0 +1,60 @@
1
+/*jslint node:true, vars:true, bitwise:true, unparam:true */
2
+/*jshint unused:true */
3
+/*global */
4
+/*
5
+* Author: Zion Orent <zorent@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 upmMQ3 = require("jsupm_gas");
29
+
30
+// Attach gas sensor to AIO0
31
+var myMQ3 = new upmMQ3.MQ3(0);
32
+
33
+var threshContext = new upmMQ3.thresholdContext;
34
+threshContext.averageReading = 0;
35
+threshContext.runningAverage = 0;
36
+threshContext.averagedOver = 2;
37
+
38
+// Infinite loop, ends when script is cancelled
39
+// Repeatedly, take a sample every 2 milliseconds;
40
+// find the average of 128 samples; and
41
+// print a running graph of the averages using a resolution of 5
42
+while(1)
43
+{
44
+    var buffer = new upmMQ3.uint16Array(128);
45
+    var len = myMQ3.getSampledWindow(2, 128, buffer);
46
+    if (len)
47
+    {
48
+        var thresh = myMQ3.findThreshold(threshContext, 30, buffer, len);
49
+        myMQ3.printGraph(threshContext, 5);
50
+        //if (thresh)
51
+        //    console.log("Threshold is " + thresh);
52
+    }
53
+}
54
+
55
+// Print message when exiting
56
+process.on('SIGINT', function()
57
+{
58
+	console.log("Exiting...");
59
+	process.exit(0);
60
+});