new PID scaling (same as in the CLI)

10.3.x-maintenance
skaman82 2016-06-17 20:27:10 +02:00
parent dc786c42c5
commit 12bce912c9
3 changed files with 66 additions and 67 deletions

31
js/msp.js Normal file → Executable file
View File

@ -378,20 +378,20 @@ var MSP = {
case 7:
case 8:
case 9:
PIDs[i][0] = data.getUint8(needle) / 10;
PIDs[i][1] = data.getUint8(needle + 1) / 1000;
PIDs[i][0] = data.getUint8(needle);
PIDs[i][1] = data.getUint8(needle + 1);
PIDs[i][2] = data.getUint8(needle + 2);
break;
case 4:
PIDs[i][0] = data.getUint8(needle) / 100;
PIDs[i][1] = data.getUint8(needle + 1) / 100;
PIDs[i][2] = data.getUint8(needle + 2) / 1000;
PIDs[i][0] = data.getUint8(needle);
PIDs[i][1] = data.getUint8(needle + 1);
PIDs[i][2] = data.getUint8(needle + 2);
break;
case 5:
case 6:
PIDs[i][0] = data.getUint8(needle) / 10;
PIDs[i][1] = data.getUint8(needle + 1) / 100;
PIDs[i][2] = data.getUint8(needle + 2) / 1000;
PIDs[i][0] = data.getUint8(needle);
PIDs[i][1] = data.getUint8(needle + 1);
PIDs[i][2] = data.getUint8(needle + 2);
break;
}
}
@ -1157,20 +1157,20 @@ MSP.crunch = function (code) {
case 7:
case 8:
case 9:
buffer.push(Math.round(PIDs[i][0] * 10));
buffer.push(Math.round(PIDs[i][1] * 1000));
buffer.push(parseInt(PIDs[i][0]));
buffer.push(parseInt(PIDs[i][1]));
buffer.push(parseInt(PIDs[i][2]));
break;
case 4:
buffer.push(Math.round(PIDs[i][0] * 100));
buffer.push(Math.round(PIDs[i][1] * 100));
buffer.push(parseInt(PIDs[i][0]));
buffer.push(parseInt(PIDs[i][1]));
buffer.push(parseInt(PIDs[i][2]));
break;
case 5:
case 6:
buffer.push(Math.round(PIDs[i][0] * 10));
buffer.push(Math.round(PIDs[i][1] * 100));
buffer.push(Math.round(PIDs[i][2] * 1000));
buffer.push(parseInt(PIDs[i][0]));
buffer.push(parseInt(PIDs[i][1]));
buffer.push(parseInt(PIDs[i][2]));
break;
}
}
@ -1706,4 +1706,3 @@ MSP.SDCARD_STATE_CARD_INIT = 2;
MSP.SDCARD_STATE_FS_INIT = 3;
MSP.SDCARD_STATE_READY = 4;

View File

@ -3,7 +3,7 @@
<div class="content_wrapper">
<div class="tab_title" i18n="tabPidTuning"></div>
<div class="cf_doc_version_bt">
<a id="button-documentation" href="https://github.com/betaflight/betaflight/releases" target="_blank"></a>
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
</div>
<div class="cf_column half">
<div class="controller">
@ -44,22 +44,22 @@
<tr class="ROLL">
<!-- 0 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="PITCH">
<!-- 1 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="YAW">
<!-- 2 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
</table>
@ -72,15 +72,15 @@
<tr class="ALT">
<!-- 3 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="Vario">
<!-- 9 -->
<td>VEL</td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
</table>
@ -93,7 +93,7 @@
<tr class="MAG">
<!-- 8 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td></td>
<td></td>
</tr>
@ -107,23 +107,24 @@
<tr class="Pos">
<!-- 4 -->
<td></td>
<td><input type="number" name="p" step="0.01" min="0" max="2.55" /></td>
<td><input type="number" name="i" step="0.01" min="0" max="2.55" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<!-- <td><input type="number" name="i" step="1" min="0" max="255" /></td> -->
<td></td>
<td></td>
</tr>
<tr class="PosR">
<!-- 5 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.01" min="0" max="2.55" /></td>
<td><input type="number" name="d" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
<tr class="NavR">
<!-- 6 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.01" min="0" max="2.55" /></td>
<td><input type="number" name="d" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
</table>
</div>
@ -145,8 +146,8 @@
<tr class="LEVEL">
<!-- 7 -->
<td></td>
<td><input type="number" name="p" step="0.1" min="0" max="25.5" /></td>
<td><input type="number" name="i" step="0.001" min="0" max="0.255" /></td>
<td><input type="number" name="p" step="1" min="0" max="255" /></td>
<td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr>
</table>

