From 34c6077b5c9a3ebcfc4bf096d4abd01990eb91a6 Mon Sep 17 00:00:00 2001 From: borisbstyle Date: Fri, 8 May 2015 01:11:43 +0200 Subject: [PATCH] Yaw Expo Feature --- _locales/en/messages.json | 3 +++ js/data_storage.js | 3 ++- js/msp.js | 6 ++++++ tabs/receiver.html | 2 ++ tabs/receiver.js | 8 +++++++- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 1ab89c02..c6d6c4aa 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -624,6 +624,9 @@ }, "receiverRcExpo": { "message": "RC Expo" + }, + "receiverRcYawExpo": { + "message": "RC Yaw Expo" }, "receiverChannelMap": { "message": "Channel Map" diff --git a/js/data_storage.js b/js/data_storage.js index cf854511..bef75952 100755 --- a/js/data_storage.js +++ b/js/data_storage.js @@ -75,7 +75,8 @@ var RC_tuning = { dynamic_THR_PID: 0, throttle_MID: 0, throttle_EXPO: 0, - dynamic_THR_breakpoint: 0 + dynamic_THR_breakpoint: 0, + RC_YAW_EXPO: 0 }; var AUX_CONFIG = []; diff --git a/js/msp.js b/js/msp.js index 55bc0ea2..0e50b920 100644 --- a/js/msp.js +++ b/js/msp.js @@ -309,6 +309,9 @@ var MSP = { RC_tuning.throttle_EXPO = parseFloat((data.getUint8(offset++) / 100).toFixed(2)); if (semver.gte(CONFIG.apiVersion, "1.7.0")) { RC_tuning.dynamic_THR_breakpoint = data.getUint16(offset++, 1); + } + if (semver.gte(CONFIG.apiVersion, "1.10.0")) { + RC_tuning.RC_YAW_EXPO = parseFloat((data.getUint8(offset++) / 100).toFixed(2)); } break; case MSP_codes.MSP_PID: @@ -965,6 +968,9 @@ MSP.crunch = function (code) { if (semver.gte(CONFIG.apiVersion, "1.7.0")) { buffer.push(lowByte(RC_tuning.dynamic_THR_breakpoint)); buffer.push(highByte(RC_tuning.dynamic_THR_breakpoint)); + } + if (semver.gte(CONFIG.apiVersion, "1.10.0")) { + buffer.push(parseInt(RC_tuning.RC_YAW_EXPO * 100)); } break; // Disabled, cleanflight does not use MSP_SET_BOX. diff --git a/tabs/receiver.html b/tabs/receiver.html index efb1e63a..b299451a 100644 --- a/tabs/receiver.html +++ b/tabs/receiver.html @@ -17,10 +17,12 @@ + +
diff --git a/tabs/receiver.js b/tabs/receiver.js index 719c5adf..b302c8e2 100644 --- a/tabs/receiver.js +++ b/tabs/receiver.js @@ -37,7 +37,12 @@ TABS.receiver.initialize = function (callback) { $('.tunings .rate input[name="rate"]').val(RC_tuning.RC_RATE.toFixed(2)); $('.tunings .rate input[name="expo"]').val(RC_tuning.RC_EXPO.toFixed(2)); - + $('.tunings .rate input[name="yaw_expo"]').val(RC_tuning.RC_YAW_EXPO.toFixed(2)); + + if (semver.lt(CONFIG.apiVersion, "1.10.0")) { + $('.tunings .rate input[name="yaw_expo"]').hide(); + } + chrome.storage.local.get('rx_refresh_rate', function (result) { if (result.rx_refresh_rate) { $('select[name="rx_refresh_rate"]').val(result.rx_refresh_rate).change(); @@ -268,6 +273,7 @@ TABS.receiver.initialize = function (callback) { RC_tuning.RC_RATE = parseFloat($('.tunings .rate input[name="rate"]').val()); RC_tuning.RC_EXPO = parseFloat($('.tunings .rate input[name="expo"]').val()); + RC_tuning.RC_YAW_EXPO = parseFloat($('.tunings .rate input[name="yaw_expo"]').val()); // catch rc map var RC_MAP_Letters = ['A', 'E', 'R', 'T', '1', '2', '3', '4'];