Merge commit '34e8c55a006ed3a2a989bf4e57c32bfa2e56f35b' into development
Conflicts: js/msp.js10.3.x-maintenance
commit
774fcf5f68
|
@ -624,6 +624,9 @@
|
||||||
},
|
},
|
||||||
"receiverRcExpo": {
|
"receiverRcExpo": {
|
||||||
"message": "RC Expo"
|
"message": "RC Expo"
|
||||||
|
},
|
||||||
|
"receiverRcYawExpo": {
|
||||||
|
"message": "RC Yaw Expo"
|
||||||
},
|
},
|
||||||
"receiverChannelMap": {
|
"receiverChannelMap": {
|
||||||
"message": "Channel Map"
|
"message": "Channel Map"
|
||||||
|
|
|
@ -75,7 +75,8 @@ var RC_tuning = {
|
||||||
dynamic_THR_PID: 0,
|
dynamic_THR_PID: 0,
|
||||||
throttle_MID: 0,
|
throttle_MID: 0,
|
||||||
throttle_EXPO: 0,
|
throttle_EXPO: 0,
|
||||||
dynamic_THR_breakpoint: 0
|
dynamic_THR_breakpoint: 0,
|
||||||
|
RC_YAW_EXPO: 0
|
||||||
};
|
};
|
||||||
|
|
||||||
var AUX_CONFIG = [];
|
var AUX_CONFIG = [];
|
||||||
|
|
11
js/msp.js
11
js/msp.js
|
@ -311,10 +311,16 @@ var MSP = {
|
||||||
RC_tuning.throttle_MID = parseFloat((data.getUint8(offset++) / 100).toFixed(2));
|
RC_tuning.throttle_MID = parseFloat((data.getUint8(offset++) / 100).toFixed(2));
|
||||||
RC_tuning.throttle_EXPO = parseFloat((data.getUint8(offset++) / 100).toFixed(2));
|
RC_tuning.throttle_EXPO = parseFloat((data.getUint8(offset++) / 100).toFixed(2));
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.7.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.7.0")) {
|
||||||
RC_tuning.dynamic_THR_breakpoint = data.getUint16(offset++, 1);
|
RC_tuning.dynamic_THR_breakpoint = data.getUint16(offset, 1);
|
||||||
|
offset += 2;
|
||||||
} else {
|
} else {
|
||||||
RC_tuning.dynamic_THR_breakpoint = 0;
|
RC_tuning.dynamic_THR_breakpoint = 0;
|
||||||
}
|
}
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.10.0")) {
|
||||||
|
RC_tuning.RC_YAW_EXPO = parseFloat((data.getUint8(offset++) / 100).toFixed(2));
|
||||||
|
} else {
|
||||||
|
RC_tuning.RC_YAW_EXPO = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MSP_codes.MSP_PID:
|
case MSP_codes.MSP_PID:
|
||||||
// PID data arrived, we need to scale it and save to appropriate bank / array
|
// PID data arrived, we need to scale it and save to appropriate bank / array
|
||||||
|
@ -970,6 +976,9 @@ MSP.crunch = function (code) {
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.7.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.7.0")) {
|
||||||
buffer.push(lowByte(RC_tuning.dynamic_THR_breakpoint));
|
buffer.push(lowByte(RC_tuning.dynamic_THR_breakpoint));
|
||||||
buffer.push(highByte(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;
|
break;
|
||||||
// Disabled, cleanflight does not use MSP_SET_BOX.
|
// Disabled, cleanflight does not use MSP_SET_BOX.
|
||||||
|
|
|
@ -119,6 +119,13 @@
|
||||||
.tab-receiver .tunings .throttle {
|
.tab-receiver .tunings .throttle {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
.tab-receiver .tunings .rate {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.tab-receiver .tunings .yaw_rate {
|
||||||
|
margin-left: 127px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
.tab-receiver .tunings table, .tab-receiver .tunings table th, .tab-receiver .tunings table td {
|
.tab-receiver .tunings table, .tab-receiver .tunings table th, .tab-receiver .tunings table td {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
border: 1px solid #8b8b8b;
|
border: 1px solid #8b8b8b;
|
||||||
|
|
|
@ -23,6 +23,14 @@
|
||||||
<td><input type="number" name="expo" step="0.01" min="0" max="1" /></td>
|
<td><input type="number" name="expo" step="0.01" min="0" max="1" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<table class="yaw_rate">
|
||||||
|
<tr>
|
||||||
|
<th i18n="receiverRcYawExpo"></th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><input type="number" name="yaw_expo" step="0.01" min="0" max="1" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
<div class="rssi_channel_wrapper">
|
<div class="rssi_channel_wrapper">
|
||||||
<div class="head" i18n="receiverRssiChannel"></div>
|
<div class="head" i18n="receiverRssiChannel"></div>
|
||||||
<select name="rssi_channel">
|
<select name="rssi_channel">
|
||||||
|
|
|
@ -37,6 +37,11 @@ TABS.receiver.initialize = function (callback) {
|
||||||
|
|
||||||
$('.tunings .rate input[name="rate"]').val(RC_tuning.RC_RATE.toFixed(2));
|
$('.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="expo"]').val(RC_tuning.RC_EXPO.toFixed(2));
|
||||||
|
$('.tunings .yaw_rate input[name="yaw_expo"]').val(RC_tuning.RC_YAW_EXPO.toFixed(2));
|
||||||
|
|
||||||
|
if (semver.lt(CONFIG.apiVersion, "1.10.0")) {
|
||||||
|
$('.tunings .yaw_rate input[name="yaw_expo"]').hide();
|
||||||
|
}
|
||||||
|
|
||||||
chrome.storage.local.get('rx_refresh_rate', function (result) {
|
chrome.storage.local.get('rx_refresh_rate', function (result) {
|
||||||
if (result.rx_refresh_rate) {
|
if (result.rx_refresh_rate) {
|
||||||
|
@ -268,6 +273,7 @@ TABS.receiver.initialize = function (callback) {
|
||||||
|
|
||||||
RC_tuning.RC_RATE = parseFloat($('.tunings .rate input[name="rate"]').val());
|
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_EXPO = parseFloat($('.tunings .rate input[name="expo"]').val());
|
||||||
|
RC_tuning.RC_YAW_EXPO = parseFloat($('.tunings .yaw_rate input[name="yaw_expo"]').val());
|
||||||
|
|
||||||
// catch rc map
|
// catch rc map
|
||||||
var RC_MAP_Letters = ['A', 'E', 'R', 'T', '1', '2', '3', '4'];
|
var RC_MAP_Letters = ['A', 'E', 'R', 'T', '1', '2', '3', '4'];
|
||||||
|
|
Loading…
Reference in New Issue