diff --git a/README.md b/README.md index 389813a..75f4a30 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,12 @@ The checkboxes determine which data is displayed. signal-to-noise ratio. Rectangles will be darker grey when the signal was low and the noise was high. + * "strict": Reduce the rendering to only cases where all pings were + dropped for the second (d=1) for obstructed, beta downtime, and no + satellites. This seems to be what the "Ping Success" plot at the + top of Starlink's own statistics view shows. This checkbox also + reduces the signal-to-noise ratio plot to only cases where snr=0. + ## Results The idea behind the viewer is that the beam between the dish and the diff --git a/viewer/index.html b/viewer/index.html index 96a2353..7d235c7 100644 --- a/viewer/index.html +++ b/viewer/index.html @@ -57,6 +57,7 @@ beta downtime no satellites signal-to-noise ratio + strict diff --git a/viewer/viewer.js b/viewer/viewer.js index 37fc21e..dbcbaa5 100644 --- a/viewer/viewer.js +++ b/viewer/viewer.js @@ -8,6 +8,7 @@ var display = { "betadown": false, "nosatellite": false, "snr": false, + "strict": false }; var lengthBox = document.getElementById("stripeLength") @@ -95,6 +96,7 @@ attachCheckbox("obstructed"); attachCheckbox("betadown"); attachCheckbox("nosatellite"); attachCheckbox("snr"); +attachCheckbox("strict"); function attachButtons(prefix, actionFunc) { var buttons = { @@ -146,13 +148,16 @@ function plot() { for (var i = offset; i < data.length; i++) { var boxX = ((i-offset) % stripeLength) * boxWidth var boxY = Math.floor((i-offset) / stripeLength) * boxHeight - if (display["snr"] && data[i].n < 9) { + if (display["snr"] && + ((!display["strict"] && data[i].n < 9) || + (display["strict"] && data[i].n == 0))) { viewer.append(makeBox(boxX, boxY, "#999999", 1-(data[i].n/9))); } if (((display["obstructed"] && data[i].o) || (display["nosatellite"] && !data[i].s) || (display["betadown"] && data[i].s && !data[i].o)) && - data[i].d < 1) { + ((!display["strict"] && data[i].d > 0) || + (display["strict"] && data[i].d == 1))) { var red = (data[i].o && display["obstructed"]) ? "ff" : "00" var green = (!data[i].s && display["nosatellite"]) ? "ff" : "00"