kopia lustrzana https://github.com/cyoung/stratux
460 wiersze
24 KiB
HTML
460 wiersze
24 KiB
HTML
<div class="col-sm-12">
|
|
<!-- Begin Left Col -->
|
|
<div class="col-sm-6">
|
|
<!-- AHRS Options -->
|
|
<div class="panel-group col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">AHRS</div>
|
|
<div class="panel-body">
|
|
<div class="col-xs-12">
|
|
<span style="position:relative; overflow: hidden;">
|
|
<button class="btn btn-primary btn-block" ui-turn-on="modalCalibrateForward"
|
|
ng-disabled="!IMU_Sensor_Enabled">Set AHRS Sensor Orientation</button>
|
|
</span>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-3">G Limits</label>
|
|
<form name="GLimitForm" ng-submit="updateGLimits()" novalidate>
|
|
<input class="col-xs-9" type="text" g-limits-input ng-model="GLimits"
|
|
ng-blur="updateGLimits()" ng-disabled="!IMU_Sensor_Enabled"
|
|
ng-class="{grayout: !IMU_Sensor_Enabled}"
|
|
placeholder="Space-separated negative and positive G meter limits"/>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- App Commands -->
|
|
<div class="panel-group col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Commands</div>
|
|
<div class="panel-body">
|
|
<!-- Upload. Temporary. -->
|
|
<div class="col-xs-12">
|
|
<span ng-show="update_files == ''">
|
|
<span style="position:relative; overflow: hidden;">
|
|
<span class="fake-btn fake-btn-block">Click to select System Update file</span>
|
|
<input style="opacity:0.0; position: absolute; top: 0; right: 0;" class="col-xs-12" type="file" name="update_file"
|
|
onchange="angular.element(this).scope().setUploadFile(this.files)"/>
|
|
</span>
|
|
</span>
|
|
<span ng-hide="update_files == ''">
|
|
<button class="btn btn-block" onclick="angular.element(this).scope().uploadFile()">
|
|
Install {{update_files[0].name}}</button>
|
|
</span>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<div class="col-xs-12">
|
|
<button class="btn btn-primary btn-block" ui-turn-on="modalReboot">Reboot</button>
|
|
</div>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<div class="col-xs-12">
|
|
<button class="btn btn-primary btn-block"ui-turn-on="modalShutdown">Shutdown</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- App Theme -->
|
|
<div class="panel-group col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Theme</div>
|
|
<div class="panel-body">
|
|
<!-- Dark Mode -->
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">Dark Mode</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='DarkMode' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Left Col -->
|
|
<!-- Begin Right Col -->
|
|
<div class="col-sm-6">
|
|
<!-- System Configuration -->
|
|
<div class="panel-group col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Configuration</div>
|
|
<div class="panel-body">
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-5">Mode S Code (Hex)</label>
|
|
<form name="modeForm" ng-submit="updatemodes()" novalidate>
|
|
<input class="col-xs-7" type="text" hex-input ng-model="OwnshipModeS"
|
|
placeholder="FAA HEX code" ng-blur="updatemodes()" />
|
|
</form>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-5">Watch List</label>
|
|
<form name="watchForm" ng-submit="updatewatchlist()" novalidate>
|
|
<input class="col-xs-7" type="text" watchlist-input ng-model="WatchList"
|
|
placeholder="space-delimited 4-letter identifiers" ng-blur="updatewatchlist()" />
|
|
</form>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-5">PPM Correction</label>
|
|
<form name="ppmForm" ng-submit="updateppm()" novalidate>
|
|
<!-- type="number" not supported except on mobile -->
|
|
<input class="col-xs-7" type="number" ng-model="PPM" placeholder="integer"
|
|
ng-blur="updateppm()" />
|
|
</form>
|
|
</div>
|
|
<div class="form-group reset-flow" ng-class="{ 'section_invisible': (!visible_serialout)}">
|
|
<label class="control-label col-xs-5">Serial Output Baudrate</label>
|
|
<form name="ppmForm" ng-submit="updateBaud()" novalidate>
|
|
<!-- type="number" not supported except on mobile -->
|
|
<input class="col-xs-7" type="number" ng-model="Baud" placeholder="integer"
|
|
ng-blur="updateBaud()" />
|
|
</form>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-5">Static IPs</label>
|
|
<form name="staticipForm" ng-submit="updatestaticips()" novalidate>
|
|
<input class="col-xs-7" type="text" ip-list-input ng-model="StaticIps" ng-list=" "
|
|
ng-trim="false" placeholder="space-delimited ip's to send network data"
|
|
ng-blur="updatestaticips()" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- WiFi Settings -->
|
|
<div class="panel-group col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">WiFi Settings</div>
|
|
<div class="panel-body">
|
|
<form name="WiFiSettings">
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-5">WiFi SSID</label>
|
|
<input class="col-xs-7" type="text" ssid-input ng-model="WiFiSSID"
|
|
placeholder="WiFi Network Name" />
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-7">Network Security</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model="WiFiSecurityEnabled" settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-5">WiFi Passphrase</label>
|
|
<input class="col-xs-7" type="text" wpa-input ng-model="WiFiPassphrase"
|
|
ng-disabled="!WiFiSecurityEnabled" ng-class="{grayout: !WiFiSecurityEnabled}"
|
|
ng-required="WiFiSecurityEnabled" placeholder="WiFi Passphrase" />
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-7">WiFi Channel</label>
|
|
<select id="WiFiChannel" class="input-small col-sm-2 form-control-sm"
|
|
ng-model="WiFiChannel" ng-options="x for x in Channels"></select>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<label class="control-label col-xs-7">Smart WiFi</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model="WiFiSmartEnabled" settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group reset-flow">
|
|
<button class="btn btn-primary btn-block" ng-click="updateWiFi()">Submit WiFi Changes</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Right Col -->
|
|
</div>
|
|
<!-- Developer mode area -->
|
|
<div ng-show="DeveloperMode" class="col-sm-12">
|
|
<!-- Begin Left Col -->
|
|
<div class="col-sm-6">
|
|
<!-- Hardware Settings -->
|
|
<div class="panel-group col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Hardware</div>
|
|
<div class="panel-body">
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">978 MHz</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='UAT_Enabled' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">1090 MHz</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='ES_Enabled' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">Ping ADS-B</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='Ping_Enabled' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">GPS</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='GPS_Enabled' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">AHRS Sensor</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='IMU_Sensor_Enabled' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">Baro Sensor</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='BMP_Sensor_Enabled' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Left Col -->
|
|
<!-- Begin Right Col -->
|
|
<div class="col-sm-6">
|
|
<!-- Diagnostics Values -->
|
|
<div ng-show="DeveloperMode" class="panel-group col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Diagnostics</div>
|
|
<div class="panel-body">
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">Show Traffic Source in Callsign</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='DisplayTrafficSource' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">Verbose Message Log</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='DEBUG' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">Record Replay Logs</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='ReplayLog' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-7">Record AHRS Logs</label>
|
|
<div class="col-xs-5">
|
|
<ui-switch ng-model='AHRSLog' settings-change></ui-switch>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Right Col -->
|
|
<div class="col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">Raw Configuration</div>
|
|
<div class="panel-body">
|
|
<p>stratux.conf:</p>
|
|
<pre>{{rawSettings}}</pre>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ############################################## -->
|
|
<!-- Modal popups -->
|
|
<!-- ############################################## -->
|
|
<!-- Messages Modal -->
|
|
<div class="col-sm-12">
|
|
<h3 ui-if="rebooting" ui-state="rebooting">Stratux is rebooting. You may need to reconnect WiFi once it reboots.</h3>
|
|
<h3 ui-if="shuttingdown" ui-state="shuttingdown">Stratux is shutting down. You may disconnect power.</h3>
|
|
<h3 ui-if="WiFiRestart" ui-state="WiFiRestart">Stratux WiFi is Restarting Services. You may need to reconnect WiFi
|
|
once services are restored.</h3>
|
|
</div>
|
|
|
|
<div ui-content-for="modals">
|
|
<!-- Reboot Config Modal -->
|
|
<div class="modal" ui-if="modalReboot" ui-state="modalReboot">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalReboot"></button>
|
|
<h4 class="modal-title">Are you really sure?</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>Do you wish to reboot the Stratux?</p>
|
|
<p>Note that the system will reboot immediately and it will stop responding during the reboot</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ui-turn-off="modalReboot" class="btn btn-default">Cancel</a>
|
|
<a ng-click="postReboot()" ui-turn-off="modalReboot" ui-turn-on="rebooting"
|
|
class="btn btn-primary">Reboot</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Shutdown Modal -->
|
|
<div class="modal" ui-if="modalShutdown" ui-state="modalShutdown">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalShutdown"></button>
|
|
<h4 class="modal-title">Are you really sure?</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>Do you wish to shutdown the Stratux?</p>
|
|
<p>Note that the system will shutdown immediately. Please disconnect the power after the shutdown.</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ui-turn-off="modalShutdown" class="btn btn-default">Cancel</a>
|
|
<a ng-click="postShutdown()" ui-turn-off="modalShutdown" ui-turn-on="shuttingdown"
|
|
class="btn btn-primary">Shutdown</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Calibrate Forward Modal -->
|
|
<div class="modal" ui-if="modalCalibrateForward" ui-state="modalCalibrateForward">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalCalibrateForward"></button>
|
|
<h4 class="modal-title">Set AHRS Sensor Orientation: Forward Direction</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>Point the Stratux so that the end that will be pointing toward the
|
|
<strong>nose</strong> of the airplane is pointing toward the sky and press the
|
|
<strong>Set Forward Direction</strong> button.</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ui-turn-off="modalCalibrateForward" class="btn btn-default">Cancel</a>
|
|
<a ng-click="setOrientation('forward')" ui-turn-off="modalCalibrateForward"
|
|
ui-turn-on="modalCalibrateDone" class="btn btn-default btn-primary">Set Forward Direction</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Calibration Success Modal -->
|
|
<div class="modal" ui-if="modalCalibrateDone" ui-state="modalCalibrateDone">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalCalibrateDone"></button>
|
|
<h4 class="modal-title">Set AHRS Sensor Orientation: Finished</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>The sensor orientation is set. These settings will be saved for future flights.
|
|
Place the Stratux in its in-flight orientation and keep it stationary for 5 seconds
|
|
after you press the <strong>Done</strong> button.</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ng-click="setOrientation('done')" ui-turn-off="modalCalibrateDone"
|
|
class="btn btn-default btn-primary">Done</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Calibration Failed Modal -->
|
|
<div class="modal" ui-if="modalCalibrateFailed" ui-state="modalCalibrateFailed">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalCalibrateFailed"></button>
|
|
<h4 class="modal-title">Set AHRS Sensor Orientation: Failed!</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>There was an error: {{Orientation_Failure_Message}}</p>
|
|
<p><div id="orientationFailureMessage"></div></p>
|
|
<p>The orientation failed. Please try again.</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ui-turn-off="modalCalibrateFailed" class="btn btn-default btn-primary">OK</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- WiFi Success Modal -->
|
|
<div class="modal" ui-if="modalSuccessWiFi" ui-state="modalSuccessWiFi" id="WiFiSuccessModal">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalSuccessWiFi"></button>
|
|
<h4 class="modal-title">Your WiFi settings were successfully changed.</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>WiFi SSID: <b>{{WiFiSSID}}</b></p>
|
|
<p>WiFi Security: <b>{{WiFiSecurityEnabled}}</b></p>
|
|
<p>WiFi Passphrase: <b>{{WiFiPassphrase}}</b></p>
|
|
<p>WiFi Channel: <b>{{WiFiChannel}}</b></p>
|
|
<p>Smart mode: <b>{{WiFiSmartEnabled}}</b></p>
|
|
<p>Your Stratux's WiFi services are now restarting to apply the new settings. This could take up to 30 seconds.<br/>
|
|
You might have to reconnect to your new WiFi SSID. </p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ui-turn-off="modalSuccessWiFi" class="btn btn-primary btn-default">Close</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- WiFi Error Modal -->
|
|
<div class="modal" ui-if="modalErrorWiFi" ui-state="modalErrorWiFi">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalErrorWiFi"></button>
|
|
<h4 class="modal-title">Errors in your WiFi Settings</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div>{{WiFiErrors.WiFiSSID}}</div>
|
|
<div>{{WiFiErrors.WiFiPassphrase}}</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ui-turn-off="modalErrorWiFi" ng-click="resetSettings()" class="btn btn-default">Close</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- WiFi Canceled Modal -->
|
|
<div class="modal" ui-if="modalCancelWiFi" ui-state="modalCancelWiFi">
|
|
<div class="modal-overlay "></div>
|
|
<div class="vertical-alignment-helper center-block">
|
|
<div class="modal-dialog vertical-align-center">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button class="close" ui-turn-off="modalCancelWiFi"></button>
|
|
<h4 class="modal-title">WiFi Settings: Canceled</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>WiFi Settings Canceled.</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a ui-turn-off="modalCancelWiFi" ng-click="resetSettings()" class="btn btn-default btn-primary">OK</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|