// MIT License // Copyright (c) 2021 Mats Selen // --------------------------------- ====================== IOLabWeb Information ================================ IOLabWeb is a browser based IOLab application whose main purpose is to allow students with Chromebooks and Linux machines (almost any plaform in fact) to perform experiments using IOLab without installing any software. You need to use version 89 or higher of either the Chrome or Edge web browser. Make sure cookies are enabled since these are used to store your options and calibration constants. The code is updated frequently so always do a "hard reload" to avoid problems due to browser caching of old code and images. IOLabWeb is currently under development and is not guaranteed to be stable or bug-free. If you are running a recent Windows or Mac OS you are probably better off using the Official IOLab Application which can be downloaded at www.iolab.science. IOLabWeb is not supported by Macmillan Publishing so please do not contact IOLab Tech Support if you have questions since they are not familiar with it. If you find a bug or have an idea for improvement please email Mats Selen at mats@illinois.edu. ====================== Ongoing Work ======================================== Front Burner Tasks: - Add mechanism to zoom out beyond chart defaults - Clean up commented out code snippets - Testing & fixing as needed for summer teacher workshop. - Work on help page. Back Burner Tasks: - Remove ability to drag cursor past left edge of a chart - Investigate console message "In pickDataAxis(): Should never get to this place" which can happen when carelessly selecting a zoom region or leaving canvas (not an actual problem) - Tweaking of time alignment (especially the wheel). - Optimize which calibration is used for restored datasets - Display rezero icon on all zeroable plots when linked - Save/restore dataShift (?) - Improved gyroscope calibration - Plots sometimes empty after CSV export if not viewed before export (only Mac ?) - Clean up console.log - Clean up comments & code (ongoing) ================ Release Notes ================================================ v0.9.25 1/26/2022 Added code suggested by Nicholas2750 to prevent port.open() from failing silently if user has insufficient permission (seems to be mostly a Linux issue). v0.9.24 11/3/2021 Added two more digits (total of 4) to the right of decimal place for "area" analysis. v0.9.23 9/7/2021 Adding mechanism to zoom out beyond chart defaults: Shift + left-click on a chart zooms out by a factor of 2 and pushes the new view on the view stack. v0.9.22 7/14/2021 Added a help page with some preliminary remarks. v0.9.21 7/11/2021 Added RSSI chart to the end of config 2 (accelerometer) and config 38 (kitchen sink) It is easy to add it to other configurations as well - just ask. v0.9.20 7/2/2021 Added axis labels to the charts. v0.9.19 6/30/2021 Fixed bug in config.js causing the wheel label to be "unidentified" v0.9.18 6/30/2021 Fix y-sign swap in csv export v0.9.17 6/29/2021 zoom x-axis of all sensors when one is zoomed pan x-axis all sensors when one is panned added units to analysis results & spaced these out a bit more fixed bug in file save/restore code v0.9.16 6/29/2021 Added option to swap sign of y-axis for accel, force, gyro, mag, wheel Cleaned up some issues with rezeroing force, displacement, light, and HG sensors v0.9.15 6/15/2021 Minor tweaks and documentation updates. v0.9.14 6/7/2021 Rationalized usage of calData vs plotData in plotting code. Changed name of csv file when exporting all sensors. v0.9.12 6/4/2021 Added time-aligned CSV export. All sensors are time-aligned and exported to a single fine. The time range for the export is defined by the top plot. Fixed restored wheel data was shifted right by 4 ticks due to missing call to reProcessWheel()). v0.9.10 5/31/2021 Adding new modal for unpairing and pairing dongles with remotes (with embedded documentation) Removed some redundant calls to console.log v0.9.08 5/14/2021 Save/restore raw data (rxdata). Includes saving & restoring calibration info as well. Save local_Bvert value with magnetometer calibration constants. Add link to changelog on application (click on "notes)" v0.9.06 5/8/2021 Added ability to specify the vertical B field in order to improve magnetomter calibration. Made light sensor "zeroable". Other small improvements to options modal. v0.9.04 4/30/2021 Added inactivity timeout to save battery life. Made timeout setting an option controllable on option modal & saved in option cookie. If not set the fault timeout is 10 minutes. v0.9.02 4/26/2021 Bugfix - removed outdated reference to chartlist causing calibration to fail v0.9.00 4/23/2021 Added an options modal to select which output controls are shown Store options in a cookie Changed cookie persistence to 2 years for both calibrations and options Tweak CSV download icon Elevate application to Beta v0.8.60 4/22/2021 Add controls for other outputs (D5, D6, buzzer). Hide D5 control until option menu is available. v0.8.58 4/22/2021 Added up/down DAC controls Some housekeeping v0.8.56 4/21/2021 Added DAC output control. Added A1/A2/A3 readout. Fixed error when checking/unchecking empty plot Better rezero icon. v0.8.55 4/18/2021 Added zip compression to files used for saving & restoring acquisitions. The files now have names like "IOLab_Apr-18-2021_19.48.59_Pendulum_29s.iozip". Files saved with previous versions will not be readable. v0.8.52 4/16/2021 Speed up panning by implementing sparse plotting when Ndata >> Npixels Added unit "n/a" for light and sound since these are not calibrated v0.8.50 4/10/21 Added sample rate to chart title Store more config info with saved data & check version when restoring Moved software version to globalVariables.js and added compatibility check for retored data Several small housekeeping items (fingers crossed nothing broke) v0.8.48 4/9/21 Added CSV export button for each chart v0.8.45 4/6/21 Some small improvements to UX (button placements etc) v0.8.41 4/1/21 Moved calibration button to the left. Changed "Start" "Record" and "Stop" to "Stop/Pause" v0.8.40 4/1/21 Innitial alpha release. No known bugs but I'm sure that will change as soon as someone else uses it.