From d2fe165bcedac70bb16a0492d265781aaccb4021 Mon Sep 17 00:00:00 2001 From: IvoFPV Date: Fri, 13 Sep 2019 10:22:03 +0200 Subject: [PATCH] Add tuning slider analytics --- src/js/TuningSliders.js | 2 +- src/js/tabs/pid_tuning.js | 29 ++++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/js/TuningSliders.js b/src/js/TuningSliders.js index 71be897a..231b1c09 100644 --- a/src/js/TuningSliders.js +++ b/src/js/TuningSliders.js @@ -344,4 +344,4 @@ TuningSliders.calculateNewDTermFilters = function() { $('.pid_filter select[name="dtermLowpassDynType').val(FILTER_CONFIG.dterm_lowpass_type); $('.pid_filter select[name="dtermLowpass2Type').val(FILTER_CONFIG.dterm_lowpass2_type); $('output[name="tuningDTermFilterSlider-number"]').val(this.dtermFilterSliderValue); -}; \ No newline at end of file +}; diff --git a/src/js/tabs/pid_tuning.js b/src/js/tabs/pid_tuning.js index 77aede00..dfd3b7dc 100644 --- a/src/js/tabs/pid_tuning.js +++ b/src/js/tabs/pid_tuning.js @@ -11,6 +11,7 @@ TABS.pid_tuning = { SETPOINT_WEIGHT_RANGE_HIGH: 20, SETPOINT_WEIGHT_RANGE_LEGACY: 2.54, activeSubtab: 'pid', + analyticsChanges: {}, }; TABS.pid_tuning.initialize = function (callback) { @@ -1434,6 +1435,8 @@ TABS.pid_tuning.initialize = function (callback) { // filter and tuning sliders TuningSliders.initialize(); + self.analyticsChanges = {}; + // UNSCALED non expert slider constrain values const NON_EXPERT_SLIDER_MAX = 1.25; const NON_EXPERT_SLIDER_MIN = 0.7; @@ -1490,6 +1493,7 @@ TABS.pid_tuning.initialize = function (callback) { TuningSliders.ResponseSliderValue = scaledValue; } TuningSliders.calculateNewPids(); + self.analyticsChanges['PidTuningSliders'] = "On"; }); $('#tuningMasterSlider, #tuningPDRatioSlider, #tuningPDGainSlider, #tuningResponseSlider').mousedown(function() { // adjust step for more smoothness above 1x on mousedown @@ -1531,6 +1535,7 @@ TABS.pid_tuning.initialize = function (callback) { if ($('input[id="useIntegratedYaw"]').is(':checked')) { $('input[id="useIntegratedYaw"]').prop('checked', true).click(); } + self.analyticsChanges['PidTuningSliders'] = "On"; }); // filter slider inputs @@ -1547,9 +1552,11 @@ TABS.pid_tuning.initialize = function (callback) { if (slider.is('#tuningGyroFilterSlider')) { TuningSliders.gyroFilterSliderValue = scaledValue; TuningSliders.calculateNewGyroFilters(); + self.analyticsChanges['GyroFilterTuningSlider'] = "On"; } else if (slider.is('#tuningDTermFilterSlider')) { TuningSliders.dtermFilterSliderValue = scaledValue; TuningSliders.calculateNewDTermFilters(); + self.analyticsChanges['DTermFilterTuningSlider'] = "On"; } }); $('#tuningGyroFilterSlider, #tuningDTermFilterSlider').mouseup(function() { @@ -1576,21 +1583,34 @@ TABS.pid_tuning.initialize = function (callback) { $('input[id="gyroLowpassEnabled"]').prop('checked', true).click(); $('input[id="gyroLowpass2Enabled"]').prop('checked', false).click(); TuningSliders.resetGyroFilterSlider(); + self.analyticsChanges['GyroFilterTuningSlider'] = "On"; } if (TuningSliders.filterDTermSliderUnavailable) { $('input[id="dtermLowpassDynEnabled"]').prop('checked', false).click(); $('input[id="dtermLowpassEnabled"]').prop('checked', true).click(); $('input[id="dtermLowpass2Enabled"]').prop('checked', false).click(); TuningSliders.resetDTermFilterSlider(); + self.analyticsChanges['DTermFilterTuningSlider'] = "On"; } }); // update on pid table inputs - $('#pid_main input').on('input', () => TuningSliders.updatePidSlidersDisplay()); + $('#pid_main input').on('input', function() { + TuningSliders.updatePidSlidersDisplay(); + self.analyticsChanges['PidTuningSliders'] = "Off"; + }); // update on filter value or type changes - $('.pid_filter input, .pid_filter select').on('input', () => TuningSliders.updateFilterSlidersDisplay()); + $('.pid_filter input, .pid_filter select').on('input', function() { + TuningSliders.updateFilterSlidersDisplay(); + if (TuningSliders.filterGyroSliderUnavailable) { + self.analyticsChanges['GyroFilterTuningSlider'] = "Off"; + } + if (TuningSliders.filterDTermSliderUnavailable) { + self.analyticsChanges['DTermFilterTuningSlider'] = "Off"; + } + }); // update on filter switch changes - $('.inputSwitch input').change(() => TuningSliders.updateFilterSlidersDisplay()); + $('.inputSwitch input').change(() => $('.pid_filter input').trigger('input')); $('.tuningHelp').hide(); } else { @@ -1645,6 +1665,9 @@ TABS.pid_tuning.initialize = function (callback) { GUI.log(i18n.getMessage('pidTuningEepromSaved')); }); + + analytics.sendChangeEvents(analytics.EVENT_CATEGORIES.FLIGHT_CONTROLLER, self.analyticsChanges); + self.analyticsChanges = {}; }); // Setup model for rates preview