From f36ebee97e205d57ab769025baf3ccee41aaf563 Mon Sep 17 00:00:00 2001 From: cTn Date: Sun, 13 Apr 2014 16:12:31 +0200 Subject: [PATCH] hooking up some scales, not finished --- tabs/sensors.html | 1 + tabs/sensors.js | 53 ++++++++++++++++++++++++++++++++++------------- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/tabs/sensors.html b/tabs/sensors.html index c78f9fbd..32fed01a 100644 --- a/tabs/sensors.html +++ b/tabs/sensors.html @@ -57,6 +57,7 @@
Scale:
diff --git a/tabs/sensors.js b/tabs/sensors.js index 7844bcc1..bdff8ed4 100644 --- a/tabs/sensors.js +++ b/tabs/sensors.js @@ -141,7 +141,7 @@ function tab_initialize_sensors() { var gyroHelpers = initGraphHelpers('#gyro', samples_gyro_i, [-2000, 2000]); var accelHelpers = initGraphHelpers('#accel', samples_accel_i, [-2, 2]); - var magHelpers = initGraphHelpers('#mag', samples_mag_i); + var magHelpers = initGraphHelpers('#mag', samples_mag_i, [-1, 1]); var baroHelpers = initGraphHelpers('#baro', samples_baro_i); var debugHelpers = [ initGraphHelpers('#debug1', samples_debug_i), @@ -156,26 +156,34 @@ function tab_initialize_sensors() { z: [], }; $('.plot_control .x, .plot_control .y, .plot_control .z').each(function() { - var e = $(this); - if (e.hasClass('x')) { - raw_data_text_ements.x.push(e); - } else if (e.hasClass('y')) { - raw_data_text_ements.y.push(e); + var el = $(this); + if (el.hasClass('x')) { + raw_data_text_ements.x.push(el); + } else if (el.hasClass('y')) { + raw_data_text_ements.y.push(el); } else { - raw_data_text_ements.z.push(e); + raw_data_text_ements.z.push(el); } }); // set refresh speeds according to configuration saved in storage chrome.storage.local.get('sensor_refresh_rates', function(result) { if (typeof result.sensor_refresh_rates != 'undefined') { - $('.tab-sensors select[name="gyro_refresh_rate"]').val(result.sensor_refresh_rates.gyro); // gyro - $('.tab-sensors select[name="accel_refresh_rate"]').val(result.sensor_refresh_rates.accel); // accel - $('.tab-sensors select[name="mag_refresh_rate"]').val(result.sensor_refresh_rates.mag); // mag - $('.tab-sensors select[name="baro_refresh_rate"]').val(result.sensor_refresh_rates.baro); // baro - $('.tab-sensors select[name="debug_refresh_rate"]').val(result.sensor_refresh_rates.debug); // debug + $('.tab-sensors select[name="gyro_refresh_rate"]').val(result.sensor_refresh_rates.gyro); + //$('.tab-sensors select[name="gyro_scale"]').val(result.scales.gyro); - $('.tab-sensors .rate select').change(); // start polling data by triggering refresh rate change event + $('.tab-sensors select[name="accel_refresh_rate"]').val(result.sensor_refresh_rates.accel); + //$('.tab-sensors select[name="accel_scale"]').val(result.scales.accel); + + $('.tab-sensors select[name="mag_refresh_rate"]').val(result.sensor_refresh_rates.mag); + //$('.tab-sensors select[name="mag_scale"]').val(result.scales.mag); + + $('.tab-sensors select[name="baro_refresh_rate"]').val(result.sensor_refresh_rates.baro); + $('.tab-sensors select[name="debug_refresh_rate"]').val(result.sensor_refresh_rates.debug); + + // start polling data by triggering refresh rate change event + $('.tab-sensors .rate select').change(); + //$('.tab-sensors .scale select').change(); } else { // start polling immediatly (as there is no configuration saved in the storage) $('.tab-sensors .rate select').change(); // start polling data by triggering refresh rate change event @@ -194,6 +202,12 @@ function tab_initialize_sensors() { 'debug': parseInt($('.tab-sensors select[name="debug_refresh_rate"]').val(), 10) }; + var scales = { + 'gyro': parseFloat($('.tab-sensors select[name="gyro_scale"]').val()), + 'accel': parseFloat($('.tab-sensors select[name="accel_scale"]').val()), + 'mag': parseFloat($('.tab-sensors select[name="mag_scale"]').val()) + }; + // handling of "data pulling" is a little bit funky here, as MSP_RAW_IMU contains values for gyro/accel/mag but not baro // this means that setting a slower refresh rate on any of the attributes would have no effect // what we will do instead is = determinate the fastest refresh rate for those 3 attributes, use that as a "polling rate" @@ -202,6 +216,7 @@ function tab_initialize_sensors() { // store current/latest refresh rates in the storage chrome.storage.local.set({'sensor_refresh_rates': rates}); + chrome.storage.local.set({'sensor_scales': scales}); // timer initialization GUI.interval_kill_all(); @@ -262,7 +277,17 @@ function tab_initialize_sensors() { }); $('.tab-sensors .scale select').change(function() { - console.log('change scale'); + var el = $(this); + var name = el.attr('name'); + var val = parseFloat(el.val()); + + if (name == 'gyro_scale') { + gyroHelpers = initGraphHelpers('#gyro', samples_gyro_i, [-val, val]); + } else if (name == 'accel_scale') { + accelHelpers = initGraphHelpers('#accel', samples_accel_i, [-val, val]); + } else if (name == 'mag_scale') { + magHelpers = initGraphHelpers('#mag', samples_mag_i, [-val, val]); + } }); }); }