mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-19 06:15:13 +03:00
Merge branch 'development' into thenickdude-private-development
Conflicts: js/data_storage.js main.css tabs/dataflash.css tabs/dataflash.html
This commit is contained in:
commit
4ccd0bed3e
47 changed files with 1136 additions and 957 deletions
|
@ -467,16 +467,25 @@
|
||||||
"message": "<strong>Note:</strong> Remember to configure a Serial Port (via Ports tab) and choose a Serial Receiver Provider when using RX_SERIAL feature."
|
"message": "<strong>Note:</strong> Remember to configure a Serial Port (via Ports tab) and choose a Serial Receiver Provider when using RX_SERIAL feature."
|
||||||
},
|
},
|
||||||
"configurationBoardAlignment": {
|
"configurationBoardAlignment": {
|
||||||
"message": "Board Alignment"
|
"message": "Board and Sensor Alignment"
|
||||||
},
|
},
|
||||||
"configurationBoardAlignmentRoll": {
|
"configurationBoardAlignmentRoll": {
|
||||||
"message": "Roll Adjustment [deg]"
|
"message": "Roll Degrees"
|
||||||
},
|
},
|
||||||
"configurationBoardAlignmentPitch": {
|
"configurationBoardAlignmentPitch": {
|
||||||
"message": "Pitch Adjustment [deg]"
|
"message": "Pitch Degrees"
|
||||||
},
|
},
|
||||||
"configurationBoardAlignmentYaw": {
|
"configurationBoardAlignmentYaw": {
|
||||||
"message": "Yaw Adjustment [deg]"
|
"message": "Yaw Degrees"
|
||||||
|
},
|
||||||
|
"configurationSensorAlignmentGyro": {
|
||||||
|
"message": "GYRO Alignment"
|
||||||
|
},
|
||||||
|
"configurationSensorAlignmentAcc": {
|
||||||
|
"message": "ACCEL Alignment"
|
||||||
|
},
|
||||||
|
"configurationSensorAlignmentMag": {
|
||||||
|
"message": "MAG Alignment"
|
||||||
},
|
},
|
||||||
"configurationAccelTrims": {
|
"configurationAccelTrims": {
|
||||||
"message": "Accelerometer Trim"
|
"message": "Accelerometer Trim"
|
||||||
|
@ -697,6 +706,18 @@
|
||||||
"receiverRcRate": {
|
"receiverRcRate": {
|
||||||
"message": "RC Rate"
|
"message": "RC Rate"
|
||||||
},
|
},
|
||||||
|
"receiverDeadband": {
|
||||||
|
"message": "RC Deadband"
|
||||||
|
},
|
||||||
|
"receiverHelpDeadband": {
|
||||||
|
"message": "These are values (in us) by how much RC input can be different before it's considered valid. For transmitters with jitter on outputs, this value can be increased if rc inputs twitch while idle."
|
||||||
|
},
|
||||||
|
"receiverHelpYawDeadband": {
|
||||||
|
"message": "These are values (in us) by how much RC input can be different before it's considered valid. For transmitters with jitter on outputs, this value can be increased if rc inputs twitch while idle. <strong>This setting is for Yaw only.</strong>"
|
||||||
|
},
|
||||||
|
"receiverYawDeadband": {
|
||||||
|
"message": "Yaw Deadband"
|
||||||
|
},
|
||||||
"receiverRcExpo": {
|
"receiverRcExpo": {
|
||||||
"message": "RC Expo"
|
"message": "RC Expo"
|
||||||
},
|
},
|
||||||
|
@ -861,6 +882,60 @@
|
||||||
"adjustmentsFunction20": {
|
"adjustmentsFunction20": {
|
||||||
"message": "Roll D Adjustment"
|
"message": "Roll D Adjustment"
|
||||||
},
|
},
|
||||||
|
"adjustmentsFunction21": {
|
||||||
|
"message": "Alt P Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction22": {
|
||||||
|
"message": "Alt I Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction23": {
|
||||||
|
"message": "Alt D Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction24": {
|
||||||
|
"message": "Vel P Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction25": {
|
||||||
|
"message": "Vel I Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction26": {
|
||||||
|
"message": "Vel D Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction27": {
|
||||||
|
"message": "MAG P Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction28": {
|
||||||
|
"message": "Pos P Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction29": {
|
||||||
|
"message": "Pos I Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction30": {
|
||||||
|
"message": "PosR P Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction31": {
|
||||||
|
"message": "PosR I Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction32": {
|
||||||
|
"message": "PosR D Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction33": {
|
||||||
|
"message": "NavR P Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction34": {
|
||||||
|
"message": "NavR I Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction35": {
|
||||||
|
"message": "NavR D Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction36": {
|
||||||
|
"message": "Level P Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction37": {
|
||||||
|
"message": "Level I Adjustment"
|
||||||
|
},
|
||||||
|
"adjustmentsFunction38": {
|
||||||
|
"message": "Level D Adjustment"
|
||||||
|
},
|
||||||
"adjustmentsSave": {
|
"adjustmentsSave": {
|
||||||
"message": "Save"
|
"message": "Save"
|
||||||
},
|
},
|
||||||
|
@ -870,7 +945,7 @@
|
||||||
|
|
||||||
|
|
||||||
"servosFirmwareUpgradeRequired": {
|
"servosFirmwareUpgradeRequired": {
|
||||||
"message": "Servos requires firmware >= 1.10.0."
|
"message": "Servos requires firmware >= 1.10.0. and target support."
|
||||||
},
|
},
|
||||||
"servosChangeDirection": {
|
"servosChangeDirection": {
|
||||||
"message": "Change Direction in TX To Match"
|
"message": "Change Direction in TX To Match"
|
||||||
|
@ -965,7 +1040,7 @@
|
||||||
"message": "<strong>Motor Test Mode Notice:</strong><br />Moving the sliders will cause the motors to <strong>spin up</strong>.<br />In order to prevent injury <strong style=\"color: red\">remove ALL propellers</strong> before using this feature.<br />"
|
"message": "<strong>Motor Test Mode Notice:</strong><br />Moving the sliders will cause the motors to <strong>spin up</strong>.<br />In order to prevent injury <strong style=\"color: red\">remove ALL propellers</strong> before using this feature.<br />"
|
||||||
},
|
},
|
||||||
"motorsEnableControl": {
|
"motorsEnableControl": {
|
||||||
"message": "I understand the risks, propellors are removed - Enable motor control."
|
"message": "I understand the risks, propellers are removed - Enable motor control."
|
||||||
},
|
},
|
||||||
|
|
||||||
"sensorsInfo": {
|
"sensorsInfo": {
|
||||||
|
@ -1219,7 +1294,7 @@
|
||||||
"message": "<strong>Recovery / Lost communication<strong>"
|
"message": "<strong>Recovery / Lost communication<strong>"
|
||||||
},
|
},
|
||||||
"firmwareFlasherRecoveryText": {
|
"firmwareFlasherRecoveryText": {
|
||||||
"message": "If you have lost comminication with your board follow these steps to restore communication: <ul><li>Power off</li><li>Enable 'No reboot sequence', enable 'Full chip erase'.</li><li>Jumper the BOOT pins or hold BOOT button.</li><li>Power on (activity LED will NOT flash if done correctly).</li><li>Release BOOT button if your FC has one.</li><li>Flash with correct firmware (using manual baud rate if specified in your FC's manual).</li><li>Power off.</li><li>Remove BOOT jumper.</li><li>Power on (activity LED should flash).</li><li>Connect normally.</li></ul>"
|
"message": "If you have lost communication with your board follow these steps to restore communication: <ul><li>Power off</li><li>Enable 'No reboot sequence', enable 'Full chip erase'.</li><li>Jumper the BOOT pins or hold BOOT button.</li><li>Power on (activity LED will NOT flash if done correctly).</li><li>Release BOOT button if your FC has one.</li><li>Flash with correct firmware (using manual baud rate if specified in your FC's manual).</li><li>Power off.</li><li>Remove BOOT jumper.</li><li>Power on (activity LED should flash).</li><li>Connect normally.</li></ul>"
|
||||||
},
|
},
|
||||||
"firmwareFlasherButtonLeave": {
|
"firmwareFlasherButtonLeave": {
|
||||||
"message": "Leave Firmware Flasher"
|
"message": "Leave Firmware Flasher"
|
||||||
|
@ -1335,7 +1410,9 @@
|
||||||
"pidTuningLevelHelp": {
|
"pidTuningLevelHelp": {
|
||||||
"message": "The values below change the behaviour of the ANGLE and HORIZON flight modes. Different PID controllers handle the LEVEL values differently. Please check the documentation."
|
"message": "The values below change the behaviour of the ANGLE and HORIZON flight modes. Different PID controllers handle the LEVEL values differently. Please check the documentation."
|
||||||
},
|
},
|
||||||
|
"configHelp2": {
|
||||||
|
"message": "Arbitrary board rotation in degrees, to allow mounting it sideways / upside down / rotated etc. When running external sensors, use the sensor alignments (Gyro, Acc, Mag) to define sensor position independent from board orientation. "
|
||||||
|
},
|
||||||
"failsafeFeaturesHelpOld": {
|
"failsafeFeaturesHelpOld": {
|
||||||
"message": "Failsafe configuration has changed considerably. Use Cleanflight <strong>v1.12.0+</strong> to enable the improved configuration panel."
|
"message": "Failsafe configuration has changed considerably. Use Cleanflight <strong>v1.12.0+</strong> to enable the improved configuration panel."
|
||||||
},
|
},
|
||||||
|
@ -1369,6 +1446,12 @@
|
||||||
"failsafeChannelFallbackSettingsHelp": {
|
"failsafeChannelFallbackSettingsHelp": {
|
||||||
"message": "These settings are applied to invalid individual AUX channels or to all channels when entering stage 1. <strong>Note:</strong> values are saved in steps of 25usec, so small changes disappear"
|
"message": "These settings are applied to invalid individual AUX channels or to all channels when entering stage 1. <strong>Note:</strong> values are saved in steps of 25usec, so small changes disappear"
|
||||||
},
|
},
|
||||||
|
"failsafeChannelFallbackSettingsAuto": {
|
||||||
|
"message": "<strong>Auto</strong> means Roll, Pitch and Yaw to center and Throttle low. <strong>Hold</strong> means maintain the last good value received"
|
||||||
|
},
|
||||||
|
"failsafeChannelFallbackSettingsHold": {
|
||||||
|
"message": "<strong>Hold</strong> means maintain the last good value received. <strong>Set</strong> means the value given here will be used"
|
||||||
|
},
|
||||||
"failsafeStageTwoSettingsTitle": {
|
"failsafeStageTwoSettingsTitle": {
|
||||||
"message": "Stage 2 - Settings"
|
"message": "Stage 2 - Settings"
|
||||||
},
|
},
|
||||||
|
|
|
@ -111,13 +111,6 @@
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dirty fix for Firefox adding padding where it shouldn't. */
|
|
||||||
@-moz-document url-prefix() {
|
|
||||||
.dropdown-select {
|
|
||||||
padding-left: 6px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown-dark {
|
.dropdown-dark {
|
||||||
background: #636363; /* NEW2 */
|
background: #636363; /* NEW2 */
|
||||||
background: #3e403f; /* NEW */
|
background: #3e403f; /* NEW */
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'open_sanslight';
|
font-family: 'open_sanslight';
|
||||||
src: url('opensans-light-webfont.eot');
|
src: url('opensans-light-webfont.eot');
|
||||||
|
@ -37,7 +36,6 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'open_sansitalic';
|
font-family: 'open_sansitalic';
|
||||||
src: url('opensans-italic-webfont.eot');
|
src: url('opensans-italic-webfont.eot');
|
||||||
|
@ -50,7 +48,6 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'open_sansbold_italic';
|
font-family: 'open_sansbold_italic';
|
||||||
src: url('opensans-bolditalic-webfont.eot');
|
src: url('opensans-bolditalic-webfont.eot');
|
||||||
|
@ -63,7 +60,6 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'open_sansbold';
|
font-family: 'open_sansbold';
|
||||||
src: url('opensans-bold-webfont.eot');
|
src: url('opensans-bold-webfont.eot');
|
||||||
|
@ -76,45 +72,42 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Fonts shouldn't be transformed by browser.
|
/* Fonts shouldn't be transformed by browser.
|
||||||
Using specific fonts for bold, italic and bold_italic instead.*/
|
Using specific fonts for bold, italic and bold_italic instead.*/
|
||||||
|
|
||||||
i {
|
i {
|
||||||
font-family: 'open_sansitalic';
|
font-family: 'open_sansitalic';
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
em {
|
em {
|
||||||
font-family: 'open_sansitalic';
|
font-family: 'open_sansitalic';
|
||||||
font-style:normal;
|
font-style:normal;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
em strong {
|
em strong {
|
||||||
font-family: 'open_sansbold_italic';
|
font-family: 'open_sansbold_italic';
|
||||||
font-style:normal;
|
font-style:normal;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
strong em {
|
strong em {
|
||||||
font-family: 'open_sansbold_italic';
|
font-family: 'open_sansbold_italic';
|
||||||
font-style:normal;
|
font-style:normal;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
strong {
|
strong {
|
||||||
font-family: 'open_sansbold';
|
font-family: 'open_sansbold';
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
b {
|
||||||
b {
|
font-family: 'open_sansbold';
|
||||||
font-family: 'open_sansbold';
|
font-weight: normal;
|
||||||
font-weight: normal;
|
font-style: normal;
|
||||||
font-style: normal;
|
|
||||||
}
|
}
|
|
@ -1,129 +0,0 @@
|
||||||
/*Notes about grid:
|
|
||||||
Columns: 12
|
|
||||||
Grid Width: 825px
|
|
||||||
Column Width: 55px
|
|
||||||
Gutter Width: 15px
|
|
||||||
-------------------------------*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.section {margin-bottom: 18px;
|
|
||||||
}
|
|
||||||
.section:after {content: ".";display: block;height: 0;clear: both;visibility: hidden;}
|
|
||||||
.section {*zoom: 1;}
|
|
||||||
|
|
||||||
.section .firstcolumn,
|
|
||||||
.section .firstcol {margin-left: 0;}
|
|
||||||
|
|
||||||
|
|
||||||
/* Border on left hand side of a column. */
|
|
||||||
.border {
|
|
||||||
padding-left: 7px;
|
|
||||||
margin-left: 7px;
|
|
||||||
border-left: 1px solid #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Border with more whitespace, spans one column. */
|
|
||||||
.colborder {
|
|
||||||
padding-left: 42px;
|
|
||||||
margin-left: 42px;
|
|
||||||
border-left: 1px solid #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* The Grid Classes */
|
|
||||||
.grid1, .grid1_2cols, .grid1_3cols, .grid1_4cols, .grid2, .grid2_3cols, .grid2_4cols, .grid3, .grid3_2cols, .grid3_4cols, .grid4, .grid4_3cols, .grid5, .grid5_2cols, .grid5_3cols, .grid5_4cols, .grid6, .grid6_4cols, .grid7, .grid7_2cols, .grid7_3cols, .grid7_4cols, .grid8, .grid8_3cols, .grid9, .grid9_2cols, .grid9_4cols, .grid10, .grid10_3cols, .grid10_4cols, .grid11, .grid11_2cols, .grid11_3cols, .grid11_4cols, .grid12
|
|
||||||
{margin-left: 15px;float: left;display: inline; overflow: hidden;}
|
|
||||||
|
|
||||||
|
|
||||||
.width1, .grid1, .span-1 {width: 55px;}
|
|
||||||
.width1_2cols,.grid1_2cols {width: 20px;}
|
|
||||||
.width1_3cols,.grid1_3cols {width: 8px;}
|
|
||||||
.width1_4cols,.grid1_4cols {width: 2px;}
|
|
||||||
.input_width1 {width: 49px;}
|
|
||||||
|
|
||||||
.width2, .grid2, .span-2 {width: 125px;}
|
|
||||||
.width2_3cols,.grid2_3cols {width: 31px;}
|
|
||||||
.width2_4cols,.grid2_4cols {width: 20px;}
|
|
||||||
.input_width2 {width: 119px;}
|
|
||||||
|
|
||||||
.width3, .grid3, .span-3 {width: 195px;}
|
|
||||||
.width3_2cols,.grid3_2cols {width: 90px;}
|
|
||||||
.width3_4cols,.grid3_4cols {width: 37px;}
|
|
||||||
.input_width3 {width: 189px;}
|
|
||||||
|
|
||||||
.width4, .grid4, .span-4 {width: 265px;}
|
|
||||||
.width4_3cols,.grid4_3cols {width: 78px;}
|
|
||||||
.input_width4 {width: 259px;}
|
|
||||||
|
|
||||||
.width5, .grid5, .span-5 {width: 335px;}
|
|
||||||
.width5_2cols,.grid5_2cols {width: 160px;}
|
|
||||||
.width5_3cols,.grid5_3cols {width: 101px;}
|
|
||||||
.width5_4cols,.grid5_4cols {width: 72px;}
|
|
||||||
.input_width5 {width: 329px;}
|
|
||||||
|
|
||||||
.width6, .grid6, .span-6 {width: 405px;}
|
|
||||||
.width6_4cols,.grid6_4cols {width: 90px;}
|
|
||||||
.input_width6 {width: 399px;}
|
|
||||||
|
|
||||||
.width7, .grid7, .span-7 {width: 475px;}
|
|
||||||
.width7_2cols,.grid7_2cols {width: 230px;}
|
|
||||||
.width7_3cols,.grid7_3cols {width: 148px;}
|
|
||||||
.width7_4cols,.grid7_4cols {width: 107px;}
|
|
||||||
.input_width7 {width: 469px;}
|
|
||||||
|
|
||||||
.width8, .grid8, .span-8 {width: 545px;}
|
|
||||||
.width8_3cols,.grid8_3cols {width: 171px;}
|
|
||||||
.input_width8 {width: 539px;}
|
|
||||||
|
|
||||||
.width9, .grid9, .span-9 {width: 615px;}
|
|
||||||
.width9_2cols,.grid9_2cols {width: 300px;}
|
|
||||||
.width9_4cols,.grid9_4cols {width: 142px;}
|
|
||||||
.input_width9 {width: 609px;}
|
|
||||||
|
|
||||||
.width10, .grid10, .span-10 {width: 685px;}
|
|
||||||
.width10_3cols,.grid10_3cols {width: 218px;}
|
|
||||||
.width10_4cols,.grid10_4cols {width: 160px;}
|
|
||||||
.input_width10 {width: 679px;}
|
|
||||||
|
|
||||||
.width11, .grid11, .span-11 {width: 755px;}
|
|
||||||
.width11_2cols,.grid11_2cols {width: 370px;}
|
|
||||||
.width11_3cols,.grid11_3cols {width: 241px;}
|
|
||||||
.width11_4cols,.grid11_4cols {width: 177px;}
|
|
||||||
.input_width11 {width: 749px;}
|
|
||||||
|
|
||||||
.width12, .grid12, .span-12 {width: 825px;}
|
|
||||||
.input_width12 {width: 819px;}
|
|
||||||
|
|
||||||
/* Subdivided grid spaces */
|
|
||||||
.emptycols_left1, .prepend-1 {padding-left: 70px;}
|
|
||||||
.emptycols_right1, .append-1 {padding-right: 70px;}
|
|
||||||
.emptycols_left2, .prepend-2 {padding-left: 140px;}
|
|
||||||
.emptycols_right2, .append-2 {padding-right: 140px;}
|
|
||||||
.emptycols_left3, .prepend-3 {padding-left: 210px;}
|
|
||||||
.emptycols_right3, .append-3 {padding-right: 210px;}
|
|
||||||
.emptycols_left4, .prepend-4 {padding-left: 280px;}
|
|
||||||
.emptycols_right4, .append-4 {padding-right: 280px;}
|
|
||||||
.emptycols_left5, .prepend-5 {padding-left: 350px;}
|
|
||||||
.emptycols_right5, .append-5 {padding-right: 350px;}
|
|
||||||
.emptycols_left6, .prepend-6 {padding-left: 420px;}
|
|
||||||
.emptycols_right6, .append-6 {padding-right: 420px;}
|
|
||||||
.emptycols_left7, .prepend-7 {padding-left: 490px;}
|
|
||||||
.emptycols_right7, .append-7 {padding-right: 490px;}
|
|
||||||
.emptycols_left8, .prepend-8 {padding-left: 560px;}
|
|
||||||
.emptycols_right8, .append-8 {padding-right: 560px;}
|
|
||||||
.emptycols_left9, .prepend-9 {padding-left: 630px;}
|
|
||||||
.emptycols_right9, .append-9 {padding-right: 630px;}
|
|
||||||
.emptycols_left10, .prepend-10 {padding-left: 700px;}
|
|
||||||
.emptycols_right10, .append-10 {padding-right: 700px;}
|
|
||||||
.emptycols_left11, .prepend-11 {padding-left: 770px;}
|
|
||||||
.emptycols_right11, .append-11 {padding-right: 770px;}
|
|
||||||
.pull-1 {margin-left: -70px;}
|
|
||||||
.push-1 {margin-right: -70px;margin-left: 18px;float: right;}
|
|
||||||
.pull-2 {margin-left: -140px;}
|
|
||||||
.push-2 {margin-right: -140px;margin-left: 18px;float: right;}
|
|
||||||
.pull-3 {margin-left: -210px;}
|
|
||||||
.push-3 {margin-right: -210px;margin-left: 18px;float: right;}
|
|
||||||
.pull-4 {margin-left: -280px;}
|
|
||||||
.push-4 {margin-right: -280px;margin-left: 18px;float: right;}
|
|
|
@ -1,396 +0,0 @@
|
||||||
@import url('grid_12-825-55-15.css');
|
|
||||||
|
|
||||||
/*
|
|
||||||
CSS Reset by Eric Meyer - Released under Public Domain
|
|
||||||
http://meyerweb.com/eric/tools/css/reset/
|
|
||||||
*/
|
|
||||||
html, body, div, span, applet, object, iframe,
|
|
||||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
|
||||||
a, abbr, acronym, address, big, cite, code,
|
|
||||||
del, dfn, em, font, img, ins, kbd, q, s, samp,
|
|
||||||
small, strike, strong, sub, sup, tt, var,
|
|
||||||
b, u, i, center, dl, dt, dd, ol, ul, li,
|
|
||||||
fieldset, form, label, legend, table,
|
|
||||||
caption, tbody, tfoot, thead, tr, th, td
|
|
||||||
{margin: 0;padding: 0;border: 0;outline: 0;
|
|
||||||
font-size: 100%;vertical-align: baseline;
|
|
||||||
background: transparent;}
|
|
||||||
body {line-height: 1;}
|
|
||||||
ol, ul {list-style: none;}
|
|
||||||
blockquote, q {quotes: none;}
|
|
||||||
blockquote:before, blockquote:after,
|
|
||||||
q:before, q:after {content: ''; content: none;}
|
|
||||||
:focus {outline: 0;}
|
|
||||||
ins {text-decoration: none;}
|
|
||||||
del {text-decoration: line-through;}
|
|
||||||
table {border-collapse: collapse;border-spacing: 0;}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
body {
|
|
||||||
color: #000;
|
|
||||||
background-color: #dcdcdc;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
color: #1883ba;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1{
|
|
||||||
font-size: 32px;
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
margin-bottom: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2{
|
|
||||||
font-size: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#container {
|
|
||||||
width: 865px;
|
|
||||||
margin: 0px auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#header {
|
|
||||||
padding: 20px;
|
|
||||||
font-size: 36px;
|
|
||||||
background-color: #000;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header span {
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
#main_content {
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 60px 20px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#footer p {
|
|
||||||
margin: 0;
|
|
||||||
padding-top: 10px;
|
|
||||||
padding-bottom: 50px;
|
|
||||||
color: #333;
|
|
||||||
font: 10px Arial, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tabs {
|
|
||||||
width: 100%;
|
|
||||||
height: 31px;
|
|
||||||
background-color: #444;
|
|
||||||
}
|
|
||||||
.tabs li {
|
|
||||||
float: left;
|
|
||||||
margin: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
background-color: #444;
|
|
||||||
}
|
|
||||||
.tabs li a {
|
|
||||||
display: block;
|
|
||||||
color: #fff;
|
|
||||||
text-decoration: none;
|
|
||||||
font: bold 11px/11px 'Arial';
|
|
||||||
text-transform: uppercase;
|
|
||||||
padding: 10px 15px;
|
|
||||||
border-right: 1px solid #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tabs li a:hover {
|
|
||||||
background-color: #00b3ff;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tabs li.active a {
|
|
||||||
color: #000;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
div.huge {
|
|
||||||
|
|
||||||
font-size: 300px;
|
|
||||||
line-height: 1em;
|
|
||||||
padding: 0;
|
|
||||||
letter-spacing: -.02em;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
div.glyph_range {
|
|
||||||
font-size: 72px;
|
|
||||||
line-height: 1.1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.size10{ font-size: 10px; }
|
|
||||||
.size11{ font-size: 11px; }
|
|
||||||
.size12{ font-size: 12px; }
|
|
||||||
.size13{ font-size: 13px; }
|
|
||||||
.size14{ font-size: 14px; }
|
|
||||||
.size16{ font-size: 16px; }
|
|
||||||
.size18{ font-size: 18px; }
|
|
||||||
.size20{ font-size: 20px; }
|
|
||||||
.size24{ font-size: 24px; }
|
|
||||||
.size30{ font-size: 30px; }
|
|
||||||
.size36{ font-size: 36px; }
|
|
||||||
.size48{ font-size: 48px; }
|
|
||||||
.size60{ font-size: 60px; }
|
|
||||||
.size72{ font-size: 72px; }
|
|
||||||
.size90{ font-size: 90px; }
|
|
||||||
|
|
||||||
|
|
||||||
.psample_row1 { height: 120px;}
|
|
||||||
.psample_row1 { height: 120px;}
|
|
||||||
.psample_row2 { height: 160px;}
|
|
||||||
.psample_row3 { height: 160px;}
|
|
||||||
.psample_row4 { height: 160px;}
|
|
||||||
|
|
||||||
.psample {
|
|
||||||
overflow: hidden;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.psample p {
|
|
||||||
line-height: 1.3em;
|
|
||||||
display: block;
|
|
||||||
overflow: hidden;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.psample span {
|
|
||||||
margin-right: .5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.white_blend {
|
|
||||||
width: 100%;
|
|
||||||
height: 61px;
|
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVkAAAA9CAYAAAAH4BojAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO1JREFUeNrs3TsKgFAMRUE/eer+NxztxMYuEWQG3ECKwwUF58ycAKixOAGAyAKILAAiCyCyACILgMgCiCyAyAIgsgAiCyCyAIgsgMgCiCwAIgsgsgAiC4DIAogsACIL0CWuZ3UGgLrIhjMA1EV2OAOAJQtgyQLwjOzmDAAiCyCyAIgsQFtkd2cAEFkAkQVAZAHaIns4A4AlC2DJAiCyACILILIAiCzAV5H1dQGAJQsgsgCILIDIAvwisl58AViyAJYsACILILIAIgvAe2T9EhxAZAFEFgCRBeiL7HAGgLrIhjMAWLIAliwAt1OAAQDwygTBulLIlQAAAABJRU5ErkJggg==);
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.black_blend {
|
|
||||||
width: 100%;
|
|
||||||
height: 61px;
|
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVkAAAA9CAYAAAAH4BojAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPJJREFUeNrs3TEKhTAQRVGjibr/9QoxhY2N3Ywo50A28IrLwP9g6b1PAMSYTQAgsgAiC4DIAogsgMgCILIAIgsgsgCILIDIAogsACILILIAIguAyAKILIDIAiCyACILgMgCZCnjLWYAiFGvB0BQZJsZAFyyAC5ZAO6RXc0AILIAIguAyAKkRXYzA4DIAogsACILkBbZ3QwALlkAlywAIgsgsgAiC4DIArwVWf8uAHDJAogsACILILIAv4isH74AXLIALlkARBZAZAFEFoDnyPokOIDIAogsACILkBfZZgaAuMhWMwC4ZAE+p4x3mAEgxinAAJ+XBbPWGkwAAAAAAElFTkSuQmCC);
|
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
}
|
|
||||||
.fullreverse {
|
|
||||||
background: #000 !important;
|
|
||||||
color: #fff !important;
|
|
||||||
margin-left: -20px;
|
|
||||||
padding-left: 20px;
|
|
||||||
margin-right: -20px;
|
|
||||||
padding-right: 20px;
|
|
||||||
padding: 20px;
|
|
||||||
margin-bottom:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.sample_table td {
|
|
||||||
padding-top: 3px;
|
|
||||||
padding-bottom:5px;
|
|
||||||
padding-left: 5px;
|
|
||||||
vertical-align: middle;
|
|
||||||
line-height: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sample_table td:first-child {
|
|
||||||
background-color: #eee;
|
|
||||||
text-align: right;
|
|
||||||
padding-right: 5px;
|
|
||||||
padding-left: 0;
|
|
||||||
padding: 5px;
|
|
||||||
font: 11px/12px "Courier New", Courier, mono;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
white-space: pre;
|
|
||||||
background-color: #eee;
|
|
||||||
display: block;
|
|
||||||
padding: 10px;
|
|
||||||
margin-bottom: 18px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.bottom,.last {margin-bottom:0 !important; padding-bottom:0 !important;}
|
|
||||||
|
|
||||||
.box {
|
|
||||||
padding: 18px;
|
|
||||||
margin-bottom: 18px;
|
|
||||||
background: #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
.reverse,.reversed { background: #000 !important;color: #fff !important; border: none !important;}
|
|
||||||
|
|
||||||
#bodycomparison {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 72px;
|
|
||||||
height: 90px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
#bodycomparison div{
|
|
||||||
font-size: 72px;
|
|
||||||
line-height: 90px;
|
|
||||||
display: inline;
|
|
||||||
margin: 0 15px 0 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#bodycomparison div span{
|
|
||||||
font: 10px Arial;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
#xheight {
|
|
||||||
float: none;
|
|
||||||
position: absolute;
|
|
||||||
color: #d9f3ff;
|
|
||||||
font-size: 72px;
|
|
||||||
line-height: 90px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fontbody {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.arialbody{
|
|
||||||
font-family: Arial;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.verdanabody{
|
|
||||||
font-family: Verdana;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.georgiabody{
|
|
||||||
font-family: Georgia;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* @group Layout page
|
|
||||||
*/
|
|
||||||
|
|
||||||
#layout h1 {
|
|
||||||
font-size: 36px;
|
|
||||||
line-height: 42px;
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
#layout h2 {
|
|
||||||
font-size: 24px;
|
|
||||||
line-height: 23px;
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
#layout h3 {
|
|
||||||
font-size: 22px;
|
|
||||||
line-height: 1.4em;
|
|
||||||
margin-top: 1em;
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#layout p.byline {
|
|
||||||
font-size: 12px;
|
|
||||||
margin-top: 18px;
|
|
||||||
line-height: 12px;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
#layout p {
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 21px;
|
|
||||||
margin-bottom: .5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#layout p.large{
|
|
||||||
font-size: 18px;
|
|
||||||
line-height: 26px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#layout .sidebar p{
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 1.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#layout p.caption {
|
|
||||||
font-size: 10px;
|
|
||||||
margin-top: -16px;
|
|
||||||
margin-bottom: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* @end */
|
|
||||||
|
|
||||||
/* @group Glyphs */
|
|
||||||
|
|
||||||
#glyph_chart div{
|
|
||||||
background-color: #d9f3ff;
|
|
||||||
color: black;
|
|
||||||
float: left;
|
|
||||||
font-size: 36px;
|
|
||||||
height: 1.2em;
|
|
||||||
line-height: 1.2em;
|
|
||||||
margin-bottom: 1px;
|
|
||||||
margin-right: 1px;
|
|
||||||
text-align: center;
|
|
||||||
width: 1.2em;
|
|
||||||
position: relative;
|
|
||||||
padding: .6em .2em .2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#glyph_chart div p {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
font: bold 9px Arial, sans-serif;
|
|
||||||
background-color: #3a768f;
|
|
||||||
width: 100%;
|
|
||||||
color: #fff;
|
|
||||||
padding: 2px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#glyphs h1 {
|
|
||||||
font-family: Arial, sans-serif;
|
|
||||||
}
|
|
||||||
/* @end */
|
|
||||||
|
|
||||||
/* @group Installing */
|
|
||||||
|
|
||||||
#installing {
|
|
||||||
font: 13px Arial, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
#installing p,
|
|
||||||
#glyphs p{
|
|
||||||
line-height: 1.2em;
|
|
||||||
margin-bottom: 18px;
|
|
||||||
font: 13px Arial, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#installing h3{
|
|
||||||
font-size: 15px;
|
|
||||||
margin-top: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* @end */
|
|
||||||
|
|
||||||
#rendering h1 {
|
|
||||||
font-family: Arial, sans-serif;
|
|
||||||
}
|
|
||||||
.render_table td {
|
|
||||||
font: 11px "Courier New", Courier, mono;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
16
images/icons/cf_icon_pitch.svg
Normal file
16
images/icons/cf_icon_pitch.svg
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 85 85" style="enable-background:new 0 0 85 85;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#707173;}
|
||||||
|
.st1{fill:#9C9E9F;}
|
||||||
|
</style>
|
||||||
|
<path class="st0" d="M35.8,82h21.4c9.4-6.7,16-22.1,16-39.9C73.2,24.8,67,9.8,58,2.8H35.6c9,7,15.2,22,15.2,39.3
|
||||||
|
c0,17.5-6.4,32.6-15.5,39.5C35.4,81.8,35.6,81.9,35.8,82z"/>
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M39.7,37.1c1.1-15.2,6.9-27.9,15-34.3H32.3c-8.1,6.3-14,19.1-15,34.3H39.7z"/>
|
||||||
|
<path class="st1" d="M42.4,61.6H19.9c2.8,9.1,7.5,16.3,13.2,20.4h21.4c0.2-0.1,0.4-0.2,0.5-0.4C49.6,77.5,45.1,70.4,42.4,61.6z"/>
|
||||||
|
</g>
|
||||||
|
<polygon class="st1" points="12.5,28.9 29.8,58.3 47.7,28.7 "/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 911 B |
18
images/icons/cf_icon_roll.svg
Normal file
18
images/icons/cf_icon_roll.svg
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 85 85" style="enable-background:new 0 0 85 85;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#707173;}
|
||||||
|
.st1{fill:#9C9E9F;}
|
||||||
|
</style>
|
||||||
|
<g>
|
||||||
|
<path class="st0" d="M82.4,48.7V26.9C75.6,17.3,60,10.6,41.9,10.6C24.3,10.6,9.1,16.9,2,26.1v22.8c7.1-9.2,22.3-15.5,39.9-15.5
|
||||||
|
c17.8,0,33.1,6.5,40.1,15.8C82.2,49,82.3,48.8,82.4,48.7z"/>
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M61.7,64.8c9.2-2.9,16.6-7.6,20.7-13.4V29.7c-0.1-0.2-0.2-0.4-0.4-0.5c-4.2,5.6-11.4,10.1-20.3,12.9V64.8z"/>
|
||||||
|
<path class="st1" d="M36.8,67.4V44.6C21.4,43.5,8.4,37.6,2,29.3v22.9C8.4,60.4,21.4,66.4,36.8,67.4z"/>
|
||||||
|
</g>
|
||||||
|
<polygon class="st1" points="28.4,72.3 58.3,54.8 28.3,36.6 "/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 948 B |
12
images/icons/cf_icon_yaw.svg
Normal file
12
images/icons/cf_icon_yaw.svg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 85 85" style="enable-background:new 0 0 85 85;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#707173;}
|
||||||
|
</style>
|
||||||
|
<path class="st0" d="M44.8,5.1C25,5.1,8.7,20.6,7.5,40.1h14.4c1.2-11.6,11-20.7,22.9-20.7c12.7,0,23.1,10.3,23.1,23.1
|
||||||
|
S57.5,65.5,44.8,65.5c-5,0-9.6-1.6-13.4-4.3v0l-11.3,9.2c6.6,5.8,15.2,9.4,24.7,9.4c20.6,0,37.4-16.8,37.4-37.4S65.4,5.1,44.8,5.1z"
|
||||||
|
/>
|
||||||
|
<polygon class="st0" points="1.7,31 12.8,58.2 30.9,35.1 "/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 726 B |
|
@ -11,20 +11,7 @@ function configuration_backup(callback) {
|
||||||
'apiVersion': CONFIG.apiVersion,
|
'apiVersion': CONFIG.apiVersion,
|
||||||
'profiles': [],
|
'profiles': [],
|
||||||
};
|
};
|
||||||
|
|
||||||
MSP.send_message(MSP_codes.MSP_STATUS, false, false, function () {
|
|
||||||
activeProfile = CONFIG.profile;
|
|
||||||
select_profile();
|
|
||||||
});
|
|
||||||
|
|
||||||
function select_profile() {
|
|
||||||
if (activeProfile > 0) {
|
|
||||||
MSP.send_message(MSP_codes.MSP_SELECT_SETTING, [0], false, fetch_specific_data);
|
|
||||||
} else {
|
|
||||||
fetch_specific_data();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var profileSpecificData = [
|
var profileSpecificData = [
|
||||||
MSP_codes.MSP_PID_CONTROLLER,
|
MSP_codes.MSP_PID_CONTROLLER,
|
||||||
MSP_codes.MSP_PID,
|
MSP_codes.MSP_PID,
|
||||||
|
@ -38,13 +25,29 @@ function configuration_backup(callback) {
|
||||||
function update_profile_specific_data_list() {
|
function update_profile_specific_data_list() {
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.12.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.12.0")) {
|
||||||
profileSpecificData.push(MSP_codes.MSP_CHANNEL_FORWARDING);
|
profileSpecificData.push(MSP_codes.MSP_CHANNEL_FORWARDING);
|
||||||
} else {
|
} else {
|
||||||
profileSpecificData.push(MSP_codes.MSP_SERVO_MIX_RULES);
|
profileSpecificData.push(MSP_codes.MSP_SERVO_MIX_RULES);
|
||||||
}
|
}
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
profileSpecificData.push(MSP_codes.MSP_RC_DEADBAND);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
update_profile_specific_data_list();
|
update_profile_specific_data_list();
|
||||||
|
|
||||||
|
MSP.send_message(MSP_codes.MSP_STATUS, false, false, function () {
|
||||||
|
activeProfile = CONFIG.profile;
|
||||||
|
select_profile();
|
||||||
|
});
|
||||||
|
|
||||||
|
function select_profile() {
|
||||||
|
if (activeProfile > 0) {
|
||||||
|
MSP.send_message(MSP_codes.MSP_SELECT_SETTING, [0], false, fetch_specific_data);
|
||||||
|
} else {
|
||||||
|
fetch_specific_data();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function fetch_specific_data() {
|
function fetch_specific_data() {
|
||||||
var fetchingProfile = 0,
|
var fetchingProfile = 0,
|
||||||
codeKey = 0;
|
codeKey = 0;
|
||||||
|
@ -68,6 +71,9 @@ function configuration_backup(callback) {
|
||||||
'AdjustmentRanges': jQuery.extend(true, [], ADJUSTMENT_RANGES)
|
'AdjustmentRanges': jQuery.extend(true, [], ADJUSTMENT_RANGES)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
configuration.profiles[fetchingProfile].RCdeadband = jQuery.extend(true, {}, RC_deadband);
|
||||||
|
}
|
||||||
codeKey = 0;
|
codeKey = 0;
|
||||||
fetchingProfile++;
|
fetchingProfile++;
|
||||||
|
|
||||||
|
@ -100,6 +106,7 @@ function configuration_backup(callback) {
|
||||||
uniqueData.push(MSP_codes.MSP_3D);
|
uniqueData.push(MSP_codes.MSP_3D);
|
||||||
}
|
}
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
uniqueData.push(MSP_codes.MSP_SENSOR_ALIGNMENT);
|
||||||
uniqueData.push(MSP_codes.MSP_RX_CONFIG);
|
uniqueData.push(MSP_codes.MSP_RX_CONFIG);
|
||||||
uniqueData.push(MSP_codes.MSP_FAILSAFE_CONFIG);
|
uniqueData.push(MSP_codes.MSP_FAILSAFE_CONFIG);
|
||||||
uniqueData.push(MSP_codes.MSP_RXFAIL_CONFIG);
|
uniqueData.push(MSP_codes.MSP_RXFAIL_CONFIG);
|
||||||
|
@ -132,6 +139,7 @@ function configuration_backup(callback) {
|
||||||
configuration._3D = jQuery.extend(true, {}, _3D);
|
configuration._3D = jQuery.extend(true, {}, _3D);
|
||||||
}
|
}
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
configuration.SENSOR_ALIGNMENT = jQuery.extend(true, {}, SENSOR_ALIGNMENT);
|
||||||
configuration.RX_CONFIG = jQuery.extend(true, {}, RX_CONFIG);
|
configuration.RX_CONFIG = jQuery.extend(true, {}, RX_CONFIG);
|
||||||
configuration.FAILSAFE_CONFIG = jQuery.extend(true, {}, FAILSAFE_CONFIG);
|
configuration.FAILSAFE_CONFIG = jQuery.extend(true, {}, FAILSAFE_CONFIG);
|
||||||
configuration.RXFAIL_CONFIG = jQuery.extend(true, [], RXFAIL_CONFIG);
|
configuration.RXFAIL_CONFIG = jQuery.extend(true, [], RXFAIL_CONFIG);
|
||||||
|
@ -217,8 +225,9 @@ function configuration_backup(callback) {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function configuration_restore(callback) {
|
function configuration_restore(callback) {
|
||||||
var chosenFileEntry = null;
|
var chosenFileEntry = null;
|
||||||
|
|
||||||
|
@ -298,6 +307,7 @@ function configuration_restore(callback) {
|
||||||
}
|
}
|
||||||
return semver.gte(generated, required);
|
return semver.gte(generated, required);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function migrate(configuration) {
|
function migrate(configuration) {
|
||||||
var appliedMigrationsCount = 0;
|
var appliedMigrationsCount = 0;
|
||||||
|
@ -517,7 +527,28 @@ function configuration_restore(callback) {
|
||||||
appliedMigrationsCount++;
|
appliedMigrationsCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (compareVersions(migratedVersion, '0.66.0') && !compareVersions(configuration.apiVersion, '1.15.0')) {
|
if (compareVersions(migratedVersion, '0.66.0') && !compareVersions(configuration.apiVersion, '1.15.0')) {
|
||||||
|
// api 1.15 exposes RCdeadband and sensor alignment
|
||||||
|
|
||||||
|
|
||||||
|
for (var profileIndex = 0; profileIndex < configuration.profiles.length; profileIndex++) {
|
||||||
|
if (configuration.profiles[profileIndex].RCdeadband == undefined) {
|
||||||
|
configuration.profiles[profileIndex].RCdeadband = {
|
||||||
|
deadband: 0,
|
||||||
|
yaw_deadband: 0,
|
||||||
|
alt_hold_deadband: 40,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (configuration.SENSOR_ALIGNMENT == undefined) {
|
||||||
|
configuration.SENSOR_ALIGNMENT = {
|
||||||
|
align_gyro: 0,
|
||||||
|
align_acc: 0,
|
||||||
|
align_mag: 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// api 1.15 exposes RX_CONFIG, FAILSAFE_CONFIG and RXFAIL_CONFIG configuration
|
// api 1.15 exposes RX_CONFIG, FAILSAFE_CONFIG and RXFAIL_CONFIG configuration
|
||||||
|
|
||||||
if (configuration.RX_CONFIG == undefined) {
|
if (configuration.RX_CONFIG == undefined) {
|
||||||
|
@ -565,8 +596,7 @@ function configuration_restore(callback) {
|
||||||
|
|
||||||
if (appliedMigrationsCount > 0) {
|
if (appliedMigrationsCount > 0) {
|
||||||
GUI.log(chrome.i18n.getMessage('configMigrationSuccessful', [appliedMigrationsCount]));
|
GUI.log(chrome.i18n.getMessage('configMigrationSuccessful', [appliedMigrationsCount]));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -582,6 +612,10 @@ function configuration_restore(callback) {
|
||||||
MSP_codes.MSP_SET_ACC_TRIM
|
MSP_codes.MSP_SET_ACC_TRIM
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
profileSpecificData.push(MSP_codes.MSP_SET_RC_DEADBAND);
|
||||||
|
}
|
||||||
|
|
||||||
MSP.send_message(MSP_codes.MSP_STATUS, false, false, function () {
|
MSP.send_message(MSP_codes.MSP_STATUS, false, false, function () {
|
||||||
activeProfile = CONFIG.profile;
|
activeProfile = CONFIG.profile;
|
||||||
select_profile();
|
select_profile();
|
||||||
|
@ -608,6 +642,7 @@ function configuration_restore(callback) {
|
||||||
SERVO_RULES = configuration.profiles[profile].ServoRules;
|
SERVO_RULES = configuration.profiles[profile].ServoRules;
|
||||||
MODE_RANGES = configuration.profiles[profile].ModeRanges;
|
MODE_RANGES = configuration.profiles[profile].ModeRanges;
|
||||||
ADJUSTMENT_RANGES = configuration.profiles[profile].AdjustmentRanges;
|
ADJUSTMENT_RANGES = configuration.profiles[profile].AdjustmentRanges;
|
||||||
|
RC_deadband = configuration.profiles[profile].RCdeadband;
|
||||||
}
|
}
|
||||||
|
|
||||||
function upload_using_specific_commands() {
|
function upload_using_specific_commands() {
|
||||||
|
@ -674,6 +709,7 @@ function configuration_restore(callback) {
|
||||||
uniqueData.push(MSP_codes.MSP_SET_3D);
|
uniqueData.push(MSP_codes.MSP_SET_3D);
|
||||||
}
|
}
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
uniqueData.push(MSP_codes.MSP_SET_SENSOR_ALIGNMENT);
|
||||||
uniqueData.push(MSP_codes.MSP_SET_RX_CONFIG);
|
uniqueData.push(MSP_codes.MSP_SET_RX_CONFIG);
|
||||||
uniqueData.push(MSP_codes.MSP_SET_FAILSAFE_CONFIG);
|
uniqueData.push(MSP_codes.MSP_SET_FAILSAFE_CONFIG);
|
||||||
}
|
}
|
||||||
|
@ -688,6 +724,7 @@ function configuration_restore(callback) {
|
||||||
ARMING_CONFIG = configuration.ARMING_CONFIG;
|
ARMING_CONFIG = configuration.ARMING_CONFIG;
|
||||||
FC_CONFIG = configuration.FC_CONFIG;
|
FC_CONFIG = configuration.FC_CONFIG;
|
||||||
_3D = configuration._3D;
|
_3D = configuration._3D;
|
||||||
|
SENSOR_ALIGNMENT = configuration.SENSOR_ALIGNMENT;
|
||||||
RX_CONFIG = configuration.RX_CONFIG;
|
RX_CONFIG = configuration.RX_CONFIG;
|
||||||
FAILSAFE_CONFIG = configuration.FAILSAFE_CONFIG;
|
FAILSAFE_CONFIG = configuration.FAILSAFE_CONFIG;
|
||||||
RXFAIL_CONFIG = configuration.RXFAIL_CONFIG;
|
RXFAIL_CONFIG = configuration.RXFAIL_CONFIG;
|
||||||
|
|
|
@ -195,6 +195,18 @@ var BLACKBOX = {
|
||||||
blackboxRateDenom: 1
|
blackboxRateDenom: 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var RC_deadband = {
|
||||||
|
deadband: 0,
|
||||||
|
yaw_deadband: 0,
|
||||||
|
alt_hold_deadband: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
var SENSOR_ALIGNMENT = {
|
||||||
|
align_gyro: 0,
|
||||||
|
align_acc: 0,
|
||||||
|
align_mag: 0
|
||||||
|
};
|
||||||
|
|
||||||
var RX_CONFIG = {
|
var RX_CONFIG = {
|
||||||
serialrx_provider: 0,
|
serialrx_provider: 0,
|
||||||
maxcheck: 0,
|
maxcheck: 0,
|
||||||
|
|
|
@ -287,8 +287,7 @@ GUI_control.prototype.content_ready = function (callback) {
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.cf_tip').each(function() {
|
$('.cf_tip').each(function() {
|
||||||
$(this).jBox('Tooltip', {
|
$(this).jBox('Tooltip', {
|
||||||
content: $(this).children('.cf_tooltiptext'),
|
|
||||||
delayOpen: 100,
|
delayOpen: 100,
|
||||||
delayClose: 100,
|
delayClose: 100,
|
||||||
position: {
|
position: {
|
||||||
|
|
47
js/msp.js
47
js/msp.js
|
@ -62,6 +62,8 @@ var MSP_codes = {
|
||||||
MSP_BOXIDS: 119,
|
MSP_BOXIDS: 119,
|
||||||
MSP_SERVO_CONFIGURATIONS: 120,
|
MSP_SERVO_CONFIGURATIONS: 120,
|
||||||
MSP_3D: 124,
|
MSP_3D: 124,
|
||||||
|
MSP_RC_DEADBAND: 125,
|
||||||
|
MSP_SENSOR_ALIGNMENT: 126,
|
||||||
|
|
||||||
MSP_SET_RAW_RC: 200,
|
MSP_SET_RAW_RC: 200,
|
||||||
MSP_SET_RAW_GPS: 201,
|
MSP_SET_RAW_GPS: 201,
|
||||||
|
@ -78,6 +80,9 @@ var MSP_codes = {
|
||||||
MSP_SET_SERVO_CONFIGURATION: 212,
|
MSP_SET_SERVO_CONFIGURATION: 212,
|
||||||
MSP_SET_MOTOR: 214,
|
MSP_SET_MOTOR: 214,
|
||||||
MSP_SET_3D: 217,
|
MSP_SET_3D: 217,
|
||||||
|
MSP_SET_RC_DEADBAND: 218,
|
||||||
|
MSP_SET_RESET_CURR_PID: 219,
|
||||||
|
MSP_SET_SENSOR_ALIGNMENT: 220,
|
||||||
|
|
||||||
// MSP_BIND: 240,
|
// MSP_BIND: 240,
|
||||||
|
|
||||||
|
@ -523,6 +528,18 @@ var MSP = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MSP_codes.MSP_RC_DEADBAND:
|
||||||
|
var offset = 0;
|
||||||
|
RC_deadband.deadband = data.getUint8(offset++, 1);
|
||||||
|
RC_deadband.yaw_deadband = data.getUint8(offset++, 1);
|
||||||
|
RC_deadband.alt_hold_deadband = data.getUint8(offset++, 1);
|
||||||
|
break;
|
||||||
|
case MSP_codes.MSP_SENSOR_ALIGNMENT:
|
||||||
|
var offset = 0;
|
||||||
|
SENSOR_ALIGNMENT.align_gyro = data.getUint8(offset++, 1);
|
||||||
|
SENSOR_ALIGNMENT.align_acc = data.getUint8(offset++, 1);
|
||||||
|
SENSOR_ALIGNMENT.align_mag = data.getUint8(offset++, 1);
|
||||||
|
break;
|
||||||
case MSP_codes.MSP_SET_RAW_RC:
|
case MSP_codes.MSP_SET_RAW_RC:
|
||||||
break;
|
break;
|
||||||
case MSP_codes.MSP_SET_RAW_GPS:
|
case MSP_codes.MSP_SET_RAW_GPS:
|
||||||
|
@ -934,6 +951,18 @@ var MSP = {
|
||||||
case MSP_codes.MSP_SET_ARMING_CONFIG:
|
case MSP_codes.MSP_SET_ARMING_CONFIG:
|
||||||
console.log('Arming config saved');
|
console.log('Arming config saved');
|
||||||
break;
|
break;
|
||||||
|
case MSP_codes.MSP_SET_RESET_CURR_PID:
|
||||||
|
console.log('Current PID profile reset');
|
||||||
|
break;
|
||||||
|
case MSP_codes.MSP_SET_3D:
|
||||||
|
console.log('3D settings saved');
|
||||||
|
break;
|
||||||
|
case MSP_codes.MSP_SET_RC_DEADBAND:
|
||||||
|
console.log('Rc controls settings saved');
|
||||||
|
break;
|
||||||
|
case MSP_codes.MSP_SET_SENSOR_ALIGNMENT:
|
||||||
|
console.log('Sensor alignment saved');
|
||||||
|
break;
|
||||||
case MSP_codes.MSP_SET_RX_CONFIG:
|
case MSP_codes.MSP_SET_RX_CONFIG:
|
||||||
console.log('Rx config saved');
|
console.log('Rx config saved');
|
||||||
break;
|
break;
|
||||||
|
@ -1128,7 +1157,7 @@ MSP.crunch = function (code) {
|
||||||
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")) {
|
if (semver.gte(CONFIG.apiVersion, "1.10.0")) {
|
||||||
buffer.push(Math.round(RC_tuning.RC_YAW_EXPO * 100));
|
buffer.push(Math.round(RC_tuning.RC_YAW_EXPO * 100));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1274,8 +1303,20 @@ MSP.crunch = function (code) {
|
||||||
buffer.push(highByte(_3D.neutral3d));
|
buffer.push(highByte(_3D.neutral3d));
|
||||||
buffer.push(lowByte(_3D.deadband3d_throttle));
|
buffer.push(lowByte(_3D.deadband3d_throttle));
|
||||||
buffer.push(highByte(_3D.deadband3d_throttle));
|
buffer.push(highByte(_3D.deadband3d_throttle));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MSP_codes.MSP_SET_RC_DEADBAND:
|
||||||
|
buffer.push(RC_deadband.deadband);
|
||||||
|
buffer.push(RC_deadband.yaw_deadband);
|
||||||
|
buffer.push(RC_deadband.alt_hold_deadband);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MSP_codes.MSP_SET_SENSOR_ALIGNMENT:
|
||||||
|
buffer.push(SENSOR_ALIGNMENT.align_gyro);
|
||||||
|
buffer.push(SENSOR_ALIGNMENT.align_acc);
|
||||||
|
buffer.push(SENSOR_ALIGNMENT.align_mag);
|
||||||
|
break
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1350,6 +1391,7 @@ MSP.sendServoConfigurations = function(onCompleteCallback) {
|
||||||
nextFunction();
|
nextFunction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function send_next_servo_configuration() {
|
function send_next_servo_configuration() {
|
||||||
|
|
||||||
var buffer = [];
|
var buffer = [];
|
||||||
|
@ -1472,6 +1514,7 @@ MSP.sendAdjustmentRanges = function(onCompleteCallback) {
|
||||||
send_next_adjustment_range();
|
send_next_adjustment_range();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function send_next_adjustment_range() {
|
function send_next_adjustment_range() {
|
||||||
|
|
||||||
var adjustmentRange = ADJUSTMENT_RANGES[adjustmentRangeIndex];
|
var adjustmentRange = ADJUSTMENT_RANGES[adjustmentRangeIndex];
|
||||||
|
|
344
main.css
344
main.css
|
@ -225,7 +225,6 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.45));
|
background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.45));
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
text-align: center;
|
|
||||||
text-shadow: 0px 1px rgba(0, 0, 0, 1.0);
|
text-shadow: 0px 1px rgba(0, 0, 0, 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,7 +281,6 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
|
|
||||||
.magicon.active {
|
.magicon.active {
|
||||||
background-image: url(images/icons/sensor_mag_on.png);
|
background-image: url(images/icons/sensor_mag_on.png);
|
||||||
color: #61d514;
|
|
||||||
color: #818181;
|
color: #818181;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -301,7 +299,6 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
|
|
||||||
.gpsicon.active {
|
.gpsicon.active {
|
||||||
background-image: url(images/icons/sensor_sat_on.png);
|
background-image: url(images/icons/sensor_sat_on.png);
|
||||||
color: #61d514;
|
|
||||||
color: #818181;
|
color: #818181;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,7 +317,6 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
|
|
||||||
.baroicon.active {
|
.baroicon.active {
|
||||||
background-image: url(images/icons/sensor_baro_on.png);
|
background-image: url(images/icons/sensor_baro_on.png);
|
||||||
color: #61d514;
|
|
||||||
color: #818181;
|
color: #818181;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -339,7 +335,6 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
|
|
||||||
.sonaricon.active {
|
.sonaricon.active {
|
||||||
background-image: url(images/icons/sensor_sonar_on.png);
|
background-image: url(images/icons/sensor_sonar_on.png);
|
||||||
color: #61d514;
|
|
||||||
color: #818181;
|
color: #818181;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -408,6 +403,7 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
border: 0px solid silver; /* was 1px*/
|
border: 0px solid silver; /* was 1px*/
|
||||||
background-color: #242424;
|
background-color: #242424;
|
||||||
|
color: #ccc;
|
||||||
color: rgba(255, 255, 255, 0.60);
|
color: rgba(255, 255, 255, 0.60);
|
||||||
line-height: 21px;
|
line-height: 21px;
|
||||||
height: 27px; /* was 65*/
|
height: 27px; /* was 65*/
|
||||||
|
@ -433,7 +429,6 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
width: 110px;
|
width: 110px;
|
||||||
opacity: 0.15;
|
opacity: 0.15;
|
||||||
background-image: url(images/icons/scroll.svg);
|
|
||||||
background-size: 80%;
|
background-size: 80%;
|
||||||
box-shadow: inset 0 0 5px #000000;
|
box-shadow: inset 0 0 5px #000000;
|
||||||
transition: all ease 0.3s;
|
transition: all ease 0.3s;
|
||||||
|
@ -501,20 +496,10 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#tabs {
|
#tabs {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabs ul {
|
|
||||||
/* overflow-y: auto; do not force scrollbars as it renders blank stripe on some user agents */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#tabs.logopen ul {
|
|
||||||
/* Cause the height to shrink to contain its floated contents while log is open */
|
|
||||||
}
|
|
||||||
|
|
||||||
.header-wrapper .mode-connected {
|
.header-wrapper .mode-connected {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -556,6 +541,8 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
#tabs li a:hover {
|
#tabs li a:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: rgba(0, 0, 0, 0.20);
|
background-color: rgba(0, 0, 0, 0.20);
|
||||||
|
color: #fff;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabs li.active {
|
#tabs li.active {
|
||||||
|
@ -585,6 +572,10 @@ input[type="number"]::-webkit-inner-spin-button {
|
||||||
background-image: url(images/icons/cf_icon_setup_grey.svg);
|
background-image: url(images/icons/cf_icon_setup_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_setup:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_setup_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_setup {
|
li.active .ic_setup {
|
||||||
background-image: url(images/icons/cf_icon_setup_white.svg);
|
background-image: url(images/icons/cf_icon_setup_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -593,6 +584,10 @@ li.active .ic_setup {
|
||||||
background-image: url(images/icons/cf_icon_ports_grey.svg);
|
background-image: url(images/icons/cf_icon_ports_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_ports:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_ports_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_ports {
|
li.active .ic_ports {
|
||||||
background-image: url(images/icons/cf_icon_ports_white.svg);
|
background-image: url(images/icons/cf_icon_ports_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -601,6 +596,10 @@ li.active .ic_ports {
|
||||||
background-image: url(images/icons/cf_icon_config_grey.svg);
|
background-image: url(images/icons/cf_icon_config_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_config:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_config_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_config {
|
li.active .ic_config {
|
||||||
background-image: url(images/icons/cf_icon_config_white.svg);
|
background-image: url(images/icons/cf_icon_config_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -609,6 +608,10 @@ li.active .ic_config {
|
||||||
background-image: url(images/icons/cf_icon_pid_grey.svg);
|
background-image: url(images/icons/cf_icon_pid_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_pid:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_pid_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_pid {
|
li.active .ic_pid {
|
||||||
background-image: url(images/icons/cf_icon_pid_white.svg);
|
background-image: url(images/icons/cf_icon_pid_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -617,6 +620,10 @@ li.active .ic_pid {
|
||||||
background-image: url(images/icons/cf_icon_rx_grey.svg);
|
background-image: url(images/icons/cf_icon_rx_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_rx:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_rx_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_rx {
|
li.active .ic_rx {
|
||||||
background-image: url(images/icons/cf_icon_rx_white.svg);
|
background-image: url(images/icons/cf_icon_rx_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -625,6 +632,10 @@ li.active .ic_rx {
|
||||||
background-image: url(images/icons/cf_icon_modes_grey.svg);
|
background-image: url(images/icons/cf_icon_modes_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_modes:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_modes_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_modes {
|
li.active .ic_modes {
|
||||||
background-image: url(images/icons/cf_icon_modes_white.svg);
|
background-image: url(images/icons/cf_icon_modes_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -633,6 +644,10 @@ li.active .ic_modes {
|
||||||
background-image: url(images/icons/cf_icon_adjust_grey.svg);
|
background-image: url(images/icons/cf_icon_adjust_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_adjust:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_adjust_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_adjust {
|
li.active .ic_adjust {
|
||||||
background-image: url(images/icons/cf_icon_adjust_white.svg);
|
background-image: url(images/icons/cf_icon_adjust_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -641,6 +656,10 @@ li.active .ic_adjust {
|
||||||
background-image: url(images/icons/cf_icon_servo_grey.svg);
|
background-image: url(images/icons/cf_icon_servo_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_servo:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_servo_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_servo {
|
li.active .ic_servo {
|
||||||
background-image: url(images/icons/cf_icon_servo_white.svg);
|
background-image: url(images/icons/cf_icon_servo_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -649,6 +668,10 @@ li.active .ic_servo {
|
||||||
background-image: url(images/icons/cf_icon_gps_grey.svg);
|
background-image: url(images/icons/cf_icon_gps_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_gps:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_gps_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_gps {
|
li.active .ic_gps {
|
||||||
background-image: url(images/icons/cf_icon_gps_white.svg);
|
background-image: url(images/icons/cf_icon_gps_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -657,6 +680,10 @@ li.active .ic_gps {
|
||||||
background-image: url(images/icons/cf_icon_led_grey.svg);
|
background-image: url(images/icons/cf_icon_led_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_led:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_led_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_led {
|
li.active .ic_led {
|
||||||
background-image: url(images/icons/cf_icon_led_white.svg);
|
background-image: url(images/icons/cf_icon_led_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -665,6 +692,10 @@ li.active .ic_led {
|
||||||
background-image: url(images/icons/cf_icon_sensors_grey.svg);
|
background-image: url(images/icons/cf_icon_sensors_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_sensors:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_sensors_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_sensors {
|
li.active .ic_sensors {
|
||||||
background-image: url(images/icons/cf_icon_sensors_white.svg);
|
background-image: url(images/icons/cf_icon_sensors_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -673,6 +704,10 @@ li.active .ic_sensors {
|
||||||
background-image: url(images/icons/cf_icon_log_grey.svg);
|
background-image: url(images/icons/cf_icon_log_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_log:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_log_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_log {
|
li.active .ic_log {
|
||||||
background-image: url(images/icons/cf_icon_log_white.svg);
|
background-image: url(images/icons/cf_icon_log_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -681,6 +716,10 @@ li.active .ic_log {
|
||||||
background-image: url(images/icons/cf_icon_data_grey.svg);
|
background-image: url(images/icons/cf_icon_data_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_data:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_data_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_data {
|
li.active .ic_data {
|
||||||
background-image: url(images/icons/cf_icon_data_white.svg);
|
background-image: url(images/icons/cf_icon_data_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -689,6 +728,10 @@ li.active .ic_data {
|
||||||
background-image: url(images/icons/cf_icon_cli_grey.svg);
|
background-image: url(images/icons/cf_icon_cli_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_cli:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_cli_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_cli {
|
li.active .ic_cli {
|
||||||
background-image: url(images/icons/cf_icon_cli_white.svg);
|
background-image: url(images/icons/cf_icon_cli_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -697,6 +740,10 @@ li.active .ic_cli {
|
||||||
background-image: url(images/icons/cf_icon_motor_grey.svg);
|
background-image: url(images/icons/cf_icon_motor_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_motor:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_motor_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_motor {
|
li.active .ic_motor {
|
||||||
background-image: url(images/icons/cf_icon_motor_white.svg);
|
background-image: url(images/icons/cf_icon_motor_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -705,6 +752,10 @@ li.active .ic_motor {
|
||||||
background-image: url(images/icons/cf_icon_welcome_grey.svg);
|
background-image: url(images/icons/cf_icon_welcome_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_welcome:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_welcome_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_welcome {
|
li.active .ic_welcome {
|
||||||
background-image: url(images/icons/cf_icon_welcome_white.svg);
|
background-image: url(images/icons/cf_icon_welcome_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -713,6 +764,10 @@ li.active .ic_welcome {
|
||||||
background-image: url(images/icons/cf_icon_help_grey.svg);
|
background-image: url(images/icons/cf_icon_help_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_help:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_help_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_help {
|
li.active .ic_help {
|
||||||
background-image: url(images/icons/cf_icon_help_white.svg);
|
background-image: url(images/icons/cf_icon_help_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -721,6 +776,10 @@ li.active .ic_help {
|
||||||
background-image: url(images/icons/cf_icon_flasher_grey.svg);
|
background-image: url(images/icons/cf_icon_flasher_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_flasher:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_flasher_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_flasher {
|
li.active .ic_flasher {
|
||||||
background-image: url(images/icons/cf_icon_flasher_white.svg);
|
background-image: url(images/icons/cf_icon_flasher_white.svg);
|
||||||
}
|
}
|
||||||
|
@ -730,12 +789,19 @@ li.active .ic_flasher {
|
||||||
background-image: url(images/icons/cf_icon_failsafe_grey.svg);
|
background-image: url(images/icons/cf_icon_failsafe_grey.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ic_failsafe:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_failsafe_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_failsafe {
|
li.active .ic_failsafe {
|
||||||
background-image: url(images/icons/cf_icon_failsafe_white.svg);
|
background-image: url(images/icons/cf_icon_failsafe_white.svg);
|
||||||
}
|
}
|
||||||
.ic_backup {
|
.ic_backup {
|
||||||
background-image: url(images/icons/cf_icon_backup_grey.svg);
|
background-image: url(images/icons/cf_icon_backup_grey.svg);
|
||||||
}
|
}
|
||||||
|
.ic_backup:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_backup_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_backup {
|
li.active .ic_backup {
|
||||||
background-image: url(images/icons/cf_icon_backup_white.svg);
|
background-image: url(images/icons/cf_icon_backup_white.svg);
|
||||||
|
@ -744,6 +810,9 @@ li.active .ic_backup {
|
||||||
.ic_wizzard {
|
.ic_wizzard {
|
||||||
background-image: url(images/icons/cf_icon_wizard_grey.svg);
|
background-image: url(images/icons/cf_icon_wizard_grey.svg);
|
||||||
}
|
}
|
||||||
|
.ic_wizzard:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_wizard_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_wizard {
|
li.active .ic_wizard {
|
||||||
background-image: url(images/icons/cf_icon_wizard_white.svg);
|
background-image: url(images/icons/cf_icon_wizard_white.svg);
|
||||||
|
@ -752,6 +821,9 @@ li.active .ic_wizard {
|
||||||
.ic_advanced {
|
.ic_advanced {
|
||||||
background-image: url(images/icons/cf_icon_advanced_grey.svg);
|
background-image: url(images/icons/cf_icon_advanced_grey.svg);
|
||||||
}
|
}
|
||||||
|
.ic_advanced:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_advanced_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_advanced {
|
li.active .ic_advanced {
|
||||||
background-image: url(images/icons/cf_icon_advanced_white.svg);
|
background-image: url(images/icons/cf_icon_advanced_white.svg);
|
||||||
|
@ -760,32 +832,35 @@ li.active .ic_advanced {
|
||||||
.ic_mission {
|
.ic_mission {
|
||||||
background-image: url(images/icons/cf_icon_mission_grey.svg);
|
background-image: url(images/icons/cf_icon_mission_grey.svg);
|
||||||
}
|
}
|
||||||
|
.ic_mission:hover {
|
||||||
|
background-image: url(images/icons/cf_icon_mission_white.svg);
|
||||||
|
}
|
||||||
|
|
||||||
li.active .ic_mission {
|
li.active .ic_mission {
|
||||||
background-image: url(images/icons/cf_icon_mission_white.svg);
|
background-image: url(images/icons/cf_icon_mission_white.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
#content {
|
||||||
margin-top: 0px; /* 31 */
|
margin-top: 0px;
|
||||||
padding: 0px; /* 10 */
|
padding: 0px;
|
||||||
height: calc(100% - 150px);
|
height: calc(100% - 150px);
|
||||||
/* (port picker 105px, log CLOSED 25px, status bar: 20px + padding) - was: calc(100% - 171px)*/
|
/* (port picker 105px, log CLOSED 25px, status bar: 20px + padding) - was: calc(100% - 171px)*/
|
||||||
background-color: white;
|
background-color: white;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
border: 0px solid #848484; /* 1px solid #848484; */
|
border: 0px solid #848484;
|
||||||
-webkit-transform: rotateX(0deg); /* DO NOT REMOVE! this fixes the UI freezing bug on MAC OS X */
|
-webkit-transform: rotateX(0deg); /* DO NOT REMOVE! this fixes the UI freezing bug on MAC OS X */
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content.logopen {
|
#content.logopen {
|
||||||
margin-top: 0px; /* 31 */
|
margin-top: 0px;
|
||||||
padding: 0px; /* 10 */
|
padding: 0px;
|
||||||
height: calc(100% - 234px); /* (port picker, log OPEN, status bar: 20px + padding) - was: calc(100% - 171px)*/
|
height: calc(100% - 234px); /* (port picker, log OPEN, status bar: 20px + padding) - was: calc(100% - 171px)*/
|
||||||
background-color: white;
|
background-color: white;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
border: 0px solid #848484; /* 1px solid #848484; */
|
border: 0px solid #848484;
|
||||||
-webkit-transform: rotateX(0deg); /* DO NOT REMOVE! this fixes the UI freezing bug on MAC OS X */
|
-webkit-transform: rotateX(0deg); /* DO NOT REMOVE! this fixes the UI freezing bug on MAC OS X */
|
||||||
transition: all 0.5s;
|
transition: all 0.5s;
|
||||||
/* Cause the height to shrink to contain its floated contents while log is open */
|
/* Cause the height to shrink to contain its floated contents while log is open */
|
||||||
|
@ -874,10 +949,8 @@ dialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab_wrapper {
|
.tab_wrapper {
|
||||||
padding-left: 20px;
|
padding: 20px 15px 15px 15px;
|
||||||
padding-right: 15px;
|
|
||||||
padding-top: 15px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.content_wrapper {
|
.content_wrapper {
|
||||||
|
@ -1361,7 +1434,7 @@ dialog {
|
||||||
|
|
||||||
.properties dd {
|
.properties dd {
|
||||||
width: 400px;
|
width: 400px;
|
||||||
height: auto !important;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* GPS Fix styling*/
|
/* GPS Fix styling*/
|
||||||
|
@ -1375,7 +1448,6 @@ dialog {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.fixfalse {
|
.fixfalse {
|
||||||
background-color: #e60000;
|
background-color: #e60000;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
|
@ -1452,11 +1524,10 @@ dialog {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -18px;
|
top: -18px;
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
text-align: center;
|
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
width:120px;
|
width:120px;
|
||||||
text-align:left;
|
text-align: left;
|
||||||
color:silver;
|
color:silver;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1477,119 +1548,122 @@ dialog {
|
||||||
margin-top:2px;
|
margin-top:2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cf_tooltiptext {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
||||||
.content_wrapper {
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
.tab_title {
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 18px;
|
|
||||||
font-family: 'open_sanslight', Arial;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
height: 22px;
|
|
||||||
}
|
|
||||||
.cf_doc_version_bt a {
|
|
||||||
padding: 1px 5px 1px 5px;
|
|
||||||
margin-top: -35px;
|
|
||||||
font-size: 9px;
|
|
||||||
line-height: 15px;
|
|
||||||
}
|
|
||||||
#content {
|
|
||||||
height: calc(100% - 151px);
|
|
||||||
/* (port picker 105px, log CLOSED 25px, status bar: 20px + padding) - was: calc(100% - 171px)*/
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
/*font-size: 11px;*/
|
|
||||||
/* lets see if we really need this? */
|
|
||||||
|
|
||||||
}
|
.content_wrapper {
|
||||||
.tab-setup, .tab-landing, .tab-adjustments, .tab-auxiliary, .tab-cli, .tab-configuration, .tab-failsafe, .tab-onboard_logging,
|
padding: 15px;
|
||||||
.tab-firmware_flasher, .tab-gps, .tab-help, .tab-led-strip, .tab-logging, .tab-modes, .tab-motors,
|
}
|
||||||
.tab-pid_tuning, .tab-ports, .tab-receiver, .tab-sensors, .tab-servos {
|
|
||||||
|
|
||||||
}
|
.tab_title {
|
||||||
.cf_table td {
|
font-size: 16px;
|
||||||
padding-top: 2px;
|
line-height: 18px;
|
||||||
padding-bottom: 2px;
|
font-family: 'open_sanslight', Arial;
|
||||||
}
|
margin-bottom: 10px;
|
||||||
.default_btn {
|
height: 22px;
|
||||||
margin-bottom: 10px;
|
}
|
||||||
}
|
|
||||||
.default_btn a {
|
|
||||||
/*font-size:11px;*/
|
|
||||||
|
|
||||||
}
|
.cf_doc_version_bt a {
|
||||||
#tabs li a {
|
padding: 1px 5px 1px 5px;
|
||||||
font-family: 'open_sansregular', Arial;
|
margin-top: -35px;
|
||||||
font-size: 12px;
|
font-size: 9px;
|
||||||
padding-left: 53px;
|
line-height: 15px;
|
||||||
padding-top: 6px;
|
}
|
||||||
padding-bottom: 2px;
|
|
||||||
content: "" !important;
|
|
||||||
text-shadow: none;
|
|
||||||
transition: none;
|
|
||||||
/* following is just for a graceful degradation */
|
|
||||||
text-overflow: clip;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.tab_container {
|
|
||||||
width: 40px;
|
|
||||||
}
|
|
||||||
.gui_box_titlebar {
|
|
||||||
font-size: 12px;
|
|
||||||
height: 24px;
|
|
||||||
padding-bottom: 0px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.spacer_box_title {
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
padding-top: 3px;
|
|
||||||
margin-bottom: 0px;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
input {
|
|
||||||
font-size: 11px !important;
|
|
||||||
}
|
|
||||||
.helpicon {
|
|
||||||
float: right;
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-right: 7px;
|
|
||||||
height: 14px;
|
|
||||||
width: 14px;
|
|
||||||
transition: none;
|
|
||||||
|
|
||||||
|
#content {
|
||||||
|
height: calc(100% - 151px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cf_table td {
|
||||||
|
padding-top: 2px;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.default_btn {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tabs li a {
|
||||||
|
font-family: 'open_sansregular', Arial;
|
||||||
|
font-size: 12px;
|
||||||
|
padding-left: 60px;
|
||||||
|
padding-top: 6px;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
content: "";
|
||||||
|
text-shadow: none;
|
||||||
|
transition: none;
|
||||||
|
/* following is just for a graceful degradation */
|
||||||
|
text-overflow: clip;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab_container {
|
||||||
|
width: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gui_box_titlebar {
|
||||||
|
font-size: 12px;
|
||||||
|
height: 24px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacer_box_title {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
padding-top: 3px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-size: 11px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.helpicon {
|
||||||
|
float: right;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-right: 7px;
|
||||||
|
height: 14px;
|
||||||
|
width: 14px;
|
||||||
|
transition: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tooltiptext {
|
.gps_false {
|
||||||
}
|
padding: 0px 3px 0px 3px;
|
||||||
|
font-size: 10px;
|
||||||
.gps_false {
|
}
|
||||||
padding: 0px 3px 0px 3px;
|
|
||||||
font-size: 10px;
|
.gps_true {
|
||||||
}
|
padding: 0px 3px 0px 3px;
|
||||||
.gps_true {
|
font-size: 10px;
|
||||||
padding: 0px 3px 0px 3px;
|
}
|
||||||
font-size: 10px;
|
|
||||||
}
|
.content_toolbar .btn a {
|
||||||
.content_toolbar .btn a {
|
margin-right: 15px;
|
||||||
margin-right: 15px;
|
}
|
||||||
}
|
|
||||||
.toolbar_fixed_bottom .content_wrapper {
|
.toolbar_fixed_bottom .content_wrapper {
|
||||||
/* content wrapper in view with toolbar fixed over bottom edge
|
/* content wrapper in view with toolbar fixed over bottom edge
|
||||||
leave 50px space for the toolbar
|
leave 50px space for the toolbar
|
||||||
*/
|
*/
|
||||||
height: calc(100% - 81px);
|
height: calc(100% - 81px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-height: 700px) , only screen and (max-device-height: 700px) {
|
@media only screen and (max-height: 700px) , only screen and (max-device-height: 700px) {
|
||||||
|
|
||||||
.tab_container {
|
.tab_container {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,7 +1,3 @@
|
||||||
.tab-adjustments {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#tab-adjustments-templates {
|
#tab-adjustments-templates {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
@ -121,4 +117,8 @@
|
||||||
|
|
||||||
.tab-adjustments .adjustment .functionSwitchChannel {
|
.tab-adjustments .adjustment .functionSwitchChannel {
|
||||||
width: 5%;
|
width: 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-adjustments .spacebottom {
|
||||||
|
margin-bottom: 15px;
|
||||||
}
|
}
|
|
@ -4,7 +4,7 @@
|
||||||
<div class="cf_doc_version_bt">
|
<div class="cf_doc_version_bt">
|
||||||
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="note" style="margin-bottom: 15px;">
|
<div class="note spacebottom">
|
||||||
<div class="note_spacer">
|
<div class="note_spacer">
|
||||||
<p i18n="adjustmentsHelp"></p>
|
<p i18n="adjustmentsHelp"></p>
|
||||||
<p i18n="adjustmentsExamples"></p>
|
<p i18n="adjustmentsExamples"></p>
|
||||||
|
@ -88,6 +88,24 @@
|
||||||
<option value="18" i18n="adjustmentsFunction18"></option>
|
<option value="18" i18n="adjustmentsFunction18"></option>
|
||||||
<option value="19" i18n="adjustmentsFunction19"></option>
|
<option value="19" i18n="adjustmentsFunction19"></option>
|
||||||
<option value="20" i18n="adjustmentsFunction20"></option>
|
<option value="20" i18n="adjustmentsFunction20"></option>
|
||||||
|
<option value="21" i18n="adjustmentsFunction21"></option>
|
||||||
|
<option value="22" i18n="adjustmentsFunction22"></option>
|
||||||
|
<option value="23" i18n="adjustmentsFunction23"></option>
|
||||||
|
<option value="24" i18n="adjustmentsFunction24"></option>
|
||||||
|
<option value="25" i18n="adjustmentsFunction25"></option>
|
||||||
|
<option value="26" i18n="adjustmentsFunction26"></option>
|
||||||
|
<option value="27" i18n="adjustmentsFunction27"></option>
|
||||||
|
<option value="28" i18n="adjustmentsFunction28"></option>
|
||||||
|
<option value="29" i18n="adjustmentsFunction29"></option>
|
||||||
|
<option value="30" i18n="adjustmentsFunction30"></option>
|
||||||
|
<option value="31" i18n="adjustmentsFunction31"></option>
|
||||||
|
<option value="32" i18n="adjustmentsFunction32"></option>
|
||||||
|
<option value="33" i18n="adjustmentsFunction33"></option>
|
||||||
|
<option value="34" i18n="adjustmentsFunction34"></option>
|
||||||
|
<option value="35" i18n="adjustmentsFunction35"></option>
|
||||||
|
<option value="36" i18n="adjustmentsFunction36"></option>
|
||||||
|
<option value="37" i18n="adjustmentsFunction37"></option>
|
||||||
|
<option value="38" i18n="adjustmentsFunction38"></option>
|
||||||
</select></td>
|
</select></td>
|
||||||
<td class="adjustmentSlot"><select class="slot">
|
<td class="adjustmentSlot"><select class="slot">
|
||||||
<option value="0" i18n="adjustmentsSlot0"></option>
|
<option value="0" i18n="adjustmentsSlot0"></option>
|
||||||
|
@ -101,4 +119,4 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
|
@ -69,6 +69,9 @@ TABS.adjustments.initialize = function (callback) {
|
||||||
availableFunctionCount += 2; // pitch and roll rate
|
availableFunctionCount += 2; // pitch and roll rate
|
||||||
if (semver.gte(CONFIG.flightControllerVersion, '1.9.0')) {
|
if (semver.gte(CONFIG.flightControllerVersion, '1.9.0')) {
|
||||||
availableFunctionCount += 6; // pitch p,i,d and roll p,i,d
|
availableFunctionCount += 6; // pitch p,i,d and roll p,i,d
|
||||||
|
if(semver.gte(CONFIG.apiVersion, "1.15.0")){
|
||||||
|
availableFunctionCount += 18;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,7 @@
|
||||||
.tab-auxiliary .mode {
|
.tab-auxiliary .mode {
|
||||||
background-color: #f9f9f9;
|
background-color: #f9f9f9;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
border-bottom: 1px solid #000000;
|
||||||
|
|
||||||
.tab-auxiliary .mode:nth-child(odd) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-auxiliary .mode .name {
|
.tab-auxiliary .mode .name {
|
||||||
|
@ -57,10 +54,6 @@
|
||||||
padding: 13px 0px;
|
padding: 13px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-auxiliary .mode.off .info, .tab-auxiliary .mode.on .info {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-auxiliary .mode .info {
|
.tab-auxiliary .mode .info {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 10%;
|
width: 10%;
|
||||||
|
@ -122,12 +115,7 @@
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-auxiliary .range:nth-child(odd) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-auxiliary .mode .range .channelInfo {
|
.tab-auxiliary .mode .range .channelInfo {
|
||||||
display: inline-block;
|
|
||||||
float: left;
|
float: left;
|
||||||
min-width: 90px;
|
min-width: 90px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -152,17 +140,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-auxiliary .range .channel-slider {
|
.tab-auxiliary .range .channel-slider {
|
||||||
display: inline-block;
|
|
||||||
float: left;
|
float: left;
|
||||||
width: 80%;
|
width: 80%;
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
margin-top: 1px;
|
margin-top: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-auxiliary .channel-slider {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-auxiliary>.buttons {
|
.tab-auxiliary>.buttons {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
@ -220,6 +203,11 @@
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-auxiliary .spacebottom {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
||||||
.tab-auxiliary .fixed_band {
|
.tab-auxiliary .fixed_band {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<div class="cf_doc_version_bt">
|
<div class="cf_doc_version_bt">
|
||||||
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="note" style="margin-bottom: 15px;">
|
<div class="note spacebottom">
|
||||||
<div class="note_spacer">
|
<div class="note_spacer">
|
||||||
<p i18n="auxiliaryHelp"></p>
|
<p i18n="auxiliaryHelp"></p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
<div id="tab-auxiliary-templates">
|
<div id="tab-auxiliary-templates">
|
||||||
<table class="modes">
|
<table class="modes">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="mode" style="border-bottom: 1px solid #000000">
|
<tr class="mode">
|
||||||
<td class="info">
|
<td class="info">
|
||||||
<p class="name"></p>
|
<p class="name"></p>
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
|
|
|
@ -174,7 +174,7 @@ TABS.cli.read = function (readInfo) {
|
||||||
GUI.timeout_add('waiting_for_bootup', function waiting_for_bootup() {
|
GUI.timeout_add('waiting_for_bootup', function waiting_for_bootup() {
|
||||||
MSP.send_message(MSP_codes.MSP_IDENT, false, false, function () {
|
MSP.send_message(MSP_codes.MSP_IDENT, false, false, function () {
|
||||||
GUI.log(chrome.i18n.getMessage('deviceReady'));
|
GUI.log(chrome.i18n.getMessage('deviceReady'));
|
||||||
if (!this.tab_switch_in_progress) {
|
if (!GUI.tab_switch_in_progress) {
|
||||||
$('#tabs ul.mode-connected .tab_setup a').click();
|
$('#tabs ul.mode-connected .tab_setup a').click();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
margin: 0 0 10px 20px;
|
margin: 0 0 10px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-configuration select.mixerList {
|
.tab-configuration .mixerList {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
|
@ -81,11 +81,6 @@
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-configuration .number {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
clear: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-configuration .number input {
|
.tab-configuration .number input {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
padding-left: 3px;
|
padding-left: 3px;
|
||||||
|
@ -99,7 +94,7 @@
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-configuration .number input.disabled {
|
.tab-configuration .number .disabled {
|
||||||
width: 43px;
|
width: 43px;
|
||||||
padding: 0px 5px;
|
padding: 0px 5px;
|
||||||
background-color: #ececec;
|
background-color: #ececec;
|
||||||
|
@ -175,7 +170,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-configuration span {
|
.tab-configuration span {
|
||||||
margin: 0px
|
margin: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-configuration .disarm .checkbox {
|
.tab-configuration .disarm .checkbox {
|
||||||
|
@ -193,13 +188,6 @@
|
||||||
width: calc(100% - 20px);
|
width: calc(100% - 20px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-configuration .number {
|
|
||||||
padding-bottom: 5px;
|
|
||||||
border-bottom: 1px solid #ddd;
|
|
||||||
width: 100%;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-configuration .disarm {
|
.tab-configuration .disarm {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -214,7 +202,19 @@
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-configuration .number:last-child {
|
.tab-configuration .number,
|
||||||
|
.tab-configuration .select
|
||||||
|
{
|
||||||
|
margin-bottom: 5px;
|
||||||
|
clear: left;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .number:last-child,
|
||||||
|
.tab-configuration .select:last-child {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
padding-bottom: 0px;
|
padding-bottom: 0px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
|
@ -330,10 +330,135 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-family: 'open_sansregular', Arial;
|
font-family: 'open_sansregular', Arial;
|
||||||
line-height: 19px;
|
line-height: 19px;
|
||||||
color: #7d7d7d;
|
color: #4F4F4F;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-configuration .alignicon {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
float: left;
|
||||||
|
margin-left: -5px;
|
||||||
|
margin-right: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .pitch {
|
||||||
|
background-image: url(../images/icons/cf_icon_pitch.svg);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 20px;
|
||||||
|
background-position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .yaw {
|
||||||
|
background-image: url(../images/icons/cf_icon_yaw.svg);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 20px;
|
||||||
|
background-position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .roll {
|
||||||
|
background-image: url(../images/icons/cf_icon_roll.svg);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 20px;
|
||||||
|
background-position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .board select {
|
||||||
|
/*float: left;*/
|
||||||
|
width: 45%;
|
||||||
|
height: 20px;
|
||||||
|
margin: 0 0px 2px 0;
|
||||||
|
border: 1px solid silver;
|
||||||
|
border-radius:3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#mixercontent .mixerheadline {
|
||||||
|
font-size: 13px;
|
||||||
|
width: 100%;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
float: left;
|
||||||
|
margin-bottom: 7px;
|
||||||
|
font-family: 'open_sanssemibold', Arial;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mixercontent select {
|
||||||
|
float: left;
|
||||||
|
width: 100%;
|
||||||
|
height: 20px;
|
||||||
|
margin: 0 0px 2px 0;
|
||||||
|
border: 1px solid silver;
|
||||||
|
border-radius:3px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
margin-top:3px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#mixercontent input {
|
||||||
|
width: 50px;
|
||||||
|
padding-left: 3px;
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
text-align: left;
|
||||||
|
border: 1px solid silver;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-right: 11px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: normal;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#mixercontent .mixerletter {
|
||||||
|
width: 23px;
|
||||||
|
height: 23px;
|
||||||
|
background-color: #d0d0d0;
|
||||||
|
line-height: 23px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 100px;
|
||||||
|
margin-right: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: bold;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mixercontent .number {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
clear: left;
|
||||||
|
padding-top: 5px;
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mixercontent .number:last-child {
|
||||||
|
padding-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mixercontent .mixercanvas {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border-radius: 5px;
|
||||||
|
border: 1px solid #e4e4e4;
|
||||||
|
height: 340px;
|
||||||
|
margin-top: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .sensoralignment {
|
||||||
|
width: 50%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .board_align_content {
|
||||||
|
width: 50%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-configuration .sensoralignment span {
|
||||||
|
width: 55%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
||||||
.tab-configuration .gui_box span {
|
.tab-configuration .gui_box span {
|
||||||
line-height: 17px;
|
line-height: 17px;
|
||||||
|
|
|
@ -33,13 +33,6 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="spacer_box">
|
<div class="spacer_box">
|
||||||
<table cellpadding="0" cellspacing="0">
|
<table cellpadding="0" cellspacing="0">
|
||||||
<thead style="display: none;">
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features esc">
|
<tbody class="features esc">
|
||||||
<!-- table generated here -->
|
<!-- table generated here -->
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -58,7 +51,8 @@
|
||||||
<label>
|
<label>
|
||||||
<div class="numberspacer">
|
<div class="numberspacer">
|
||||||
<input type="number" name="autodisarmdelay" min="0" max="60" />
|
<input type="number" name="autodisarmdelay" min="0" max="60" />
|
||||||
</div> <span i18n="configurationAutoDisarmDelay"></span>
|
</div>
|
||||||
|
<span i18n="configurationAutoDisarmDelay"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -67,28 +61,32 @@
|
||||||
<label>
|
<label>
|
||||||
<div class="numberspacer">
|
<div class="numberspacer">
|
||||||
<input type="number" name="minthrottle" min="0" max="2000" />
|
<input type="number" name="minthrottle" min="0" max="2000" />
|
||||||
</div> <span i18n="configurationThrottleMinimum"></span>
|
</div>
|
||||||
|
<span i18n="configurationThrottleMinimum"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="number">
|
<div class="number">
|
||||||
<label>
|
<label>
|
||||||
<div class="numberspacer">
|
<div class="numberspacer">
|
||||||
<input type="number" name="midthrottle" min="0" max="2000" />
|
<input type="number" name="midthrottle" min="0" max="2000" />
|
||||||
</div> <span i18n="configurationThrottleMid"></span>
|
</div>
|
||||||
|
<span i18n="configurationThrottleMid"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="number">
|
<div class="number">
|
||||||
<label>
|
<label>
|
||||||
<div class="numberspacer">
|
<div class="numberspacer">
|
||||||
<input type="number" name="maxthrottle" min="0" max="2000" />
|
<input type="number" name="maxthrottle" min="0" max="2000" />
|
||||||
</div> <span i18n="configurationThrottleMaximum"></span>
|
</div>
|
||||||
|
<span i18n="configurationThrottleMaximum"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="number">
|
<div class="number">
|
||||||
<label>
|
<label>
|
||||||
<div class="numberspacer">
|
<div class="numberspacer">
|
||||||
<input type="number" name="mincommand" min="0" max="2000" />
|
<input type="number" name="mincommand" min="0" max="2000" />
|
||||||
</div> <span i18n="configurationThrottleMinimumCommand"></span>
|
</div>
|
||||||
|
<span i18n="configurationThrottleMinimumCommand"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -99,22 +97,57 @@
|
||||||
<div class="gui_box grey">
|
<div class="gui_box grey">
|
||||||
<div class="gui_box_titlebar">
|
<div class="gui_box_titlebar">
|
||||||
<div class="spacer_box_title" i18n="configurationBoardAlignment"></div>
|
<div class="spacer_box_title" i18n="configurationBoardAlignment"></div>
|
||||||
|
<div class="helpicon cf_tip" i18n_title="configHelp2"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="spacer_box">
|
<div class="spacer_box">
|
||||||
<div class="number">
|
<div class="board_align_content">
|
||||||
<label> <input type="number" name="board_align_roll" step="1" min="-180" max="360" /> <span
|
<div class="number">
|
||||||
i18n="configurationBoardAlignmentRoll"></span>
|
<label> <input type="number" name="board_align_roll" step="1" min="-180" max="360" /> <span
|
||||||
</label>
|
i18n="configurationBoardAlignmentRoll"></span>
|
||||||
</div>
|
</label>
|
||||||
<div class="number">
|
<div class="alignicon roll"></div>
|
||||||
<label> <input type="number" name="board_align_pitch" step="1" min="-180" max="360" />
|
</div>
|
||||||
|
<div class="number">
|
||||||
|
<label> <input type="number" name="board_align_pitch" step="1" min="-180" max="360" />
|
||||||
<span i18n="configurationBoardAlignmentPitch"></span>
|
<span i18n="configurationBoardAlignmentPitch"></span>
|
||||||
</label>
|
</label>
|
||||||
|
<div class="alignicon pitch"></div>
|
||||||
|
</div>
|
||||||
|
<div class="number">
|
||||||
|
<label> <input type="number" name="board_align_yaw" step="1" min="-180" max="360" /> <span
|
||||||
|
i18n="configurationBoardAlignmentYaw"></span>
|
||||||
|
</label>
|
||||||
|
<div class="alignicon yaw"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="number">
|
<div class="sensoralignment">
|
||||||
<label> <input type="number" name="board_align_yaw" step="1" min="-180" max="360" /> <span
|
<div class="select">
|
||||||
i18n="configurationBoardAlignmentYaw"></span>
|
<label>
|
||||||
</label>
|
<span i18n="configurationSensorAlignmentGyro"></span>
|
||||||
|
<select class="gyroalign">
|
||||||
|
<option value="0">Default</option>
|
||||||
|
<!-- list generated here -->
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<label>
|
||||||
|
<span i18n="configurationSensorAlignmentAcc"></span>
|
||||||
|
<select class="accalign">
|
||||||
|
<option value="0">Default</option>
|
||||||
|
<!-- list generated here -->
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="select">
|
||||||
|
<label>
|
||||||
|
<span i18n="configurationSensorAlignmentMag"></span>
|
||||||
|
<select class="magalign">
|
||||||
|
<option value="0">Default</option>
|
||||||
|
<!-- list generated here -->
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -257,9 +290,7 @@
|
||||||
<div class="gui_box grey">
|
<div class="gui_box grey">
|
||||||
<div class="gui_box_titlebar">
|
<div class="gui_box_titlebar">
|
||||||
<div class="spacer_box_title" i18n="configurationRSSI"></div>
|
<div class="spacer_box_title" i18n="configurationRSSI"></div>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="configurationRSSIHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="configurationRSSIHelp" style="display:none;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="spacer_box">
|
<div class="spacer_box">
|
||||||
<table cellpadding="0" cellspacing="0">
|
<table cellpadding="0" cellspacing="0">
|
||||||
|
@ -328,21 +359,24 @@
|
||||||
<div class="line">
|
<div class="line">
|
||||||
<select class="gps_protocol">
|
<select class="gps_protocol">
|
||||||
<!-- list generated here -->
|
<!-- list generated here -->
|
||||||
</select> <span i18n="configurationGPSProtocol"></span>
|
</select>
|
||||||
|
<span i18n="configurationGPSProtocol"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="line">
|
<div class="line">
|
||||||
<select class="gps_baudrate">
|
<select class="gps_baudrate">
|
||||||
<!-- list generated here -->
|
<!-- list generated here -->
|
||||||
</select> <span i18n="configurationGPSBaudrate"></span>
|
</select>
|
||||||
|
<span i18n="configurationGPSBaudrate"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="line">
|
<div class="line">
|
||||||
<select class="gps_ubx_sbas">
|
<select class="gps_ubx_sbas">
|
||||||
<!-- list generated here -->
|
<!-- list generated here -->
|
||||||
</select> <span i18n="configurationGPSubxSbas"></span>
|
</select>
|
||||||
|
<span i18n="configurationGPSubxSbas"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="number">
|
<div class="number">
|
||||||
<label> <input type="number" name="mag_declination" step="0.1" min="-180" max="180" />
|
<label> <input type="number" name="mag_declination" step="0.1" min="-180" max="180" />
|
||||||
<span i18n="configurationMagDeclination"></span>
|
<span i18n="configurationMagDeclination"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -405,4 +439,4 @@
|
||||||
<a class="save" href="#" i18n="configurationButtonSave"></a>
|
<a class="save" href="#" i18n="configurationButtonSave"></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -54,13 +54,22 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_3d() {
|
function load_3d() {
|
||||||
var next_callback = load_html;
|
var next_callback = load_sensor_alignment;
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.14.0")) {
|
if (semver.gte(CONFIG.apiVersion, "1.14.0")) {
|
||||||
MSP.send_message(MSP_codes.MSP_3D, false, false, next_callback);
|
MSP.send_message(MSP_codes.MSP_3D, false, false, next_callback);
|
||||||
} else {
|
} else {
|
||||||
next_callback();
|
next_callback();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function load_sensor_alignment() {
|
||||||
|
var next_callback = load_html;
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
MSP.send_message(MSP_codes.MSP_SENSOR_ALIGNMENT, false, false, next_callback);
|
||||||
|
} else {
|
||||||
|
next_callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function load_html() {
|
function load_html() {
|
||||||
$('#content').load("./tabs/configuration.html", process_html);
|
$('#content').load("./tabs/configuration.html", process_html);
|
||||||
|
@ -202,6 +211,36 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var alignments = [
|
||||||
|
'CW 0°',
|
||||||
|
'CW 90°',
|
||||||
|
'CW 180°',
|
||||||
|
'CW 270°',
|
||||||
|
'CW 0° flip',
|
||||||
|
'CW 90° flip',
|
||||||
|
'CW 180° flip',
|
||||||
|
'CW 270° flip'
|
||||||
|
];
|
||||||
|
|
||||||
|
var orientation_gyro_e = $('select.gyroalign');
|
||||||
|
var orientation_acc_e = $('select.accalign');
|
||||||
|
var orientation_mag_e = $('select.magalign');
|
||||||
|
|
||||||
|
if (semver.lt(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
$('.tab-configuration .sensoralignment').hide();
|
||||||
|
} else {
|
||||||
|
for (var i = 0; i < alignments.length; i++) {
|
||||||
|
orientation_gyro_e.append('<option value="' + (i+1) + '">'+ alignments[i] + '</option>');
|
||||||
|
orientation_acc_e.append('<option value="' + (i+1) + '">'+ alignments[i] + '</option>');
|
||||||
|
orientation_mag_e.append('<option value="' + (i+1) + '">'+ alignments[i] + '</option>');
|
||||||
|
}
|
||||||
|
orientation_gyro_e.val(SENSOR_ALIGNMENT.align_gyro);
|
||||||
|
orientation_acc_e.val(SENSOR_ALIGNMENT.align_acc);
|
||||||
|
orientation_mag_e.val(SENSOR_ALIGNMENT.align_mag);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// generate GPS
|
// generate GPS
|
||||||
var gpsProtocols = [
|
var gpsProtocols = [
|
||||||
'NMEA',
|
'NMEA',
|
||||||
|
@ -225,6 +264,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
'Indian GAGAN'
|
'Indian GAGAN'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
var gps_protocol_e = $('select.gps_protocol');
|
var gps_protocol_e = $('select.gps_protocol');
|
||||||
for (var i = 0; i < gpsProtocols.length; i++) {
|
for (var i = 0; i < gpsProtocols.length; i++) {
|
||||||
gps_protocol_e.append('<option value="' + i + '">' + gpsProtocols[i] + '</option>');
|
gps_protocol_e.append('<option value="' + i + '">' + gpsProtocols[i] + '</option>');
|
||||||
|
@ -395,8 +435,8 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$('a.save').click(function () {
|
$('a.save').click(function () {
|
||||||
// gather data that doesn't have automatic change event bound
|
// gather data that doesn't have automatic change event bound
|
||||||
BF_CONFIG.board_align_roll = parseInt($('input[name="board_align_roll"]').val());
|
BF_CONFIG.board_align_roll = parseInt($('input[name="board_align_roll"]').val());
|
||||||
|
@ -433,6 +473,11 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
_3D.neutral3d = parseInt($('input[name="3dneutral"]').val());
|
_3D.neutral3d = parseInt($('input[name="3dneutral"]').val());
|
||||||
_3D.deadband3d_throttle = ($('input[name="3ddeadbandthrottle"]').val());
|
_3D.deadband3d_throttle = ($('input[name="3ddeadbandthrottle"]').val());
|
||||||
|
|
||||||
|
|
||||||
|
SENSOR_ALIGNMENT.align_gyro = parseInt(orientation_gyro_e.val());
|
||||||
|
SENSOR_ALIGNMENT.align_acc = parseInt(orientation_acc_e.val());
|
||||||
|
SENSOR_ALIGNMENT.align_mag = parseInt(orientation_mag_e.val());
|
||||||
|
|
||||||
// track feature usage
|
// track feature usage
|
||||||
if (isFeatureEnabled('RX_SERIAL')) {
|
if (isFeatureEnabled('RX_SERIAL')) {
|
||||||
googleAnalytics.sendEvent('Setting', 'SerialRxProvider', serialRXtypes[BF_CONFIG.serialrx_type]);
|
googleAnalytics.sendEvent('Setting', 'SerialRxProvider', serialRXtypes[BF_CONFIG.serialrx_type]);
|
||||||
|
@ -445,6 +490,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function save_serial_config() {
|
function save_serial_config() {
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.6.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.6.0")) {
|
||||||
MSP.send_message(MSP_codes.MSP_SET_CF_SERIAL_CONFIG, MSP.crunch(MSP_codes.MSP_SET_CF_SERIAL_CONFIG), false, save_misc);
|
MSP.send_message(MSP_codes.MSP_SET_CF_SERIAL_CONFIG, MSP.crunch(MSP_codes.MSP_SET_CF_SERIAL_CONFIG), false, save_misc);
|
||||||
|
@ -458,7 +504,21 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function save_3d() {
|
function save_3d() {
|
||||||
MSP.send_message(MSP_codes.MSP_SET_3D, MSP.crunch(MSP_codes.MSP_SET_3D), false, save_acc_trim);
|
var next_callback = save_sensor_alignment;
|
||||||
|
if(semver.gte(CONFIG.apiVersion, "1.14.0")) {
|
||||||
|
MSP.send_message(MSP_codes.MSP_SET_3D, MSP.crunch(MSP_codes.MSP_SET_3D), false, next_callback);
|
||||||
|
} else {
|
||||||
|
next_callback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function save_sensor_alignment() {
|
||||||
|
var next_callback = save_acc_trim;
|
||||||
|
if(semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
MSP.send_message(MSP_codes.MSP_SET_SENSOR_ALIGNMENT, MSP.crunch(MSP_codes.MSP_SET_SENSOR_ALIGNMENT), false, next_callback);
|
||||||
|
} else {
|
||||||
|
next_callback();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function save_acc_trim() {
|
function save_acc_trim() {
|
||||||
|
|
|
@ -31,9 +31,7 @@
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-failsafe .number input.disabled {
|
.tab-failsafe .number input:disabled {
|
||||||
width: 43px;
|
|
||||||
padding: 0 5px;
|
|
||||||
background-color: #ececec;
|
background-color: #ececec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,7 +182,7 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-family: 'open_sansregular', sans-serif;
|
font-family: 'open_sansregular', sans-serif;
|
||||||
line-height: 19px;
|
line-height: 19px;
|
||||||
color: #7d7d7d;
|
color: #4F4F4F;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,10 +211,31 @@
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-failsafe .channelprimary {
|
||||||
|
float:left;
|
||||||
|
width:60%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-failsafe .channelauxiliary {
|
||||||
|
float:left;
|
||||||
|
width:60%;
|
||||||
|
padding-top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
.tab-failsafe .channelname {
|
.tab-failsafe .channelname {
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-failsafe .channelsetting {
|
||||||
|
float:left;
|
||||||
|
width:25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-failsafe .auxiliary {
|
||||||
|
float:left;
|
||||||
|
width:15%;
|
||||||
|
}
|
||||||
|
|
||||||
.tab-failsafe .note {
|
.tab-failsafe .note {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,9 +39,7 @@
|
||||||
<div class="gui_box grey newpane">
|
<div class="gui_box grey newpane">
|
||||||
<div class="gui_box_titlebar">
|
<div class="gui_box_titlebar">
|
||||||
<div class="spacer_box_title" i18n="failsafePulsrangeTitle"></div>
|
<div class="spacer_box_title" i18n="failsafePulsrangeTitle"></div>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="failsafePulsrangeHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="failsafePulsrangeHelp"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="spacer_box">
|
<div class="spacer_box">
|
||||||
<div class="number">
|
<div class="number">
|
||||||
|
@ -59,9 +57,7 @@
|
||||||
<div class="gui_box grey stage1 newpane">
|
<div class="gui_box grey stage1 newpane">
|
||||||
<div class="gui_box_titlebar">
|
<div class="gui_box_titlebar">
|
||||||
<div class="spacer_box_title" i18n="failsafeChannelFallbackSettingsTitle"></div>
|
<div class="spacer_box_title" i18n="failsafeChannelFallbackSettingsTitle"></div>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="failsafeChannelFallbackSettingsHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="failsafeChannelFallbackSettingsHelp"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="spacer_box">
|
<div class="spacer_box">
|
||||||
<div class="activechannellist">
|
<div class="activechannellist">
|
||||||
|
@ -82,9 +78,7 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="failsafe_feature_new"><span i18n="failsafeFeatureItem"></span>
|
<label for="failsafe_feature_new"><span i18n="failsafeFeatureItem"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="failsafeFeatureHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="failsafeFeatureHelp"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="checkbox stage2">
|
<div class="checkbox stage2">
|
||||||
<div class="numberspacer" >
|
<div class="numberspacer" >
|
||||||
|
@ -92,25 +86,19 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="failsafe_kill_switch"><span i18n="failsafeKillSwitchItem"></span>
|
<label for="failsafe_kill_switch"><span i18n="failsafeKillSwitchItem"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="failsafeKillSwitchHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="failsafeKillSwitchHelp"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="number stage2">
|
<div class="number stage2">
|
||||||
<label> <input type="number" name="failsafe_delay" min="0" max="2000" /> <span
|
<label> <input type="number" name="failsafe_delay" min="0" max="2000" /> <span
|
||||||
i18n="failsafeDelayItem"></span>
|
i18n="failsafeDelayItem"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="failsafeDelayHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="failsafeDelayHelp"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="number stage2">
|
<div class="number stage2">
|
||||||
<label> <input type="number" name="failsafe_throttle_low_delay" min="0" max="2000" /> <span
|
<label> <input type="number" name="failsafe_throttle_low_delay" min="0" max="2000" /> <span
|
||||||
i18n="failsafeThrottleLowItem"></span>
|
i18n="failsafeThrottleLowItem"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="failsafeThrottleLowHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="failsafeThrottleLowHelp"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- radio buttons -->
|
<!-- radio buttons -->
|
||||||
<div class="subline stage2" i18n="failsafeSubTitle1"></div>
|
<div class="subline stage2" i18n="failsafeSubTitle1"></div>
|
||||||
|
@ -133,9 +121,7 @@
|
||||||
<label> <input type="number" name="failsafe_off_delay" min="0" max="2000" /> <span
|
<label> <input type="number" name="failsafe_off_delay" min="0" max="2000" /> <span
|
||||||
i18n="failsafeOffDelayItem"></span>
|
i18n="failsafeOffDelayItem"></span>
|
||||||
</label>
|
</label>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="failsafeOffDelayHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="failsafeOffDelayHelp"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -126,34 +126,31 @@ TABS.failsafe.initialize = function (callback, scrollPosition) {
|
||||||
if (i < channelNames.length) {
|
if (i < channelNames.length) {
|
||||||
fullChannels_e.append('\
|
fullChannels_e.append('\
|
||||||
<div class="number">\
|
<div class="number">\
|
||||||
<div style="width:60%; float:left;">\
|
<div class="channelprimary">\
|
||||||
<span>' + channelNames[i] + '</span>\
|
<span>' + channelNames[i] + '</span>\
|
||||||
</div>\
|
</div>\
|
||||||
<div class="cf_tip" style="width:25%; float:left;">\
|
<div class="cf_tip channelsetting" title="' + chrome.i18n.getMessage("failsafeChannelFallbackSettingsAuto") + '">\
|
||||||
<div class="cf_tooltiptext" style="display:none;"><strong>Auto</strong> means Roll, Pitch and Yaw to center and Throttle low. <strong>Hold</strong> means maintain the last good value received.</div>\
|
|
||||||
<select class="aux_set" id="' + i + '">\
|
<select class="aux_set" id="' + i + '">\
|
||||||
<option value="0">Auto</option>\
|
<option value="0">Auto</option>\
|
||||||
<option value="1">Hold</option>\
|
<option value="1">Hold</option>\
|
||||||
</select>\
|
</select>\
|
||||||
</div>\
|
</div>\
|
||||||
<div style="width:15%; float:left;"><input type="number" name="aux_value" min="750" max="2250" id="' + i + '"/></div>\
|
|
||||||
</div>\
|
</div>\
|
||||||
');
|
');
|
||||||
} else {
|
} else {
|
||||||
fullChannels_e.append('\
|
fullChannels_e.append('\
|
||||||
<div class="number">\
|
<div class="number">\
|
||||||
<div style="width:60%; float:left; padding-top: 2px;">\
|
<div class="channelauxiliary">\
|
||||||
<span class="channelname">' + chrome.i18n.getMessage("controlAxisAux" + (aux_index++)) + '</span>\
|
<span class="channelname">' + chrome.i18n.getMessage("controlAxisAux" + (aux_index++)) + '</span>\
|
||||||
' + auxAssignment[aux_assignment_index++] + '\
|
' + auxAssignment[aux_assignment_index++] + '\
|
||||||
</div>\
|
</div>\
|
||||||
<div class="cf_tip" style="width:25%; float:left;">\
|
<div class="cf_tip channelsetting" title="' + chrome.i18n.getMessage("failsafeChannelFallbackSettingsHold") + '">\
|
||||||
<div class="cf_tooltiptext" style="display:none;"><strong>Hold</strong> means maintain the last good value received. <strong>Set</strong> means the value given here will be used. </div>\
|
|
||||||
<select class="aux_set" id="' + i + '">\
|
<select class="aux_set" id="' + i + '">\
|
||||||
<option value="1">Hold</option>\
|
<option value="1">Hold</option>\
|
||||||
<option value="2">Set</option>\
|
<option value="2">Set</option>\
|
||||||
</select>\
|
</select>\
|
||||||
</div>\
|
</div>\
|
||||||
<div style="width:15%; float:left;"><input type="number" name="aux_value" min="750" max="2250" id="' + i + '"/></div>\
|
<div class="auxiliary"><input type="number" name="aux_value" min="750" max="2250" id="' + i + '"/></div>\
|
||||||
</div>\
|
</div>\
|
||||||
');
|
');
|
||||||
}
|
}
|
||||||
|
|
|
@ -243,12 +243,12 @@
|
||||||
background-color: #b8b8b8;
|
background-color: #b8b8b8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-firmware_flasher .buttons a.back {
|
.tab-firmware_flasher .buttons .back {
|
||||||
float: right;
|
float: right;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn a.disabled {
|
.btn .disabled {
|
||||||
cursor: default;
|
cursor: default;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background-color: #AFAFAF;
|
background-color: #AFAFAF;
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
.tab-gps {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-gps progress {
|
.tab-gps progress {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
|
@ -110,13 +110,15 @@
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-landing .content_mid h2, .tab-landing .content_mid h3 {
|
.tab-landing .content_mid h2 {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-landing .content_mid h3 {
|
.tab-landing .content_mid h3 {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-landing .content_mid .text1 .wrap {
|
.tab-landing .content_mid .text1 .wrap {
|
||||||
|
|
|
@ -154,11 +154,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.tab-led-strip button.w100 {
|
.tab-led-strip .w100 {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-led-strip button.w50 {
|
.tab-led-strip .w50 {
|
||||||
width: 49%;
|
width: 49%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,7 +172,6 @@
|
||||||
background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%);
|
background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-led-strip .color-0 {}
|
|
||||||
.tab-led-strip .color-1 {background: white;}
|
.tab-led-strip .color-1 {background: white;}
|
||||||
.tab-led-strip .color-2 {background: red;}
|
.tab-led-strip .color-2 {background: red;}
|
||||||
.tab-led-strip .color-3 {background: orange;}
|
.tab-led-strip .color-3 {background: orange;}
|
||||||
|
@ -186,8 +185,7 @@
|
||||||
.tab-led-strip .color-11 {background: darkviolet;}
|
.tab-led-strip .color-11 {background: darkviolet;}
|
||||||
.tab-led-strip .color-12 {background: magenta;}
|
.tab-led-strip .color-12 {background: magenta;}
|
||||||
.tab-led-strip .color-13 {background: deeppink;}
|
.tab-led-strip .color-13 {background: deeppink;}
|
||||||
.tab-led-strip .color-14 {}
|
|
||||||
.tab-led-strip .color-15 {}
|
|
||||||
|
|
||||||
.tab-led-strip .directions button.btnOn,
|
.tab-led-strip .directions button.btnOn,
|
||||||
.tab-led-strip .functions button.btnOn,
|
.tab-led-strip .functions button.btnOn,
|
||||||
|
@ -354,3 +352,7 @@
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
border: 1px dotted white;
|
border: 1px dotted white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-led-strip .spacebottom {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
|
@ -1,10 +1,10 @@
|
||||||
<div class="tab-led-strip toolbar_fixed_bottom">
|
<div class="tab-led-strip toolbar_fixed_bottom">
|
||||||
<div class="content_wrapper">
|
<div class="content_wrapper">
|
||||||
<div class="tab_title" i18n="tabLedStrip" style="float: none;"></div>
|
<div class="tab_title" i18n="tabLedStrip"></div>
|
||||||
<div class="cf_doc_version_bt">
|
<div class="cf_doc_version_bt">
|
||||||
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="note" style="margin-bottom: 20px;">
|
<div class="note spacebottom">
|
||||||
<div class="note_spacer">
|
<div class="note_spacer">
|
||||||
<p i18n="ledStripHelp"></p>
|
<p i18n="ledStripHelp"></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
.tab-logging {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-logging .properties {
|
.tab-logging .properties {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,4 +50,8 @@
|
||||||
width: calc(100% - 20px);
|
width: calc(100% - 20px);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 10px;
|
bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-modes .partone {
|
||||||
|
width: 18%;
|
||||||
}
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="content_wrapper">
|
<div class="content_wrapper">
|
||||||
<table class="boxes">
|
<table class="boxes">
|
||||||
<tr class="heads">
|
<tr class="heads">
|
||||||
<th style="width: 18%"></th>
|
<th class="partone"></th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="main">
|
<tr class="main">
|
||||||
<th i18n="auxiliaryName"></th>
|
<th i18n="auxiliaryName"></th>
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
.tab-pid_tuning {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-pid_tuning .rate-tpa th {
|
.tab-pid_tuning .rate-tpa th {
|
||||||
font-weight: normal;
|
|
||||||
background-color: #828885;
|
background-color: #828885;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
border-left: 0px solid #ccc;
|
border-left: 0px solid #ccc;
|
||||||
|
@ -62,7 +57,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .rate-tpa {
|
.tab-pid_tuning .rate-tpa {
|
||||||
border: 0px solid #ccc;
|
/*border: 0px solid #ccc; */
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +73,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .gui_box {
|
.tab-pid_tuning .gui_box {
|
||||||
margin-bottom: 0px !important;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning table, .tab-pid_tuning table td {
|
.tab-pid_tuning table, .tab-pid_tuning table td {
|
||||||
|
@ -128,10 +123,6 @@
|
||||||
padding-left: 0px;
|
padding-left: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning table tr:nth-child(odd) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-pid_tuning table input {
|
.tab-pid_tuning table input {
|
||||||
display: block;
|
display: block;
|
||||||
width: calc(100% - 0px);
|
width: calc(100% - 0px);
|
||||||
|
@ -144,10 +135,10 @@
|
||||||
|
|
||||||
.tab-pid_tuning .controller {
|
.tab-pid_tuning .controller {
|
||||||
float: left;
|
float: left;
|
||||||
width: calc(50% - 2px);
|
width: calc(35% - 2px);
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
border-radius: 3px;
|
border-radius: 4px;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,8 +146,6 @@
|
||||||
display: block;
|
display: block;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
font-weight: bold;
|
|
||||||
padding-left: 5px;
|
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
background-color: #828885;
|
background-color: #828885;
|
||||||
color: white;
|
color: white;
|
||||||
|
@ -164,6 +153,8 @@
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
padding: 2px;
|
padding: 2px;
|
||||||
padding-left: 6px;
|
padding-left: 6px;
|
||||||
|
border-top-left-radius: 3px;
|
||||||
|
border-top-right-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .controller select {
|
.tab-pid_tuning .controller select {
|
||||||
|
@ -183,8 +174,6 @@
|
||||||
display: block;
|
display: block;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
font-weight: bold;
|
|
||||||
padding-left: 5px;
|
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
background-color: #828885;
|
background-color: #828885;
|
||||||
color: white;
|
color: white;
|
||||||
|
@ -203,12 +192,24 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .pid_tuning .name {
|
.tab-pid_tuning .pid_tuning .name {
|
||||||
width: 30%;
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .proportional {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .integral {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .derivative {
|
||||||
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .rate-tpa {
|
.tab-pid_tuning .rate-tpa {
|
||||||
float: right;
|
float: right;
|
||||||
width: calc(100% - 0px); /* - ( "virtual" margin) */
|
width: calc(100% - 2px); /* - ( "virtual" margin) */
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-pid_tuning .top-buttons {
|
.tab-pid_tuning .top-buttons {
|
||||||
|
@ -256,6 +257,12 @@
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.show {
|
||||||
|
width:110px;
|
||||||
|
float:right;
|
||||||
|
margin-right:3px;
|
||||||
|
}
|
||||||
|
|
||||||
.show a {
|
.show a {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
width: calc(100% - 10px);
|
width: calc(100% - 10px);
|
||||||
|
@ -265,6 +272,62 @@
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .number .helpicon {
|
||||||
|
margin-top: 3px;
|
||||||
|
margin-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .gui_box_titlebar .helpicon {
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .spacer_left {
|
||||||
|
padding-left: 15px;
|
||||||
|
float: right;
|
||||||
|
width: calc(100% - 20px)
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .numberspacer {
|
||||||
|
float: left;
|
||||||
|
width: 65px;
|
||||||
|
height: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .number {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
clear: left;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .number:last-child {
|
||||||
|
padding-bottom: 5px;
|
||||||
|
border-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .number input {
|
||||||
|
width: 50px;
|
||||||
|
padding-left: 3px;
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
text-align: left;
|
||||||
|
border: 1px solid silver;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-right: 11px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .gui_box span {
|
||||||
|
font-style: normal;
|
||||||
|
font-family: 'open_sansregular', Arial;
|
||||||
|
line-height: 19px;
|
||||||
|
color: #7d7d7d;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
#content-watermark {
|
#content-watermark {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 40px;
|
bottom: 40px;
|
||||||
|
@ -278,4 +341,49 @@
|
||||||
background-size: 430px;
|
background-size: 430px;
|
||||||
height: 174px;
|
height: 174px;
|
||||||
opacity: 0.15;
|
opacity: 0.15;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .resetbt {
|
||||||
|
width: 140px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .right {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .pids {
|
||||||
|
float: left;
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .leftzero {
|
||||||
|
padding-left: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .tpa-breakpoint {
|
||||||
|
border-top-left-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .roll {
|
||||||
|
border-bottom-left-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .pidTuningLevel {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .borderleft {
|
||||||
|
border-top-left-radius: 3px;
|
||||||
|
border-top-right-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .textleft {
|
||||||
|
width: 25%;
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-pid_tuning .topspacer {
|
||||||
|
margin-top:15px;
|
||||||
}
|
}
|
|
@ -7,14 +7,20 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="cf_column half">
|
<div class="cf_column half">
|
||||||
<div class="controller">
|
<div class="controller">
|
||||||
<span class="head" i18n="pidTuningControllerHead"></span> <select name="controller">
|
<span class="head" i18n="pidTuningControllerHead"></span>
|
||||||
|
<select name="controller">
|
||||||
<!-- list generated here -->
|
<!-- list generated here -->
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="cf_column fourth">
|
<div class="cf_column right">
|
||||||
<div class="default_btn show">
|
<div class="default_btn show">
|
||||||
<a href="#" id="showAllPids">Show all PIDs</a>
|
<a href="#" id="showAllPids">Show all PIDs</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="default_btn resetbt">
|
||||||
|
<a href="#" id="resetPIDs">Reset PID Controller</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form name="pid-tuning" id="pid-tuning">
|
<form name="pid-tuning" id="pid-tuning">
|
||||||
|
@ -23,10 +29,10 @@
|
||||||
<div class="gui_box grey">
|
<div class="gui_box grey">
|
||||||
<table class="pid_titlebar">
|
<table class="pid_titlebar">
|
||||||
<tr>
|
<tr>
|
||||||
<th class="name" i18n="pidTuningName" style="width: 25%;"></th>
|
<th class="name" i18n="pidTuningName""></th>
|
||||||
<th class="proportional" i18n="pidTuningProportional" style="width: 25%;"></th>
|
<th class="proportional" i18n="pidTuningProportional"></th>
|
||||||
<th class="integral" i18n="pidTuningIntegral" style="width: 25%;"></th>
|
<th class="integral" i18n="pidTuningIntegral"></th>
|
||||||
<th class="derivative" i18n="pidTuningDerivative" style="width: 25%;"></th>
|
<th class="derivative" i18n="pidTuningDerivative"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table id="pid_main" class="pid_tuning">
|
<table id="pid_main" class="pid_tuning">
|
||||||
|
@ -121,20 +127,18 @@
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="gui_box grey" style="margin-top:10px;">
|
<div class="gui_box grey topspacer">
|
||||||
<table id="pid_accel" class="pid_tuning">
|
<table id="pid_accel" class="pid_tuning">
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4">
|
<th colspan="4">
|
||||||
<div class="pid_mode">
|
<div class="pid_mode borderleft">
|
||||||
<div style="width: 25%; float: left; text-align: left;">
|
<div class="textleft">
|
||||||
<div i18n="pidTuningLevel" style="float:left;"></div>
|
<div class="pidTuningLevel" i18n="pidTuningLevel"></div>
|
||||||
<div class="helpicon cf_tip">
|
<div class="helpicon cf_tip" i18n_title="pidTuningLevelHelp"></div>
|
||||||
<div class="cf_tooltiptext" i18n="pidTuningLevelHelp" style="display: none;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div style="width:25%; float:left;" i18n="pidTuningLevelP"></div>
|
<div class="pids" i18n="pidTuningLevelP"></div>
|
||||||
<div style="width:25%; float:left;" i18n="pidTuningLevelI"></div>
|
<div class="pids" i18n="pidTuningLevelI"></div>
|
||||||
<div style="width:25%; float:left;" i18n="pidTuningLevelD"></div>
|
<div class="pids" i18n="pidTuningLevelD"></div>
|
||||||
</div>
|
</div>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -146,7 +150,7 @@
|
||||||
<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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cf_column half">
|
<div class="cf_column half">
|
||||||
<div class="spacer_left">
|
<div class="spacer_left">
|
||||||
|
@ -163,7 +167,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td class="roll-pitch"><input type="number" name="roll-pitch" step="0.01" min="0"
|
<td class="roll-pitch"><input type="number" name="roll-pitch" step="0.01" min="0"
|
||||||
max="1.00" /></td>
|
max="1.00" /></td>
|
||||||
<td class="roll" style="border-bottom-left-radius: 3px;"><input type="number"
|
<td class="roll"><input type="number"
|
||||||
name="roll" step="0.01" min="0" max="1.00" /></td>
|
name="roll" step="0.01" min="0" max="1.00" /></td>
|
||||||
<td class="pitch"><input type="number" name="pitch" step="0.01" min="0" max="1.00" /></td>
|
<td class="pitch"><input type="number" name="pitch" step="0.01" min="0" max="1.00" /></td>
|
||||||
<td><input type="number" name="yaw" step="0.01" min="0" max="2.55" /></td>
|
<td><input type="number" name="yaw" step="0.01" min="0" max="2.55" /></td>
|
||||||
|
@ -174,13 +178,12 @@
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th i18n="pidTuningTPA"></th>
|
<th i18n="pidTuningTPA"></th>
|
||||||
<th class="tpa-breakpoint" i18n="pidTuningTPABreakPoint"
|
<th class="tpa-breakpoint" i18n="pidTuningTPABreakPoint"></th>
|
||||||
style="border-top-left-radius: 0px;"></th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding-left: 0px;"><input type="number" name="tpa" step="0.01" min="0"
|
<td class="leftzero"><input type="number" name="tpa" step="0.01" min="0"
|
||||||
max="1.00" /></td>
|
max="1.00" /></td>
|
||||||
<td class="tpa-breakpoint"><input type="number" name="tpa-breakpoint" step="10"
|
<td class="tpa-breakpoint"><input type="number" name="tpa-breakpoint" step="10"
|
||||||
min="1000" max="2000" /></td>
|
min="1000" max="2000" /></td>
|
||||||
|
@ -200,4 +203,4 @@
|
||||||
<a class="refresh" href="#" i18n="pidTuningButtonRefresh"></a>
|
<a class="refresh" href="#" i18n="pidTuningButtonRefresh"></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -276,6 +276,11 @@ TABS.pid_tuning.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#resetPIDs').on('click', function(){
|
||||||
|
MSP.send_message(MSP_codes.MSP_SET_RESET_CURR_PID, false, false, false);
|
||||||
|
updateActivatedTab();
|
||||||
|
});
|
||||||
|
|
||||||
$('.pid_tuning tr').each(function(){
|
$('.pid_tuning tr').each(function(){
|
||||||
for(i = 0; i < PID_names.length; i++) {
|
for(i = 0; i < PID_names.length; i++) {
|
||||||
if($(this).hasClass(PID_names[i])) {
|
if($(this).hasClass(PID_names[i])) {
|
||||||
|
|
|
@ -24,10 +24,7 @@
|
||||||
|
|
||||||
.tab-ports table td {
|
.tab-ports table td {
|
||||||
border-bottom: 1px solid #e4e4e4;
|
border-bottom: 1px solid #e4e4e4;
|
||||||
padding-top: 6px;
|
padding: 6px 5px 7px 5px;
|
||||||
padding-bottom: 7px;
|
|
||||||
padding-left: 5px;
|
|
||||||
padding-right: 5px;
|
|
||||||
border-left: 1px solid #e4e4e4;
|
border-left: 1px solid #e4e4e4;
|
||||||
border-right: 1px solid #e4e4e4;
|
border-right: 1px solid #e4e4e4;
|
||||||
}
|
}
|
||||||
|
@ -56,6 +53,7 @@
|
||||||
|
|
||||||
.tab-ports select {
|
.tab-ports select {
|
||||||
border: 1px solid silver;
|
border: 1px solid silver;
|
||||||
|
margin-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-ports .require-support {
|
.tab-ports .require-support {
|
||||||
|
@ -92,6 +90,10 @@
|
||||||
border-right: 0px;
|
border-right: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-ports .spacebottom {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
||||||
.tab-ports table thead tr:first-child {
|
.tab-ports table thead tr:first-child {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="require-support">
|
<div class="require-support">
|
||||||
<div class="note" style="margin-bottom: 20px;">
|
<div class="note spacebottom">
|
||||||
<div class="note_spacer">
|
<div class="note_spacer">
|
||||||
<p i18n="portsHelp"></p>
|
<p i18n="portsHelp"></p>
|
||||||
<p i18n="portsMSPHelp"></p>
|
<p i18n="portsMSPHelp"></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<table class="ports" style="margin-bottom: 20px;">
|
<table class="ports spacebottom">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Identifier</td>
|
<td>Identifier</td>
|
||||||
|
|
|
@ -219,16 +219,24 @@
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.tab-receiver .rssi_channel_wrapper {
|
.tab-receiver .rssi_channel_wrapper {
|
||||||
float: right;
|
float: right;
|
||||||
margin: 0px 0px 10px 0;
|
margin: 0px 0px 20px 0;
|
||||||
border-left: 0;
|
border-left: 0;
|
||||||
width: 30%;
|
width: 30%;
|
||||||
border-top-right-radius: 3px;
|
border-top-right-radius: 5px;
|
||||||
border-bottom-right-radius: 3px;
|
border-bottom-right-radius: 5px;
|
||||||
background-color: #DEDEDE;
|
background-color: #DEDEDE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-receiver .rssi_channel_wrapper select {
|
||||||
|
height: 22px;
|
||||||
|
padding-left: 5px;
|
||||||
|
border: 1px solid silver;
|
||||||
|
margin: 4px;
|
||||||
|
width: calc(100% - 8px);
|
||||||
|
}
|
||||||
.tab-receiver .rssi_channel_wrapper .head {
|
.tab-receiver .rssi_channel_wrapper .head {
|
||||||
height: 15px;
|
height: 15px;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
|
@ -251,10 +259,10 @@
|
||||||
.tab-receiver .rcmap_wrapper {
|
.tab-receiver .rcmap_wrapper {
|
||||||
float: right;
|
float: right;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0px 0px 10px 0;
|
margin: 0px 0px 20px 0;
|
||||||
width: calc(70% - 0px);
|
width: calc(70% - 0px);
|
||||||
border-top-left-radius: 3px;
|
border-top-left-radius: 5px;
|
||||||
border-bottom-left-radius: 3px;
|
border-bottom-left-radius: 5px;
|
||||||
background-color: #DEDEDE;
|
background-color: #DEDEDE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -270,10 +278,6 @@
|
||||||
border-right: 1px solid silver;
|
border-right: 1px solid silver;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-receiver .rcmap_wrapper .head span {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-receiver .hybrid_element {
|
.tab-receiver .hybrid_element {
|
||||||
border-right: 1px solid silver;
|
border-right: 1px solid silver;
|
||||||
}
|
}
|
||||||
|
@ -292,7 +296,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-receiver .hybrid_element select {
|
.tab-receiver .hybrid_element select {
|
||||||
width: 100%;
|
|
||||||
height: 22px;
|
height: 22px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
border: 1px solid silver;
|
border: 1px solid silver;
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
<span i18n="receiverChannelMap" i18n_title="receiverChannelMapTitle"></span>
|
<span i18n="receiverChannelMap" i18n_title="receiverChannelMapTitle"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="hybrid_element">
|
<div class="hybrid_element">
|
||||||
<input type="text" name="rcmap" spellcheck="false" /> <select class="hybrid_helper"
|
<input type="text" name="rcmap" spellcheck="false" />
|
||||||
|
<select class="hybrid_helper"
|
||||||
name="rcmap_helper">
|
name="rcmap_helper">
|
||||||
<option value="AETR1234">Default</option>
|
<option value="AETR1234">Default</option>
|
||||||
<option value="AETR1234">Futaba / Hitec</option>
|
<option value="AETR1234">Futaba / Hitec</option>
|
||||||
|
@ -49,6 +50,24 @@
|
||||||
<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="deadband">
|
||||||
|
<tr>
|
||||||
|
<th i18n="receiverDeadband"></th>
|
||||||
|
<th i18n="receiverYawDeadband"></th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="cf_tip" i18n_title="receiverHelpDeadband">
|
||||||
|
<input type="number" name="deadband" step="1" min="0" max="32" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="cf_tip" i18n_title="receiverHelpYawDeadband">
|
||||||
|
<input type="number" name="yaw_deadband" step="1" min="0" max="100" />
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -98,12 +117,12 @@
|
||||||
</select>
|
</select>
|
||||||
<div class="clear-both"></div>
|
<div class="clear-both"></div>
|
||||||
<svg id="RX_plot">
|
<svg id="RX_plot">
|
||||||
<g class="grid x" transform="translate(40, 180)"></g>
|
<g class="grid x" transform="translate(40, 180)"></g>
|
||||||
<g class="grid y" transform="translate(40, 10)"></g>
|
<g class="grid y" transform="translate(40, 10)"></g>
|
||||||
<g class="data" transform="translate(41, 1)"></g>
|
<g class="data" transform="translate(41, 1)"></g>
|
||||||
<g class="axis x" transform="translate(40, 180)"></g>
|
<g class="axis x" transform="translate(40, 180)"></g>
|
||||||
<g class="axis y" transform="translate(40, 10)"></g>
|
<g class="axis y" transform="translate(40, 10)"></g>
|
||||||
</svg>
|
</svg>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -26,7 +26,16 @@ TABS.receiver.initialize = function (callback) {
|
||||||
|
|
||||||
// Fetch features so we can check if RX_MSP is enabled:
|
// Fetch features so we can check if RX_MSP is enabled:
|
||||||
function load_config() {
|
function load_config() {
|
||||||
MSP.send_message(MSP_codes.MSP_BF_CONFIG, false, false, load_html);
|
MSP.send_message(MSP_codes.MSP_BF_CONFIG, false, false, load_rc_configs);
|
||||||
|
}
|
||||||
|
|
||||||
|
function load_rc_configs() {
|
||||||
|
var next_callback = load_html;
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
MSP.send_message(MSP_codes.MSP_RC_DEADBAND, false, false, next_callback);
|
||||||
|
} else {
|
||||||
|
next_callback();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_html() {
|
function load_html() {
|
||||||
|
@ -59,6 +68,13 @@ TABS.receiver.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (semver.lt(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
$('.deadband').hide();
|
||||||
|
} else {
|
||||||
|
$('.deadband input[name="yaw_deadband"]').val(RC_deadband.yaw_deadband);
|
||||||
|
$('.deadband input[name="deadband"]').val(RC_deadband.deadband);
|
||||||
|
}
|
||||||
|
|
||||||
// generate bars
|
// generate bars
|
||||||
var bar_names = [
|
var bar_names = [
|
||||||
chrome.i18n.getMessage('controlAxisRoll'),
|
chrome.i18n.getMessage('controlAxisRoll'),
|
||||||
|
@ -290,8 +306,13 @@ 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());
|
RC_tuning.RC_YAW_EXPO = parseFloat($('.tunings .yaw_rate input[name="yaw_expo"]').val());
|
||||||
|
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
RC_deadband.yaw_deadband = parseInt($('.deadband input[name="yaw_deadband"]').val());
|
||||||
|
RC_deadband.deadband = parseInt($('.deadband input[name="deadband"]').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'];
|
||||||
var strBuffer = $('input[name="rcmap"]').val().split('');
|
var strBuffer = $('input[name="rcmap"]').val().split('');
|
||||||
|
@ -308,7 +329,16 @@ TABS.receiver.initialize = function (callback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function save_misc() {
|
function save_misc() {
|
||||||
MSP.send_message(MSP_codes.MSP_SET_MISC, MSP.crunch(MSP_codes.MSP_SET_MISC), false, save_to_eeprom);
|
MSP.send_message(MSP_codes.MSP_SET_MISC, MSP.crunch(MSP_codes.MSP_SET_MISC), false, save_rc_configs);
|
||||||
|
}
|
||||||
|
|
||||||
|
function save_rc_configs() {
|
||||||
|
var next_callback = save_to_eeprom;
|
||||||
|
if (semver.gte(CONFIG.apiVersion, "1.15.0")) {
|
||||||
|
MSP.send_message(MSP_codes.MSP_SET_RC_DEADBAND, MSP.crunch(MSP_codes.MSP_SET_RC_DEADBAND), false, next_callback);
|
||||||
|
} else {
|
||||||
|
next_callback();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function save_to_eeprom() {
|
function save_to_eeprom() {
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
.tab-sensors {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-sensors .info {
|
.tab-sensors .info {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
.tab-servos {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-servos .title {
|
.tab-servos .title {
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
@ -31,7 +27,7 @@
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-servos table.directions td.direction select {
|
.tab-servos .directions .direction select {
|
||||||
height: 19px;
|
height: 19px;
|
||||||
line-height: 19px;
|
line-height: 19px;
|
||||||
}
|
}
|
||||||
|
@ -45,10 +41,7 @@
|
||||||
|
|
||||||
.tab-servos table td {
|
.tab-servos table td {
|
||||||
border-bottom: 1px solid #e4e4e4;
|
border-bottom: 1px solid #e4e4e4;
|
||||||
padding-top: 6px;
|
padding: 6px 5px 7px 5px;
|
||||||
padding-bottom: 7px;
|
|
||||||
padding-left: 5px;
|
|
||||||
padding-right: 5px;
|
|
||||||
border-left: 1px solid #e4e4e4;
|
border-left: 1px solid #e4e4e4;
|
||||||
border-right: 1px solid #e4e4e4;
|
border-right: 1px solid #e4e4e4;
|
||||||
}
|
}
|
||||||
|
@ -113,10 +106,6 @@
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-servos table .direction {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-servos .direction .name {
|
.tab-servos .direction .name {
|
||||||
float: left;
|
float: left;
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -183,4 +172,12 @@
|
||||||
|
|
||||||
.tab-servos .live span {
|
.tab-servos .live span {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab-servos .wide {
|
||||||
|
width: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-servos .short {
|
||||||
|
width: 40px;
|
||||||
|
}
|
|
@ -12,12 +12,12 @@
|
||||||
<th i18n="servosMid"></th>
|
<th i18n="servosMid"></th>
|
||||||
<th i18n="servosMin"></th>
|
<th i18n="servosMin"></th>
|
||||||
<th i18n="servosMax"></th>
|
<th i18n="servosMax"></th>
|
||||||
<th style="width: 120px" i18n="servosAngleAtMin"></th>
|
<th class="wide" i18n="servosAngleAtMin"></th>
|
||||||
<th style="width: 120px" i18n="servosAngleAtMax"></th>
|
<th class="wide" i18n="servosAngleAtMax"></th>
|
||||||
<th style="width: 40px">CH1</th>
|
<th class="short">CH1</th>
|
||||||
<th style="width: 40px">CH2</th>
|
<th class="short">CH2</th>
|
||||||
<th style="width: 40px">CH3</th>
|
<th class="short">CH3</th>
|
||||||
<th style="width: 40px">CH4</th>
|
<th class="short">CH4</th>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<div class="live">
|
<div class="live">
|
||||||
|
|
|
@ -43,7 +43,7 @@ TABS.servos.initialize = function (callback) {
|
||||||
|
|
||||||
function update_ui() {
|
function update_ui() {
|
||||||
|
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.12.0")) {
|
if (semver.lt(CONFIG.apiVersion, "1.12.0") || SERVO_CONFIG.length == 0) {
|
||||||
|
|
||||||
$(".tab-servos").removeClass("supported");
|
$(".tab-servos").removeClass("supported");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -45,10 +45,8 @@
|
||||||
display: block;
|
display: block;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
z-index: 10;
|
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
bottom: 10px;
|
bottom: 10px;
|
||||||
right: 10px;
|
|
||||||
height: 28px;
|
height: 28px;
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
padding: 0 15px 0 15px;
|
padding: 0 15px 0 15px;
|
||||||
|
@ -56,7 +54,6 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border: 1px solid silver;
|
border: 1px solid silver;
|
||||||
background-color: #ececec;
|
background-color: #ececec;
|
||||||
border-radius: 3px;
|
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,6 +157,40 @@
|
||||||
padding-top: 7px;
|
padding-top: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tab_setup .content_wrapper {
|
||||||
|
position: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spacerbottom {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.initialstyle {
|
||||||
|
position: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttonarea {
|
||||||
|
min-height: 100px;
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.halfbuttons {
|
||||||
|
width: calc(100% - 10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.setupinfo {
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modelwrapper {
|
||||||
|
clear: both;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.instrumentsbox {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
|
||||||
.block.instrument .attitude {
|
.block.instrument .attitude {
|
||||||
width: 50px !important;
|
width: 50px !important;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<div class="tab-setup">
|
<div class="tab-setup">
|
||||||
<div class="content_wrapper" style="position: initial;">
|
<div class="content_wrapper initialstyle">
|
||||||
<!-- should be the first DIV on each tab -->
|
<!-- should be the first DIV on each tab -->
|
||||||
<div class="cf_column full" style="margin-bottom: 10px;">
|
<div class="cf_column full spacerbottom">
|
||||||
<div class="tab_title" i18n="tabSetup">Setup</div>
|
<div class="tab_title" i18n="tabSetup">Setup</div>
|
||||||
<div class="cf_doc_version_bt">
|
<div class="cf_doc_version_bt">
|
||||||
<a id="button-documentation" href="" target="_blank"></a>
|
<a id="button-documentation" href="" target="_blank"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="cf_column fourth" style="min-height: 100px; width: 20%;">
|
<div class="cf_column fourth buttonarea">
|
||||||
<div class="spacer_right">
|
<div class="spacer_right">
|
||||||
<div class="default_btn">
|
<div class="default_btn">
|
||||||
<a class="calibrateAccel" id="default_btn green" href="#"
|
<a class="calibrateAccel" id="default_btn green" href="#"
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
<a class="resetSettings" href="#" i18n="initialSetupButtonReset"></a>
|
<a class="resetSettings" href="#" i18n="initialSetupButtonReset"></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="half">
|
<div class="half">
|
||||||
<div class="spacer_right" style="width: calc(100% - 10px);">
|
<div class="spacer_right halfbuttons">
|
||||||
<div class="default_btn half">
|
<div class="default_btn half">
|
||||||
<a class="backup" href="#" i18n="initialSetupButtonBackup"></a>
|
<a class="backup" href="#" i18n="initialSetupButtonBackup"></a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="threefourth_right" style="width: 80%;">
|
<div class="threefourth_right setupinfo">
|
||||||
<div class="cell_setup">
|
<div class="cell_setup">
|
||||||
<span i18n="initialSetupCalibrateAccelText"></span>
|
<span i18n="initialSetupCalibrateAccelText"></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="clear: both; margin-bottom: 5px;"></div>
|
<div class="modelwrapper"></div>
|
||||||
<div class="cf_column threefourth_left">
|
<div class="cf_column threefourth_left">
|
||||||
<div class="spacer_right">
|
<div class="spacer_right">
|
||||||
<div class="model-and-info">
|
<div class="model-and-info">
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="spacer_left">
|
<div class="spacer_left">
|
||||||
<div class="gui_box grey" align="center" style="margin-bottom: 0px;">
|
<div class="gui_box grey instrumentsbox" align="center">
|
||||||
<div class="gui_box_titlebar" align="left">
|
<div class="gui_box_titlebar" align="left">
|
||||||
<div class="spacer_box_title" i18n="initialSetupInstrumentsHead"></div>
|
<div class="spacer_box_title" i18n="initialSetupInstrumentsHead"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue