title tbd

desc tbd

by cubicalmonkey

HTML

<script src="http://dygraphs.com/dygraph-combined.js"></script>
<script src="http://dygraphs.com/extras/smooth-plotter.js"></script>
<div id="g_div">Test</div>
<button onClick="build_graph(2)">BUILD</button>

JavaScript

//Here are the wireless channels we care about.
var ch5ghz = [36, 40, 44, 48, 149, 153, 157, 161, 165];
var ch24ghz = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
var ChannelStop = 164;
var AP_SCAN_LABELS = ["channel", "Tyrone's Wi - Fi Network 5GHz ", "FBI Mini Van 5 "]

var Channel_To_Array = {
        "32": 0,
        "33": 1,
        "36": 2,
        "40": 3,
        "44": 4,
        "48": 5,
        "149": 8,
        "153": 9,
        "157": 10,
        "161": 11,
        "165": 12,
        "166": 13,
        "167": 14
};

var radio = 2;

function build_graph(radio) {
    var ch = [];
    var ChannelStop;
    //ChannelStop is our stopping ppoint for our x-axis. 
    if (radio == 1) {
        ChannelStop = 17;
    } else {
        ChannelStop = 15;
    }
    //Now build our array to store our x-axis elements
    for (var i = 0; i < ChannelStop; i++) {
        ch.push([i]);
    }

    var lowEdge, highEdge, edge, channelInt;
    for (var key in APGRAPH) {
        //Create our Series Names.
        if (APGRAPH.hasOwnProperty(key)) {
            edge = parseInt((APGRAPH[key].Width / 10) / 2);
            channelInt = parseInt(APGRAPH[key].Channel);

            lowEdge = channelInt - edge;
            highEdge = channelInt + edge;

            for (var i = 0; i < 165; i++) {
                if (Channel_To_Array[i] != undefined) {
                    if ((i >= lowEdge) && (i <= highEdge)) {
                        ch[ Channel_To_Array[i] ].push(APGRAPH[key].RSSI);
                    } else {
                        //assign value less than lowest displayed in y axis.
                        ch[Channel_To_Array[i]].push(-101);
                    }
                }
            }
        }
    }
    

    g = new Dygraph(document.getElementById("g_div"), ch, {
        labels: AP_SCAN_LABELS,
        xlabel: "WiFi Channel ",
        ylabel: "Amplitude(dBm)",
        //fillGraph: true,
        valueRange: [-100, null],
        //plotter: smoothPlotter,
       ...