Created
July 17, 2016 15:44
-
-
Save rwaldron/db5c9e035d3a12c25a322905676f8d04 to your computer and use it in GitHub Desktop.
Replacement browser code for Experiment 10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| window.onload = function() { | |
| var socket = io(); | |
| var monitor = {}; | |
| monitor.thermometer = new JustGage({ | |
| id: "thermometer", | |
| value: 0, | |
| min: 0, | |
| max: 100, | |
| title: "Thermometer", | |
| label: "° Celsius", | |
| relativeGaugeSize: true, | |
| }); | |
| monitor.barometer = new JustGage({ | |
| id: "barometer", | |
| value: 0, | |
| min: 50, | |
| max: 150, | |
| title: "Barometer", | |
| label: "Pressure/kPa", | |
| relativeGaugeSize: true, | |
| }); | |
| monitor.altimeter = new JustGage({ | |
| id: "altimeter", | |
| value: 0, | |
| min: 0, | |
| max: 100, | |
| title: "Altimeter", | |
| label: "Meters", | |
| relativeGaugeSize: true, | |
| }); | |
| monitor.hygrometer = new JustGage({ | |
| id: "hygrometer", | |
| value: 0, | |
| min: 0, | |
| max: 100, | |
| title: "Hygrometer", | |
| label: "Humidity %", | |
| relativeGaugeSize: true, | |
| }); | |
| var displays = Object.keys(monitor); | |
| var updated = Date.now() - 5000; | |
| socket.on("report", data => { | |
| var now = Date.now(); | |
| /* | |
| This arbitrary 5 second update throttling prevents | |
| JustGage from spiking your CPU. | |
| If someone wants to write a performant replacement... <3 | |
| */ | |
| if (now - updated >= 5000) { | |
| updated = now; | |
| displays.forEach(display => { | |
| monitor[display].refresh(data[display]); | |
| }); | |
| } | |
| }); | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment