|
@@ -2,17 +2,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
<head>
|
|
<head>
|
|
|
-<link rel= "stylesheet" type= "text/css" href= "{{ url_for('static',filename='styles/main.css') }}">
|
|
|
|
|
-<script type="text/javascript" src="{{ url_for('static', filename='js/CollapsibleLists.js')}}"></script>
|
|
|
|
|
-<title>ArduPilot Custom Firmware Builder</title>
|
|
|
|
|
|
|
+ <link rel="stylesheet" type="text/css" href="{{ url_for('static',filename='styles/main.css') }}">
|
|
|
|
|
+ <script type="text/javascript" src="{{ url_for('static', filename='js/CollapsibleLists.js')}}"></script>
|
|
|
|
|
+ <title>ArduPilot Custom Firmware Builder</title>
|
|
|
</head>
|
|
</head>
|
|
|
|
|
|
|
|
<body onload="javascript: reload()">
|
|
<body onload="javascript: reload()">
|
|
|
<div id="main">
|
|
<div id="main">
|
|
|
-<a href="https://custom.ardupilot.org/">
|
|
|
|
|
-<div id="logo">
|
|
|
|
|
-</div>
|
|
|
|
|
-</a>
|
|
|
|
|
|
|
+ <a href="https://custom.ardupilot.org/">
|
|
|
|
|
+ <div id="logo">
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </a>
|
|
|
|
|
|
|
|
<div id="menu">
|
|
<div id="menu">
|
|
|
<h2>ArduPilot Custom Firmware Builder</h2>
|
|
<h2>ArduPilot Custom Firmware Builder</h2>
|
|
@@ -27,53 +27,56 @@
|
|
|
<label for="vehicle">Choose a vehicle:</label>
|
|
<label for="vehicle">Choose a vehicle:</label>
|
|
|
<select name="vehicle">
|
|
<select name="vehicle">
|
|
|
{% for vehicle in get_vehicles()[0] %}
|
|
{% for vehicle in get_vehicles()[0] %}
|
|
|
- {% if vehicle == get_vehicles()[1] %}
|
|
|
|
|
- <option value="{{vehicle}}" selected>{{vehicle}}</option>
|
|
|
|
|
- {% else %}
|
|
|
|
|
- <option value="{{vehicle}}">{{vehicle}}</option>
|
|
|
|
|
- {% endif %}
|
|
|
|
|
|
|
+ {% if vehicle == get_vehicles()[1] %}
|
|
|
|
|
+ <option value="{{vehicle}}" selected>{{vehicle}}</option>
|
|
|
|
|
+ {% else %}
|
|
|
|
|
+ <option value="{{vehicle}}">{{vehicle}}</option>
|
|
|
|
|
+ {% endif %}
|
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
</select>
|
|
</select>
|
|
|
<p/>
|
|
<p/>
|
|
|
<label for="board">Choose a board:</label>
|
|
<label for="board">Choose a board:</label>
|
|
|
<select name="board">
|
|
<select name="board">
|
|
|
{% for board in get_boards()[0] %}
|
|
{% for board in get_boards()[0] %}
|
|
|
- {% if board == get_boards()[1] %}
|
|
|
|
|
- <option value="{{board}}" selected>{{board}}</option>
|
|
|
|
|
- {% else %}
|
|
|
|
|
- <option value="{{board}}">{{board}}</option>
|
|
|
|
|
- {% endif %}
|
|
|
|
|
|
|
+ {% if board == get_boards()[1] %}
|
|
|
|
|
+ <option value="{{board}}" selected>{{board}}</option>
|
|
|
|
|
+ {% else %}
|
|
|
|
|
+ <option value="{{board}}">{{board}}</option>
|
|
|
|
|
+ {% endif %}
|
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
</select>
|
|
</select>
|
|
|
<p/>
|
|
<p/>
|
|
|
<label for="board">Select Features:</label>
|
|
<label for="board">Select Features:</label>
|
|
|
<ul class="collapsibleList">
|
|
<ul class="collapsibleList">
|
|
|
- {% for c in get_build_categories() %}
|
|
|
|
|
- <li>{{c}}
|
|
|
|
|
- <ul>
|
|
|
|
|
- {% for f in get_build_options(c) %}
|
|
|
|
|
- <li>
|
|
|
|
|
- {% if f.default == 1 %}
|
|
|
|
|
- <input onclick='dependencies(this, "{{f.label}}", "{{f.dependency}}");' type="checkbox" name="{{f.label}}" id="{{f.label}}" value="1" checked>
|
|
|
|
|
- {% else %}
|
|
|
|
|
- <input onclick='dependencies(this, "{{f.label}}", "{{f.dependency}}");' type="checkbox" name="{{f.label}}" id="{{f.label}}" value="1">
|
|
|
|
|
- {% endif %}
|
|
|
|
|
- {{f.description}}
|
|
|
|
|
- </li>
|
|
|
|
|
- {% endfor %}
|
|
|
|
|
- </ul>
|
|
|
|
|
- </li>
|
|
|
|
|
- {% endfor %}
|
|
|
|
|
|
|
+ {% for c in get_build_categories() %}
|
|
|
|
|
+ <li>{{c}}
|
|
|
|
|
+ <ul>
|
|
|
|
|
+ {% for f in get_build_options(c) %}
|
|
|
|
|
+ <li>
|
|
|
|
|
+ {% if f.default == 1 %}
|
|
|
|
|
+ <input onclick='dependencies(this, "{{f.label}}", "{{f.dependency}}");' type="checkbox"
|
|
|
|
|
+ name="{{f.label}}" id="{{f.label}}" value="1" checked>
|
|
|
|
|
+ {% else %}
|
|
|
|
|
+ <input onclick='dependencies(this, "{{f.label}}", "{{f.dependency}}");' type="checkbox"
|
|
|
|
|
+ name="{{f.label}}" id="{{f.label}}" value="1">
|
|
|
|
|
+ {% endif %}
|
|
|
|
|
+ {{f.description}}
|
|
|
|
|
+ </li>
|
|
|
|
|
+ {% endfor %}
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </li>
|
|
|
|
|
+ {% endfor %}
|
|
|
</ul>
|
|
</ul>
|
|
|
<br>
|
|
<br>
|
|
|
<input type="submit" value="Generate">
|
|
<input type="submit" value="Generate">
|
|
|
</form>
|
|
</form>
|
|
|
</div>
|
|
</div>
|
|
|
-<hr>
|
|
|
|
|
|
|
+ <hr>
|
|
|
<div id="build_status"></div>
|
|
<div id="build_status"></div>
|
|
|
-<br />
|
|
|
|
|
|
|
+ <br/>
|
|
|
<script>
|
|
<script>
|
|
|
CollapsibleLists.apply();
|
|
CollapsibleLists.apply();
|
|
|
|
|
+
|
|
|
function reload() {
|
|
function reload() {
|
|
|
var output = document.getElementById('build_status');
|
|
var output = document.getElementById('build_status');
|
|
|
var xhr = new XMLHttpRequest();
|
|
var xhr = new XMLHttpRequest();
|
|
@@ -84,28 +87,28 @@
|
|
|
xhr.setRequestHeader("Expires", "Tue, 01 Jan 1980 1:00:00 GMT");
|
|
xhr.setRequestHeader("Expires", "Tue, 01 Jan 1980 1:00:00 GMT");
|
|
|
xhr.setRequestHeader("Pragma", "no-cache");
|
|
xhr.setRequestHeader("Pragma", "no-cache");
|
|
|
|
|
|
|
|
- xhr.onload = function() {
|
|
|
|
|
|
|
+ xhr.onload = function () {
|
|
|
if (xhr.status == 200) {
|
|
if (xhr.status == 200) {
|
|
|
output.innerHTML = xhr.responseText;
|
|
output.innerHTML = xhr.responseText;
|
|
|
}
|
|
}
|
|
|
- setTimeout(reload,5000)
|
|
|
|
|
|
|
+ setTimeout(reload, 5000)
|
|
|
}
|
|
}
|
|
|
xhr.send();
|
|
xhr.send();
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
function dependencies(cb, f_label, f_dependency1) {
|
|
function dependencies(cb, f_label, f_dependency1) {
|
|
|
switch (cb.name) {
|
|
switch (cb.name) {
|
|
|
- case f_label:
|
|
|
|
|
- const f_dependency = f_dependency1.split(",")
|
|
|
|
|
- var arrayLength = f_dependency.length;
|
|
|
|
|
- for (var i = 0; i < arrayLength; i++) {
|
|
|
|
|
- if (document.getElementById(f_dependency[i]).checked == false){
|
|
|
|
|
- document.getElementById(f_dependency[i]).checked = cb.checked;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ case f_label:
|
|
|
|
|
+ const f_dependency = f_dependency1.split(",")
|
|
|
|
|
+ var arrayLength = f_dependency.length;
|
|
|
|
|
+ for (var i = 0; i < arrayLength; i++) {
|
|
|
|
|
+ if (document.getElementById(f_dependency[i]).checked == false) {
|
|
|
|
|
+ document.getElementById(f_dependency[i]).checked = cb.checked;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
</script>
|
|
</script>
|
|
|
</body>
|
|
</body>
|
|
|
|
|
|