View File

@ -6,7 +6,6 @@ TABS.pid_tuning = {
TABS.pid_tuning.initialize = function (callback) {
var self = this;
if (GUI.active_tab != 'pid_tuning') {
GUI.active_tab = 'pid_tuning';
}
@ -44,13 +43,13 @@ TABS.pid_tuning.initialize = function (callback) {
$('.pid_tuning .ROLL input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[0][i++].toFixed(1));
$(this).val(PIDs[0][i++]);
break;
case 1:
$(this).val(PIDs[0][i++].toFixed(3));
$(this).val(PIDs[0][i++]);
break;
case 2:
$(this).val(PIDs[0][i++].toFixed(0));
$(this).val(PIDs[0][i++]);
break;
}
});
@ -59,13 +58,13 @@ TABS.pid_tuning.initialize = function (callback) {
$('.pid_tuning .PITCH input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[1][i++].toFixed(1));
$(this).val(PIDs[1][i++]);
break;
case 1:
$(this).val(PIDs[1][i++].toFixed(3));
$(this).val(PIDs[1][i++]);
break;
case 2:
$(this).val(PIDs[1][i++].toFixed(0));
$(this).val(PIDs[1][i++]);
break;
}
});
@ -74,13 +73,13 @@ TABS.pid_tuning.initialize = function (callback) {
$('.pid_tuning .YAW input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[2][i++].toFixed(1));
$(this).val(PIDs[2][i++]);
break;
case 1:
$(this).val(PIDs[2][i++].toFixed(3));
$(this).val(PIDs[2][i++]);
break;
case 2:
$(this).val(PIDs[2][i++].toFixed(0));
$(this).val(PIDs[2][i++]);
break;
}
});
@ -89,33 +88,33 @@ TABS.pid_tuning.initialize = function (callback) {
$('.pid_tuning .ALT input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[3][i++].toFixed(1));
$(this).val(PIDs[3][i++]);
break;
case 1:
$(this).val(PIDs[3][i++].toFixed(3));
$(this).val(PIDs[3][i++]);
break;
case 2:
$(this).val(PIDs[3][i++].toFixed(0));
$(this).val(PIDs[3][i++]);
break;
}
});
i = 0;
$('.pid_tuning .Pos input').each(function () {
$(this).val(PIDs[4][i++].toFixed(2));
$(this).val(PIDs[4][i++]);
});
i = 0;
$('.pid_tuning .PosR input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[5][i++].toFixed(1));
$(this).val(PIDs[5][i++]);
break;
case 1:
$(this).val(PIDs[5][i++].toFixed(2));
$(this).val(PIDs[5][i++]);
break;
case 2:
$(this).val(PIDs[5][i++].toFixed(3));
$(this).val(PIDs[5][i++]);
break;
}
});
@ -124,13 +123,13 @@ TABS.pid_tuning.initialize = function (callback) {
$('.pid_tuning .NavR input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[6][i++].toFixed(1));
$(this).val(PIDs[6][i++]);
break;
case 1:
$(this).val(PIDs[6][i++].toFixed(2));
$(this).val(PIDs[6][i++]);
break;
case 2:
$(this).val(PIDs[6][i++].toFixed(3));
$(this).val(PIDs[6][i++]);
break;
}
});
@ -139,33 +138,33 @@ TABS.pid_tuning.initialize = function (callback) {
$('.pid_tuning .LEVEL input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[7][i++].toFixed(1));
$(this).val(PIDs[7][i++]);
break;
case 1:
$(this).val(PIDs[7][i++].toFixed(3));
$(this).val(PIDs[7][i++]);
break;
case 2:
$(this).val(PIDs[7][i++].toFixed(0));
$(this).val(PIDs[7][i++]);
break;
}
});
i = 0;
$('.pid_tuning .MAG input').each(function () {
$(this).val(PIDs[8][i++].toFixed(1));
$(this).val(PIDs[8][i++]);
});
i = 0;
$('.pid_tuning .Vario input').each(function () {
switch (i) {
case 0:
$(this).val(PIDs[9][i++].toFixed(1));
$(this).val(PIDs[9][i++]);
break;
case 1:
$(this).val(PIDs[9][i++].toFixed(3));
$(this).val(PIDs[9][i++]);
break;
case 2:
$(this).val(PIDs[9][i++].toFixed(0));
$(this).val(PIDs[9][i++]);
break;
}
});