Cleaning up some old files
parent
7a78f7573c
commit
7a5252e877
122
adjustments.css
122
adjustments.css
|
@ -1,122 +0,0 @@
|
||||||
.tab-adjustments {
|
|
||||||
}
|
|
||||||
|
|
||||||
#tab-adjustments-templates {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .help {
|
|
||||||
padding: 10px;
|
|
||||||
background-color: #ffcb18;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .help p {
|
|
||||||
padding-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .help li {
|
|
||||||
list-style-type: decimal;
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustments {
|
|
||||||
width: 100%;
|
|
||||||
border-spacing: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustments thead td {
|
|
||||||
text-align: center;
|
|
||||||
white-space: nowrap;
|
|
||||||
padding: 10px 10px;
|
|
||||||
background-color: #61B665;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment {
|
|
||||||
background-color: #ececec;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment:nth-child(odd) {
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment select {
|
|
||||||
outline: 1px solid silver;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment td {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .info {
|
|
||||||
width: 5%;
|
|
||||||
height: 80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .info .enabling {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .channelInfo {
|
|
||||||
width: 5%;
|
|
||||||
padding: 0px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .channelInfo .limits {
|
|
||||||
padding: 10px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .range {
|
|
||||||
width: 65%;
|
|
||||||
padding: 0px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .range .channel-slider {
|
|
||||||
margin-top: -28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .range .marker {
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 27px;
|
|
||||||
height: 13px;
|
|
||||||
width: 6px;
|
|
||||||
margin-left: -3px;
|
|
||||||
background: #ffcb18;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .functionSelection {
|
|
||||||
width: 5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .adjustmentSlot {
|
|
||||||
width: 5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .adjustment .functionSwitchChannel {
|
|
||||||
width: 5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments > .buttons {
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments > .buttons a {
|
|
||||||
float: right;
|
|
||||||
height: 28px;
|
|
||||||
line-height: 28px;
|
|
||||||
padding: 0 15px 0 15px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .buttons a {
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
|
|
||||||
border: 1px solid silver;
|
|
||||||
background-color: #ececec;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-adjustments .buttons a:hover {
|
|
||||||
background-color: #dedcdc;
|
|
||||||
}
|
|
|
@ -1,432 +0,0 @@
|
||||||
<div class="tab-configuration">
|
|
||||||
<div class="tab_title" i18n="tabConfiguration">Configuration</div>
|
|
||||||
<div class="cf_doc_version_bt">
|
|
||||||
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
|
|
||||||
</div>
|
|
||||||
<div class="note" style="margin-bottom:20px;">
|
|
||||||
<div class="note_spacer">
|
|
||||||
<p i18n="configurationFeaturesHelp"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="leftWrapper mixer">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationMixer"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<div class="mixerPreview half">
|
|
||||||
<img src="./resources/motor_order/custom.svg" />
|
|
||||||
</div>
|
|
||||||
<div class="half" style="width:calc(50% - 10px); margin-left:10px;">
|
|
||||||
<select class="mixerList">
|
|
||||||
<!-- list generated here -->
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="rightWrapper motorstop">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationEscFeatures"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<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">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<!-- -->
|
|
||||||
<div class="disarm">
|
|
||||||
<div class="checkbox">
|
|
||||||
<div style="float:left; height:20px; margin-right:15px; margin-left:3px;">
|
|
||||||
<input type="checkbox" name="disarmkillswitch" id="toggle"/>
|
|
||||||
</div><label for="disarmkillswitch">
|
|
||||||
<span class="freelabel" i18n="configurationDisarmKillSwitch"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number disarmdelay" style="display:none; margin-bottom:5px;">
|
|
||||||
<label>
|
|
||||||
<div class="numberspacer">
|
|
||||||
<input type="number" name="autodisarmdelay" min="0" max="60" />
|
|
||||||
</div>
|
|
||||||
<span i18n="configurationAutoDisarmDelay"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- -->
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<div class="numberspacer">
|
|
||||||
<input type="number" name="minthrottle" min="0" max="2000" />
|
|
||||||
</div>
|
|
||||||
<span i18n="configurationThrottleMinimum"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<div class="numberspacer">
|
|
||||||
<input type="number" name="midthrottle" min="0" max="2000" />
|
|
||||||
</div>
|
|
||||||
<span i18n="configurationThrottleMid"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<div class="numberspacer">
|
|
||||||
<input type="number" name="maxthrottle" min="0" max="2000" />
|
|
||||||
</div>
|
|
||||||
<span i18n="configurationThrottleMaximum"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<div class="numberspacer">
|
|
||||||
<input type="number" name="mincommand" min="0" max="2000" />
|
|
||||||
</div>
|
|
||||||
<span i18n="configurationThrottleMinimumCommand"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clear-both"></div>
|
|
||||||
<div class="leftWrapper">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationBoardAlignment"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="board_align_roll" step="1" min="-180" max="360" />
|
|
||||||
<span i18n="configurationBoardAlignmentRoll"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="board_align_pitch" step="1" min="-180" max="360" />
|
|
||||||
<span i18n="configurationBoardAlignmentPitch"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="board_align_yaw" step="1" min="-180" max="360" />
|
|
||||||
<span i18n="configurationBoardAlignmentYaw"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="rightWrapper acc">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationAccelTrims"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="roll" min="-300" max="300" />
|
|
||||||
<span i18n="configurationAccelTrimRoll"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="pitch" min="-300" max="300" />
|
|
||||||
<span i18n="configurationAccelTrimPitch"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clear-both"></div>
|
|
||||||
<div class="leftWrapper">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationReceiver"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<table cellpadding="0" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features rxMode">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationSerialRX"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<div class="note">
|
|
||||||
<div class="note_spacer">
|
|
||||||
<p i18n="configurationSerialRXHelp"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<select class="serialRX" size="4">
|
|
||||||
<!-- list generated here -->
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationFailsafe"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<table cellpadding="0" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features rxFailsafe">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="failsafe_throttle" min="0" max="2000" />
|
|
||||||
<span i18n="configurationThrottleFailsafe"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="rightWrapper current voltage">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationBatteryVoltage"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<table cellpadding="0" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features batteryVoltage">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="mincellvoltage" step="0.1" min="1" max="5" />
|
|
||||||
<span i18n="configurationBatteryMinimum"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="maxcellvoltage" step="0.1" min="1" max="5" />
|
|
||||||
<span i18n="configurationBatteryMaximum"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="warningcellvoltage" step="0.1" min="1" max="5" />
|
|
||||||
<span i18n="configurationBatteryWarning"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="voltagescale" step="1" min="10" max="255" />
|
|
||||||
<span i18n="configurationBatteryScale"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationCurrent"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<table cellpadding="0" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features batteryCurrent">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="currentscale" step="1" min="-1000" max="1000" />
|
|
||||||
<span i18n="configurationCurrentScale"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="currentoffset" step="1" min="0" max="3300" />
|
|
||||||
<span i18n="configurationCurrentOffset"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="checkbox">
|
|
||||||
<div class="numberspacer">
|
|
||||||
<input type="checkbox" name="multiwiicurrentoutput" id="toggle"/>
|
|
||||||
</div><label>
|
|
||||||
<span i18n="configurationBatteryMultiwiiCurrent"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clear-both"></div>
|
|
||||||
<div class="leftWrapper rssi">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationRSSI"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<table cellpadding="0" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features rssi">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="rightWrapper system">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationSystem"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<div class="note">
|
|
||||||
<div class="note_spacer">
|
|
||||||
<p i18n="configurationLoopTimeHelp"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="looptime" step="100" min="0" max="9000"/>
|
|
||||||
<span i18n="configurationLoopTime"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="text" name="looptimehz" readonly class="disabled"/>
|
|
||||||
<span i18n="configurationCalculatedCyclesSec"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clear-both"></div>
|
|
||||||
<div class="leftWrapper gps">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationGPS"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<div class="note">
|
|
||||||
<div class="note_spacer">
|
|
||||||
<p i18n="configurationGPSHelp"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table cellpadding="0" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features gps">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="line">
|
|
||||||
<select class="gps_protocol">
|
|
||||||
<!-- list generated here -->
|
|
||||||
</select>
|
|
||||||
<span i18n="configurationGPSProtocol"></span>
|
|
||||||
</div>
|
|
||||||
<div class="line">
|
|
||||||
<select class="gps_baudrate">
|
|
||||||
<!-- list generated here -->
|
|
||||||
</select>
|
|
||||||
<span i18n="configurationGPSBaudrate"></span>
|
|
||||||
</div>
|
|
||||||
<div class="line">
|
|
||||||
<select class="gps_ubx_sbas">
|
|
||||||
<!-- list generated here -->
|
|
||||||
</select>
|
|
||||||
<span i18n="configurationGPSubxSbas"></span>
|
|
||||||
</div>
|
|
||||||
<div class="number">
|
|
||||||
<label>
|
|
||||||
<input type="number" name="mag_declination" step="0.1" min="-180" max="180" />
|
|
||||||
<span i18n="configurationMagDeclination"></span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="rightWrapper">
|
|
||||||
<div class="gui_box grey">
|
|
||||||
<div class="gui_box_titlebar">
|
|
||||||
<div class="spacer_box_title" i18n="configurationFeatures"></div>
|
|
||||||
<div class="helpicon"></div>
|
|
||||||
</div>
|
|
||||||
<div class="spacer_box">
|
|
||||||
<table cellpadding="0" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th i18n="configurationFeatureEnabled"></th>
|
|
||||||
<th i18n="configurationFeatureDescription"></th>
|
|
||||||
<th i18n="configurationFeatureName"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="features other" id="noline">
|
|
||||||
<!-- table generated here -->
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clear-both"></div>
|
|
||||||
<div class="fixed_band">
|
|
||||||
<div class="save_btn"><a class="save" href="#" i18n="configurationButtonSave"></a></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
476
configuration.js
476
configuration.js
|
@ -1,476 +0,0 @@
|
||||||
'use strict';
|
|
||||||
|
|
||||||
TABS.configuration = {};
|
|
||||||
|
|
||||||
TABS.configuration.initialize = function (callback, scrollPosition) {
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
if (GUI.active_tab != 'configuration') {
|
|
||||||
GUI.active_tab = 'configuration';
|
|
||||||
googleAnalytics.sendAppView('Configuration');
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_config() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_BF_CONFIG, false, false, load_serial_config);
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_serial_config() {
|
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.6.0")) {
|
|
||||||
MSP.send_message(MSP_codes.MSP_CF_SERIAL_CONFIG, false, false, load_rc_map);
|
|
||||||
} else {
|
|
||||||
load_rc_map();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_rc_map() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_RX_MAP, false, false, load_misc);
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_misc() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_MISC, false, false, load_acc_trim);
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_acc_trim() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_ACC_TRIM, false, false
|
|
||||||
, semver.gte(CONFIG.apiVersion, "1.8.0") ? load_arming_config : load_html);
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_arming_config() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_ARMING_CONFIG, false, false, load_loop_time);
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_loop_time() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_LOOP_TIME, false, false, load_html);
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_html() {
|
|
||||||
$('#content').load("./tabs/configuration.html", process_html);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MSP.send_message(MSP_codes.MSP_IDENT, false, false, load_config);
|
|
||||||
|
|
||||||
function recalculate_cycles_sec() {
|
|
||||||
var looptime = $('input[name="looptime"]').val();
|
|
||||||
|
|
||||||
var message = 'Max';
|
|
||||||
if (looptime > 0) {
|
|
||||||
message = parseFloat((1 / looptime) * 1000 * 1000).toFixed(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
$('input[name="looptimehz"]').val(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
function process_html() {
|
|
||||||
// translate to user-selected language
|
|
||||||
localize();
|
|
||||||
|
|
||||||
var mixer_list_e = $('select.mixerList');
|
|
||||||
for (var i = 0; i < mixerList.length; i++) {
|
|
||||||
mixer_list_e.append('<option value="' + (i + 1) + '">' + mixerList[i].name + '</option>');
|
|
||||||
}
|
|
||||||
|
|
||||||
mixer_list_e.change(function () {
|
|
||||||
var val = parseInt($(this).val());
|
|
||||||
|
|
||||||
BF_CONFIG.mixerConfiguration = val;
|
|
||||||
|
|
||||||
$('.mixerPreview img').attr('src', './resources/motor_order/' + mixerList[val - 1].image + '.svg');
|
|
||||||
});
|
|
||||||
|
|
||||||
// select current mixer configuration
|
|
||||||
mixer_list_e.val(BF_CONFIG.mixerConfiguration).change();
|
|
||||||
|
|
||||||
// generate features
|
|
||||||
var features = [
|
|
||||||
{bit: 0, group: 'rxMode', mode: 'group', name: 'RX_PPM', description: 'PPM RX input'},
|
|
||||||
{bit: 1, group: 'batteryVoltage', name: 'VBAT', description: 'Battery voltage monitoring'},
|
|
||||||
{bit: 2, group: 'other', name: 'INFLIGHT_ACC_CAL', description: 'In-flight level calibration'},
|
|
||||||
{bit: 3, group: 'rxMode', mode: 'group', name: 'RX_SERIAL', description: 'Serial-based receiver (SPEKSAT, SBUS, SUMD)'},
|
|
||||||
{bit: 4, group: 'esc', name: 'MOTOR_STOP', description: 'Don\'t spin the motors when armed'},
|
|
||||||
{bit: 5, group: 'other', name: 'SERVO_TILT', description: 'Servo gimbal'},
|
|
||||||
{bit: 6, group: 'other', name: 'SOFTSERIAL', description: 'Enable CPU based serial ports'},
|
|
||||||
{bit: 7, group: 'gps', name: 'GPS', description: 'GPS (configure port scenario first)'},
|
|
||||||
{bit: 8, group: 'rxFailsafe', name: 'FAILSAFE', description: 'Failsafe settings on RX signal loss'},
|
|
||||||
{bit: 9, group: 'other', name: 'SONAR', description: 'Sonar'},
|
|
||||||
{bit: 10, group: 'other', name: 'TELEMETRY', description: 'Telemetry output'},
|
|
||||||
{bit: 11, group: 'batteryCurrent', name: 'CURRENT_METER', description: 'Battery current monitoring'},
|
|
||||||
{bit: 12, group: 'other', name: '3D', description: '3D mode (for use with reversible ESCs)'},
|
|
||||||
{bit: 13, group: 'rxMode', mode: 'group', name: 'RX_PARALLEL_PWM', description: 'PWM RX input'},
|
|
||||||
{bit: 14, group: 'rxMode', mode: 'group', name: 'RX_MSP', description: 'MSP RX input'},
|
|
||||||
{bit: 15, group: 'rssi', name: 'RSSI_ADC', description: 'Analog RSSI input'},
|
|
||||||
{bit: 16, group: 'other', name: 'LED_STRIP', description: 'Addressable RGB LED strip support'},
|
|
||||||
{bit: 17, group: 'other', name: 'DISPLAY', description: 'OLED Screen Display'},
|
|
||||||
{bit: 18, group: 'esc', name: 'ONESHOT125', description: 'ONESHOT ESC support (disconnect ESCs, remove props)'},
|
|
||||||
{bit: 19, group: 'other', name: 'BLACKBOX', description: 'Blackbox flight data recorder'}
|
|
||||||
];
|
|
||||||
|
|
||||||
if (semver.gte(CONFIG.apiVersion, "1.12.0")) {
|
|
||||||
features.push(
|
|
||||||
{bit: 20, group: 'other', name: 'CHANNEL_FORWARDING', description: 'Forward aux channels to remaining servo outputs'}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
var radioGroups = [];
|
|
||||||
|
|
||||||
var features_e = $('.features');
|
|
||||||
for (var i = 0; i < features.length; i++) {
|
|
||||||
var row_e;
|
|
||||||
|
|
||||||
if (features[i].mode === 'group') {
|
|
||||||
row_e = $('<tr><td style="width: 15px;"><input style="width: 13px;" class="feature" id="feature-'
|
|
||||||
+ i
|
|
||||||
+ '" value="'
|
|
||||||
+ features[i].bit
|
|
||||||
+ '" title="'
|
|
||||||
+ features[i].name
|
|
||||||
+ '" type="radio" name="'
|
|
||||||
+ features[i].group
|
|
||||||
+ '" /></td><td><label for="feature-'
|
|
||||||
+ i
|
|
||||||
+ '">'
|
|
||||||
+ features[i].name
|
|
||||||
+ '</label></td><td><span>'
|
|
||||||
+ features[i].description
|
|
||||||
+ '</td><span>');
|
|
||||||
radioGroups.push(features[i].group);
|
|
||||||
} else {
|
|
||||||
row_e = $('<tr><td><input class="feature"'
|
|
||||||
+ i
|
|
||||||
+ '" name="'
|
|
||||||
+ features[i].name
|
|
||||||
+ '" title="'
|
|
||||||
+ features[i].name
|
|
||||||
+ '" type="checkbox" id="toggle"/></td><td><label for="feature-'
|
|
||||||
+ i
|
|
||||||
+ '">'
|
|
||||||
+ features[i].name
|
|
||||||
+ '</label></td><td><span>'
|
|
||||||
+ features[i].description
|
|
||||||
+ '</span></td>');
|
|
||||||
|
|
||||||
var feature_e = row_e.find('input.feature');
|
|
||||||
|
|
||||||
feature_e.prop('checked', bit_check(BF_CONFIG.features, features[i].bit));
|
|
||||||
feature_e.data('bit', features[i].bit);
|
|
||||||
}
|
|
||||||
|
|
||||||
features_e.each(function () {
|
|
||||||
if ($(this).hasClass(features[i].group)) {
|
|
||||||
$(this).append(row_e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0; i < radioGroups.length; i++) {
|
|
||||||
var group = radioGroups[i];
|
|
||||||
var controls_e = $('input[name="' + group + '"].feature');
|
|
||||||
|
|
||||||
|
|
||||||
controls_e.each(function() {
|
|
||||||
var bit = parseInt($(this).attr('value'));
|
|
||||||
var state = bit_check(BF_CONFIG.features, bit);
|
|
||||||
|
|
||||||
$(this).prop('checked', state);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// generate GPS
|
|
||||||
var gpsProtocols = [
|
|
||||||
'NMEA',
|
|
||||||
'UBLOX'
|
|
||||||
];
|
|
||||||
|
|
||||||
var gpsBaudRates = [
|
|
||||||
'115200',
|
|
||||||
'57600',
|
|
||||||
'38400',
|
|
||||||
'19200',
|
|
||||||
'9600'
|
|
||||||
];
|
|
||||||
|
|
||||||
var gpsSbas = [
|
|
||||||
'Disabled',
|
|
||||||
'Auto-detect',
|
|
||||||
'European EGNOS',
|
|
||||||
'North American WAAS',
|
|
||||||
'Japanese MSAS',
|
|
||||||
'Indian GAGAN'
|
|
||||||
];
|
|
||||||
|
|
||||||
var gps_protocol_e = $('select.gps_protocol');
|
|
||||||
for (var i = 0; i < gpsProtocols.length; i++) {
|
|
||||||
gps_protocol_e.append('<option value="' + i + '">' + gpsProtocols[i] + '</option>');
|
|
||||||
}
|
|
||||||
|
|
||||||
gps_protocol_e.change(function () {
|
|
||||||
MISC.gps_type = parseInt($(this).val());
|
|
||||||
});
|
|
||||||
|
|
||||||
gps_protocol_e.val(MISC.gps_type);
|
|
||||||
|
|
||||||
|
|
||||||
var gps_baudrate_e = $('select.gps_baudrate');
|
|
||||||
for (var i = 0; i < gpsBaudRates.length; i++) {
|
|
||||||
gps_baudrate_e.append('<option value="' + gpsBaudRates[i] + '">' + gpsBaudRates[i] + '</option>');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (semver.lt(CONFIG.apiVersion, "1.6.0")) {
|
|
||||||
gps_baudrate_e.change(function () {
|
|
||||||
SERIAL_CONFIG.gpsBaudRate = parseInt($(this).val());
|
|
||||||
});
|
|
||||||
gps_baudrate_e.val(SERIAL_CONFIG.gpsBaudRate);
|
|
||||||
} else {
|
|
||||||
gps_baudrate_e.prop("disabled", true);
|
|
||||||
gps_baudrate_e.parent().hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var gps_ubx_sbas_e = $('select.gps_ubx_sbas');
|
|
||||||
for (var i = 0; i < gpsSbas.length; i++) {
|
|
||||||
gps_ubx_sbas_e.append('<option value="' + (i - 1) + '">' + gpsSbas[i] + '</option>');
|
|
||||||
}
|
|
||||||
|
|
||||||
gps_ubx_sbas_e.change(function () {
|
|
||||||
MISC.gps_ubx_sbas = parseInt($(this).val());
|
|
||||||
});
|
|
||||||
|
|
||||||
gps_ubx_sbas_e.val(MISC.gps_ubx_sbas);
|
|
||||||
|
|
||||||
|
|
||||||
// generate serial RX
|
|
||||||
var serialRXtypes = [
|
|
||||||
'SPEKTRUM1024',
|
|
||||||
'SPEKTRUM2048',
|
|
||||||
'SBUS',
|
|
||||||
'SUMD',
|
|
||||||
'SUMH',
|
|
||||||
'XBUS_MODE_B',
|
|
||||||
'XBUS_MODE_B_RJ01'
|
|
||||||
];
|
|
||||||
|
|
||||||
var serialRX_e = $('select.serialRX');
|
|
||||||
for (var i = 0; i < serialRXtypes.length; i++) {
|
|
||||||
serialRX_e.append('<option value="' + i + '">' + serialRXtypes[i] + '</option>');
|
|
||||||
}
|
|
||||||
|
|
||||||
serialRX_e.change(function () {
|
|
||||||
BF_CONFIG.serialrx_type = parseInt($(this).val());
|
|
||||||
});
|
|
||||||
|
|
||||||
// select current serial RX type
|
|
||||||
serialRX_e.val(BF_CONFIG.serialrx_type);
|
|
||||||
|
|
||||||
// for some odd reason chrome 38+ changes scroll according to the touched select element
|
|
||||||
// i am guessing this is a bug, since this wasn't happening on 37
|
|
||||||
// code below is a temporary fix, which we will be able to remove in the future (hopefully)
|
|
||||||
$('#content').scrollTop((scrollPosition) ? scrollPosition : 0);
|
|
||||||
|
|
||||||
// fill board alignment
|
|
||||||
$('input[name="board_align_roll"]').val(BF_CONFIG.board_align_roll);
|
|
||||||
$('input[name="board_align_pitch"]').val(BF_CONFIG.board_align_pitch);
|
|
||||||
$('input[name="board_align_yaw"]').val(BF_CONFIG.board_align_yaw);
|
|
||||||
|
|
||||||
// fill accel trims
|
|
||||||
$('input[name="roll"]').val(CONFIG.accelerometerTrims[1]);
|
|
||||||
$('input[name="pitch"]').val(CONFIG.accelerometerTrims[0]);
|
|
||||||
|
|
||||||
// fill magnetometer
|
|
||||||
$('input[name="mag_declination"]').val(MISC.mag_declination);
|
|
||||||
|
|
||||||
//fill motor disarm params and FC loop time
|
|
||||||
if(semver.gte(CONFIG.apiVersion, "1.8.0")) {
|
|
||||||
$('input[name="autodisarmdelay"]').val(ARMING_CONFIG.auto_disarm_delay);
|
|
||||||
$('input[name="disarmkillswitch"]').prop('checked', ARMING_CONFIG.disarm_kill_switch);
|
|
||||||
$('div.disarm').show();
|
|
||||||
if(bit_check(BF_CONFIG.features, 4))//MOTOR_STOP
|
|
||||||
$('div.disarmdelay').show();
|
|
||||||
else
|
|
||||||
$('div.disarmdelay').hide();
|
|
||||||
|
|
||||||
// fill FC loop time
|
|
||||||
$('input[name="looptime"]').val(FC_CONFIG.loopTime);
|
|
||||||
|
|
||||||
recalculate_cycles_sec();
|
|
||||||
|
|
||||||
$('div.cycles').show();
|
|
||||||
}
|
|
||||||
|
|
||||||
// fill throttle
|
|
||||||
$('input[name="minthrottle"]').val(MISC.minthrottle);
|
|
||||||
$('input[name="midthrottle"]').val(MISC.midrc);
|
|
||||||
$('input[name="maxthrottle"]').val(MISC.maxthrottle);
|
|
||||||
$('input[name="failsafe_throttle"]').val(MISC.failsafe_throttle);
|
|
||||||
$('input[name="mincommand"]').val(MISC.mincommand);
|
|
||||||
|
|
||||||
// fill battery
|
|
||||||
$('input[name="mincellvoltage"]').val(MISC.vbatmincellvoltage);
|
|
||||||
$('input[name="maxcellvoltage"]').val(MISC.vbatmaxcellvoltage);
|
|
||||||
$('input[name="warningcellvoltage"]').val(MISC.vbatwarningcellvoltage);
|
|
||||||
$('input[name="voltagescale"]').val(MISC.vbatscale);
|
|
||||||
|
|
||||||
// fill current
|
|
||||||
$('input[name="currentscale"]').val(BF_CONFIG.currentscale);
|
|
||||||
$('input[name="currentoffset"]').val(BF_CONFIG.currentoffset);
|
|
||||||
$('input[name="multiwiicurrentoutput"]').prop('checked', MISC.multiwiicurrentoutput);
|
|
||||||
|
|
||||||
|
|
||||||
// UI hooks
|
|
||||||
$('input[name="looptime"]').change(function() {
|
|
||||||
recalculate_cycles_sec();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('input[type="checkbox"].feature', features_e).change(function () {
|
|
||||||
var element = $(this),
|
|
||||||
index = element.data('bit'),
|
|
||||||
state = element.is(':checked');
|
|
||||||
|
|
||||||
if (state) {
|
|
||||||
BF_CONFIG.features = bit_set(BF_CONFIG.features, index);
|
|
||||||
if(element.attr('name') === 'MOTOR_STOP')
|
|
||||||
$('div.disarmdelay').show();
|
|
||||||
} else {
|
|
||||||
BF_CONFIG.features = bit_clear(BF_CONFIG.features, index);
|
|
||||||
if(element.attr('name') === 'MOTOR_STOP')
|
|
||||||
$('div.disarmdelay').hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// UI hooks
|
|
||||||
$('input[type="radio"].feature', features_e).change(function () {
|
|
||||||
var element = $(this),
|
|
||||||
group = element.attr('name');
|
|
||||||
|
|
||||||
var controls_e = $('input[name="' + group + '"]');
|
|
||||||
var selected_bit = controls_e.filter(':checked').val();
|
|
||||||
|
|
||||||
controls_e.each(function() {
|
|
||||||
var bit = $(this).attr('value');
|
|
||||||
|
|
||||||
var selected = (selected_bit == bit);
|
|
||||||
if (selected) {
|
|
||||||
BF_CONFIG.features = bit_set(BF_CONFIG.features, bit);
|
|
||||||
} else {
|
|
||||||
BF_CONFIG.features = bit_clear(BF_CONFIG.features, bit);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// load switchery
|
|
||||||
var elems = Array.prototype.slice.call(document.querySelectorAll('#toggle'));
|
|
||||||
|
|
||||||
elems.forEach(function(html) {
|
|
||||||
var switchery = new Switchery(html,
|
|
||||||
{
|
|
||||||
color: '#59aa29',
|
|
||||||
secondaryColor: '#c4c4c4'
|
|
||||||
});
|
|
||||||
});
|
|
||||||
// load switchery END
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('a.save').click(function () {
|
|
||||||
// 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_pitch = parseInt($('input[name="board_align_pitch"]').val());
|
|
||||||
BF_CONFIG.board_align_yaw = parseInt($('input[name="board_align_yaw"]').val());
|
|
||||||
|
|
||||||
CONFIG.accelerometerTrims[1] = parseInt($('input[name="roll"]').val());
|
|
||||||
CONFIG.accelerometerTrims[0] = parseInt($('input[name="pitch"]').val());
|
|
||||||
MISC.mag_declination = parseFloat($('input[name="mag_declination"]').val());
|
|
||||||
|
|
||||||
// motor disarm
|
|
||||||
if(semver.gte(CONFIG.apiVersion, "1.8.0")) {
|
|
||||||
ARMING_CONFIG.auto_disarm_delay = parseInt($('input[name="autodisarmdelay"]').val());
|
|
||||||
ARMING_CONFIG.disarm_kill_switch = ~~$('input[name="disarmkillswitch"]').is(':checked'); // ~~ boolean to decimal conversion
|
|
||||||
FC_CONFIG.loopTime = parseInt($('input[name="looptime"]').val());
|
|
||||||
}
|
|
||||||
|
|
||||||
MISC.minthrottle = parseInt($('input[name="minthrottle"]').val());
|
|
||||||
MISC.midrc = parseInt($('input[name="midthrottle"]').val());
|
|
||||||
MISC.maxthrottle = parseInt($('input[name="maxthrottle"]').val());
|
|
||||||
MISC.failsafe_throttle = parseInt($('input[name="failsafe_throttle"]').val());
|
|
||||||
MISC.mincommand = parseInt($('input[name="mincommand"]').val());
|
|
||||||
|
|
||||||
MISC.vbatmincellvoltage = parseFloat($('input[name="mincellvoltage"]').val());
|
|
||||||
MISC.vbatmaxcellvoltage = parseFloat($('input[name="maxcellvoltage"]').val());
|
|
||||||
MISC.vbatwarningcellvoltage = parseFloat($('input[name="warningcellvoltage"]').val());
|
|
||||||
MISC.vbatscale = parseInt($('input[name="voltagescale"]').val());
|
|
||||||
|
|
||||||
BF_CONFIG.currentscale = parseInt($('input[name="currentscale"]').val());
|
|
||||||
BF_CONFIG.currentoffset = parseInt($('input[name="currentoffset"]').val());
|
|
||||||
MISC.multiwiicurrentoutput = ~~$('input[name="multiwiicurrentoutput"]').is(':checked'); // ~~ boolean to decimal conversion
|
|
||||||
|
|
||||||
function save_serial_config() {
|
|
||||||
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);
|
|
||||||
} else {
|
|
||||||
save_misc();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_misc() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_SET_MISC, MSP.crunch(MSP_codes.MSP_SET_MISC), false, save_acc_trim);
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_acc_trim() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_SET_ACC_TRIM, MSP.crunch(MSP_codes.MSP_SET_ACC_TRIM), false
|
|
||||||
, semver.gte(CONFIG.apiVersion, "1.8.0") ? save_arming_config : save_to_eeprom);
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_arming_config() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_SET_ARMING_CONFIG, MSP.crunch(MSP_codes.MSP_SET_ARMING_CONFIG), false, save_looptime_config);
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_looptime_config() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_SET_LOOP_TIME, MSP.crunch(MSP_codes.MSP_SET_LOOP_TIME), false, save_to_eeprom);
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_to_eeprom() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_EEPROM_WRITE, false, false, reboot);
|
|
||||||
}
|
|
||||||
|
|
||||||
function reboot() {
|
|
||||||
GUI.log(chrome.i18n.getMessage('configurationEepromSaved'));
|
|
||||||
|
|
||||||
GUI.tab_switch_cleanup(function() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_SET_REBOOT, false, false, reinitialize);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function reinitialize() {
|
|
||||||
GUI.log(chrome.i18n.getMessage('deviceRebooting'));
|
|
||||||
|
|
||||||
GUI.timeout_add('waiting_for_bootup', function waiting_for_bootup() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_IDENT, false, false, function () {
|
|
||||||
GUI.log(chrome.i18n.getMessage('deviceReady'));
|
|
||||||
TABS.configuration.initialize(false, $('#content').scrollTop());
|
|
||||||
});
|
|
||||||
},1500); // 1500 ms seems to be just the right amount of delay to prevent data request timeouts
|
|
||||||
}
|
|
||||||
|
|
||||||
MSP.send_message(MSP_codes.MSP_SET_BF_CONFIG, MSP.crunch(MSP_codes.MSP_SET_BF_CONFIG), false, save_serial_config);
|
|
||||||
});
|
|
||||||
|
|
||||||
// status data pulled via separate timer with static speed
|
|
||||||
GUI.interval_add('status_pull', function status_pull() {
|
|
||||||
MSP.send_message(MSP_codes.MSP_STATUS);
|
|
||||||
}, 250, true);
|
|
||||||
|
|
||||||
if (callback) callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TABS.configuration.cleanup = function (callback) {
|
|
||||||
if (callback) callback();
|
|
||||||
};
|
|
251
main_bak.html
251
main_bak.html
|
@ -1,251 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<meta name="author" content="cTn" />
|
|
||||||
|
|
||||||
<link type="text/css" rel="stylesheet" href="./main2.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./main.css" media="all" id="default" />
|
|
||||||
|
|
||||||
<link type="text/css" rel="stylesheet" href="./js/libraries/jquery.nouislider.min.css">
|
|
||||||
<link type="text/css" rel="stylesheet" href="./js/libraries/jquery.nouislider.pips.min.css">
|
|
||||||
<link type="text/css" rel="stylesheet" href="./js/libraries/flightindicators.css">
|
|
||||||
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/landing.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/setup.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/help.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/ports.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/configuration.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/pid_tuning.css" media="all" />
|
|
||||||
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/receiver.css" media="all" />
|
|
||||||
<!-- <link type="text/css" rel="stylesheet" href="./tabs/modes.css" media="all" /> -->
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/servos.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/gps.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/motors.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/led_strip.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/sensors.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/cli.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/logging.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/dataflash.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/firmware_flasher.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/adjustments.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./tabs/auxiliary.css" media="all" />
|
|
||||||
|
|
||||||
<link type="text/css" rel="stylesheet" href="./styles/opensans_webfontkit/fonts.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./styles/dropdown-lists/css/style_lists.css" media="all" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="./js/libraries/switchery/switchery.css" media="all" />
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" src="./js/libraries/q.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/google-analytics-bundle.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/jquery-2.1.3.min.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/jquery-ui-1.11.2.min.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="./js/libraries/d3.min.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/jquery.nouislider.all.min.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/three/three.min.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/three/Projector.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/three/CanvasRenderer.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/jquery.flightindicators.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/libraries/semver.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/port_handler.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/port_usage.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/serial.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/usb.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/gui.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/model.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/request_balancer.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/serial_backend.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/data_storage.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/msp.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/backup_restore.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/protocols/stm32.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/protocols/stm32usbdfu.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/localization.js"></script>
|
|
||||||
<script type="text/javascript" src="./js/boards.js"></script>
|
|
||||||
<script type="text/javascript" src="./main.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="./tabs/landing.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/setup.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/help.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/ports.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/configuration.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/pid_tuning.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/receiver.js"></script>
|
|
||||||
<!-- <script type="text/javascript" src="./tabs/modes.js"></script> -->
|
|
||||||
<script type="text/javascript" src="./tabs/auxiliary.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/adjustments.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/servos.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/gps.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/motors.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/led_strip.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/sensors.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/cli.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/logging.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/dataflash.js"></script>
|
|
||||||
<script type="text/javascript" src="./tabs/firmware_flasher.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" src="./js/libraries/switchery/switchery.js"></script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="main-wrapper">
|
|
||||||
<div class="headerbar">
|
|
||||||
|
|
||||||
<div id="logo"></div>
|
|
||||||
<div id="port-picker">
|
|
||||||
|
|
||||||
<div class="dropdown dropdown-dark" style="margin-bottom:3px;">
|
|
||||||
<select class="dropdown-select" id="port" title="Port">
|
|
||||||
<option value="manual">Manual</option>
|
|
||||||
<!-- port list gets generated here -->
|
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="dropdown dropdown-dark" style="margin-bottom:5px;">
|
|
||||||
<select class="dropdown-select" id="baud" title="Baud Rate">
|
|
||||||
<option value="115200" selected="selected">115200</option>
|
|
||||||
<option value="57600">57600</option>
|
|
||||||
<option value="38400">38400</option>
|
|
||||||
<option value="28800">28800</option>
|
|
||||||
<option value="19200">19200</option>
|
|
||||||
<option value="14400">14400</option>
|
|
||||||
<option value="9600">9600</option>
|
|
||||||
<option value="4800">4800</option>
|
|
||||||
<option value="2400">2400</option>
|
|
||||||
<option value="1200">1200</option>
|
|
||||||
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="port-override-option" style="width:195px; float:left;">
|
|
||||||
<label for="port-override" style="background-color:#2b2b2b; border-radius:3px; padding:3px; margin-bottom:5px; color:#ddd; float:left;">Port: <input id="port-override" type="text" value="/dev/rfcomm0" style="background-color:rgba(0, 0, 0, 0.1);; color:#888888; width:154px; margin-left:2px; margin-top:-2px; padding:1px; border-radius:3px; height:15px; float:right;"/></label>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<label style="color:#888888;">
|
|
||||||
<input class="auto_connect" type="checkbox" />
|
|
||||||
<span class="auto_connect" i18n="autoConnect"></span>
|
|
||||||
</label>
|
|
||||||
<div class="connect_contols">
|
|
||||||
<div class="connect_b"><a class="connect" href="#"></a></div>
|
|
||||||
<a class="connect_state" i18n="connect"></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="options" href="#" i18n_title="options_title"></a>
|
|
||||||
|
|
||||||
<div class="tab-dataflash" id="flashstate" style="width:120px; float:right; height:12px; display:none;"
|
|
||||||
>
|
|
||||||
<div class="require-dataflash" id="header_dataflash">
|
|
||||||
<ul class="dataflash-contents" style="height:7px; margin:12px;">
|
|
||||||
<li class="dataflash-free" style="height:10px; text-align:left;">
|
|
||||||
<div class="legend" align="left" style="font-size:10px; margin-top:-40px; float:left; line-height:12px; width:100%; color:white;"></div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="header-wrapper">
|
|
||||||
<div id="sensor-status" class="sensor_state">
|
|
||||||
<ul>
|
|
||||||
<li class="gyro" title="Gyroscope">Gyro</li>
|
|
||||||
<li class="accel" title="Accelerometer">Accel</li>
|
|
||||||
<li class="mag" title="Magnetometer">Mag</li>
|
|
||||||
<li class="baro" title="Barometer">Baro</li>
|
|
||||||
<li class="gps" title="GPS">GPS</li>
|
|
||||||
<li class="sonar" title="Sonar / Range finder">Sonar</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="documentation-controls">
|
|
||||||
<ul>
|
|
||||||
<li><a id="button-documentation" href="#" target="_blank"></a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div> </div>
|
|
||||||
|
|
||||||
<div class="clear-both"></div>
|
|
||||||
<div class="logswitch"><a href="#" id="showlog">Show Log</a></div>
|
|
||||||
|
|
||||||
<div id="log"><div id="scrollicon"></div>
|
|
||||||
<div class="wrapper">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab_container">
|
|
||||||
<div id="tabs">
|
|
||||||
<ul class="mode-disconnected">
|
|
||||||
<li id="tab_landing"><a href="#" i18n="tabLanding" class="tabicon ic_welcome"></a></li>
|
|
||||||
<li id="tab_help"><a href="#" i18n="tabHelp" class="tabicon ic_help"></a></li>
|
|
||||||
<li id="tab_firmware_flasher"><a href="#" i18n="tabFirmwareFlasher" class="tabicon ic_flasher"></a></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<ul class="mode-connected">
|
|
||||||
<li id="tab-setup"><a href="#" i18n="tabSetup" class="tabicon ic_setup"></a></li>
|
|
||||||
<li id="tab_ports"><a href="#" i18n="tabPorts" class="tabicon ic_ports"></a></li>
|
|
||||||
<li id="tab_configuration"><a href="#" i18n="tabConfiguration" class="tabicon ic_config"></a></li>
|
|
||||||
<li id="tab_pid_tuning"><a href="#" i18n="tabPidTuning" class="tabicon ic_pid"></a></li>
|
|
||||||
<li id="tab_receiver"><a href="#" i18n="tabReceiver" class="tabicon ic_rx"></a></li>
|
|
||||||
<!-- <li class="tab_modes"><a href="#" i18n="tabModeSelection"></a></li> -->
|
|
||||||
<li id="tab_auxiliary"><a href="#" i18n="tabAuxiliary" class="tabicon ic_modes"></a></li>
|
|
||||||
<li id="tab_adjustments"><a href="#" i18n="tabAdjustments" class="tabicon ic_adjust"></a></li>
|
|
||||||
<li id="tab_servos"><a href="#" i18n="tabServos" class="tabicon ic_servo"></a></li>
|
|
||||||
<li id="tab_gps"><a href="#" i18n="tabGPS" class="tabicon ic_gps"></a></li>
|
|
||||||
<li id="tab_motors"><a href="#" i18n="tabMotorTesting" class="tabicon ic_motor"></a></li>
|
|
||||||
<li id="tab_led_strip"><a href="#" i18n="tabLedStrip" class="tabicon ic_led"></a></li>
|
|
||||||
<li id="tab_sensors"><a href="#" i18n="tabRawSensorData" class="tabicon ic_sensors"></a></li>
|
|
||||||
<li id="tab_logging"><a href="#" i18n="tabLogging" class="tabicon ic_log"></a></li>
|
|
||||||
<li id="tab_dataflash"><a href="#" i18n="tabDataflash" class="tabicon ic_data"></a></li>
|
|
||||||
<li id="tab_cli"><a href="#" i18n="tabCLI" class="tabicon ic_cli"></a></li>
|
|
||||||
<li id=""><a href="#"class="tabicon ic_backup">Backup (spare)</a></li>
|
|
||||||
<li id=""><a href="#"class="tabicon ic_mission">Mission (spare)</a></li>
|
|
||||||
<li id=""><a href="#"class="tabicon ic_advanced">Advanced (spare)</a></li>
|
|
||||||
<li id=""><a href="#"class="tabicon ic_wizzard">Wizzard (spare)</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
<div class="clear-both"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="content">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="status-bar">
|
|
||||||
<div>
|
|
||||||
<span i18n="statusbar_port_utilization"></span> <span class="port_usage_down">D: 0%</span> <span class="port_usage_up">U: 0%</span>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<span i18n="statusbar_packet_error"></span> <span class="packet-error">0</span>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<span i18n="statusbar_i2c_error"></span> <span class="i2c-error">0</span>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<span i18n="statusbar_cycle_time"></span> <span class="cycle-time">0</span>
|
|
||||||
</div>
|
|
||||||
<div class="version">
|
|
||||||
<!-- configuration version generated here -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="cache">
|
|
||||||
<div class="data-loading">
|
|
||||||
<p>Waiting for data ...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue