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

View File

@ -3,7 +3,7 @@
<div class="content_wrapper"> <div class="content_wrapper">
<div class="tab_title" i18n="tabPidTuning"></div> <div class="tab_title" i18n="tabPidTuning"></div>
<div class="cf_doc_version_bt"> <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>
<div class="cf_column half"> <div class="cf_column half">
<div class="controller"> <div class="controller">
@ -44,22 +44,22 @@
<tr class="ROLL"> <tr class="ROLL">
<!-- 0 --> <!-- 0 -->
<td></td> <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><input type="number" name="i" step="0.001" min="0" max="0.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> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
<tr class="PITCH"> <tr class="PITCH">
<!-- 1 --> <!-- 1 -->
<td></td> <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><input type="number" name="i" step="0.001" min="0" max="0.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> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
<tr class="YAW"> <tr class="YAW">
<!-- 2 --> <!-- 2 -->
<td></td> <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><input type="number" name="i" step="0.001" min="0" max="0.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> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
</table> </table>
@ -72,15 +72,15 @@
<tr class="ALT"> <tr class="ALT">
<!-- 3 --> <!-- 3 -->
<td></td> <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><input type="number" name="i" step="0.001" min="0" max="0.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> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
<tr class="Vario"> <tr class="Vario">
<!-- 9 --> <!-- 9 -->
<td>VEL</td> <td>VEL</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><input type="number" name="i" step="0.001" min="0" max="0.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> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
</table> </table>
@ -93,7 +93,7 @@
<tr class="MAG"> <tr class="MAG">
<!-- 8 --> <!-- 8 -->
<td></td> <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>
<td></td> <td></td>
</tr> </tr>
@ -107,23 +107,24 @@
<tr class="Pos"> <tr class="Pos">
<!-- 4 --> <!-- 4 -->
<td></td> <td></td>
<td><input type="number" name="p" 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="0.01" min="0" max="2.55" /></td> <!-- <td><input type="number" name="i" step="1" min="0" max="255" /></td> -->
<td></td>
<td></td> <td></td>
</tr> </tr>
<tr class="PosR"> <tr class="PosR">
<!-- 5 --> <!-- 5 -->
<td></td> <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><input type="number" name="i" step="0.01" min="0" max="2.55" /></td> <td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="0.001" min="0" max="0.255" /></td> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
<tr class="NavR"> <tr class="NavR">
<!-- 6 --> <!-- 6 -->
<td></td> <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><input type="number" name="i" step="0.01" min="0" max="2.55" /></td> <td><input type="number" name="i" step="1" min="0" max="255" /></td>
<td><input type="number" name="d" step="0.001" min="0" max="0.255" /></td> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
</table> </table>
</div> </div>
@ -145,8 +146,8 @@
<tr class="LEVEL"> <tr class="LEVEL">
<!-- 7 --> <!-- 7 -->
<td></td> <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><input type="number" name="i" step="0.001" min="0" max="0.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> <td><input type="number" name="d" step="1" min="0" max="255" /></td>
</tr> </tr>
</table> </table>

View File

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