mirror of
https://github.com/iNavFlight/inav-configurator.git
synced 2025-07-16 12:55:13 +03:00
initial code for gps strength indicator
This commit is contained in:
parent
21b0248430
commit
58d34ee9e5
8 changed files with 222 additions and 49 deletions
|
@ -317,7 +317,6 @@ a:hover {
|
||||||
-webkit-transform: rotateX(90deg) translateZ(100px);
|
-webkit-transform: rotateX(90deg) translateZ(100px);
|
||||||
background-color: silver;
|
background-color: silver;
|
||||||
}
|
}
|
||||||
.tab-initial_setup .GPS_info,
|
|
||||||
.tab-initial_setup .battery,
|
.tab-initial_setup .battery,
|
||||||
.tab-initial_setup .acc-trim {
|
.tab-initial_setup .acc-trim {
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -330,7 +329,6 @@ a:hover {
|
||||||
|
|
||||||
border: 1px solid silver;
|
border: 1px solid silver;
|
||||||
}
|
}
|
||||||
.tab-initial_setup .GPS_info .head,
|
|
||||||
.tab-initial_setup .battery .head,
|
.tab-initial_setup .battery .head,
|
||||||
.tab-initial_setup .acc-trim .head {
|
.tab-initial_setup .acc-trim .head {
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -342,10 +340,6 @@ a:hover {
|
||||||
border-bottom: 1px solid silver;
|
border-bottom: 1px solid silver;
|
||||||
background-color: #ececec;
|
background-color: #ececec;
|
||||||
}
|
}
|
||||||
.tab-initial_setup .GPS_info table {
|
|
||||||
padding: 5px;
|
|
||||||
line-height: 18px;
|
|
||||||
}
|
|
||||||
.tab-initial_setup .battery .fields {
|
.tab-initial_setup .battery .fields {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
@ -401,8 +395,8 @@ a:hover {
|
||||||
.tab-initial_setup .compass-wrapper {
|
.tab-initial_setup .compass-wrapper {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
||||||
margin-top: 60px;
|
margin-top: 50px;
|
||||||
margin-left: 80px;
|
margin-left: 180px;
|
||||||
|
|
||||||
border: 1px solid silver;
|
border: 1px solid silver;
|
||||||
|
|
||||||
|
@ -723,6 +717,45 @@ a:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background-color: #13d81d;
|
background-color: #13d81d;
|
||||||
}
|
}
|
||||||
|
.tab-gps {
|
||||||
|
}
|
||||||
|
.tab-gps .GPS_info {
|
||||||
|
float: left;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
|
||||||
|
width: 155px;
|
||||||
|
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
.tab-gps .GPS_info table {
|
||||||
|
padding: 5px;
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
.tab-gps .GPS_signal_strength {
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
margin-left: 10px;
|
||||||
|
|
||||||
|
width: 200px;
|
||||||
|
|
||||||
|
border: 1px solid silver;
|
||||||
|
}
|
||||||
|
.tab-gps .GPS_signal_strength table {
|
||||||
|
padding: 5px;
|
||||||
|
line-height: 18px;
|
||||||
|
}
|
||||||
|
.tab-gps .GPS_info .head,
|
||||||
|
.tab-gps .GPS_signal_strength .head {
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
border-bottom: 1px solid silver;
|
||||||
|
background-color: #ececec;
|
||||||
|
}
|
||||||
.tab-motor_outputs {
|
.tab-motor_outputs {
|
||||||
}
|
}
|
||||||
.tab-motor_outputs .right.servos {
|
.tab-motor_outputs .right.servos {
|
||||||
|
|
|
@ -37,6 +37,8 @@ $(document).ready(function() {
|
||||||
$('#content').load("./tabs/receiver.html", tab_initialize_receiver);
|
$('#content').load("./tabs/receiver.html", tab_initialize_receiver);
|
||||||
} else if ($(this).parent().hasClass('tab_auxiliary_configuration')) {
|
} else if ($(this).parent().hasClass('tab_auxiliary_configuration')) {
|
||||||
$('#content').load("./tabs/auxiliary_configuration.html", tab_initialize_auxiliary_configuration);
|
$('#content').load("./tabs/auxiliary_configuration.html", tab_initialize_auxiliary_configuration);
|
||||||
|
} else if ($(this).parent().hasClass('tab_gps')) {
|
||||||
|
$('#content').load("./tabs/gps.html", tab_initialize_gps);
|
||||||
} else if ($(this).parent().hasClass('tab_motor_outputs')) {
|
} else if ($(this).parent().hasClass('tab_motor_outputs')) {
|
||||||
$('#content').load("./tabs/motor_outputs.html", tab_initialize_motor_outputs);
|
$('#content').load("./tabs/motor_outputs.html", tab_initialize_motor_outputs);
|
||||||
} else if ($(this).parent().hasClass('tab_sensors')) {
|
} else if ($(this).parent().hasClass('tab_sensors')) {
|
||||||
|
@ -50,7 +52,7 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
// temporary
|
// temporary
|
||||||
//$('#content').load("./tabs/initial_setup.html", tab_initialize_initial_setup);
|
//$('#content').load("./tabs/gps.html", tab_initialize_gps);
|
||||||
});
|
});
|
||||||
|
|
||||||
function disable_timers() {
|
function disable_timers() {
|
||||||
|
|
|
@ -43,7 +43,8 @@ var MSP_codes = {
|
||||||
// Additional baseflight commands that are not compatible with MultiWii
|
// Additional baseflight commands that are not compatible with MultiWii
|
||||||
MSP_UID: 160,
|
MSP_UID: 160,
|
||||||
MSP_ACC_TRIM: 240,
|
MSP_ACC_TRIM: 240,
|
||||||
MSP_SET_ACC_TRIM: 239
|
MSP_SET_ACC_TRIM: 239,
|
||||||
|
MSP_GPSSVINFO: 164 // get Signal Strength (only U-Blox)
|
||||||
}
|
}
|
||||||
|
|
||||||
var CONFIG = {
|
var CONFIG = {
|
||||||
|
@ -109,7 +110,13 @@ var GPS_DATA = {
|
||||||
speed: 0,
|
speed: 0,
|
||||||
distanceToHome: 0,
|
distanceToHome: 0,
|
||||||
ditectionToHome: 0,
|
ditectionToHome: 0,
|
||||||
update: 0
|
update: 0,
|
||||||
|
|
||||||
|
// baseflight specific gps stuff
|
||||||
|
chn: new Array(),
|
||||||
|
svid: new Array(),
|
||||||
|
quality: new Array(),
|
||||||
|
cno: new Array()
|
||||||
}
|
}
|
||||||
|
|
||||||
var BATTERY = {
|
var BATTERY = {
|
||||||
|
@ -654,6 +661,23 @@ function process_message(code, data) {
|
||||||
case MSP_codes.MSP_SET_ACC_TRIM:
|
case MSP_codes.MSP_SET_ACC_TRIM:
|
||||||
console.log('Accelerometer trimms saved.');
|
console.log('Accelerometer trimms saved.');
|
||||||
break;
|
break;
|
||||||
|
case MSP_codes.MSP_GPSSVINFO:
|
||||||
|
if (data.byteLength > 0) {
|
||||||
|
var numCh = view.getUint8(0);
|
||||||
|
|
||||||
|
var needle = 1;
|
||||||
|
for (var i = 0; i < numCh; i++) {
|
||||||
|
GPS_DATA.chn[i] = view.getUint8(needle);
|
||||||
|
GPS_DATA.svid[i] = view.getUint8(needle + 1);
|
||||||
|
GPS_DATA.quality[i] = view.getUint8(needle + 2);
|
||||||
|
GPS_DATA.cno[i] = view.getUint8(needle + 3);
|
||||||
|
|
||||||
|
needle += 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log('Unknown code detected: ' + code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
<script type="text/javascript" src="./tabs/pid_tuning.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/receiver.js"></script>
|
||||||
<script type="text/javascript" src="./tabs/auxiliary_configuration.js"></script>
|
<script type="text/javascript" src="./tabs/auxiliary_configuration.js"></script>
|
||||||
|
<script type="text/javascript" src="./tabs/gps.js"></script>
|
||||||
<script type="text/javascript" src="./tabs/motor_outputs.js"></script>
|
<script type="text/javascript" src="./tabs/motor_outputs.js"></script>
|
||||||
<script type="text/javascript" src="./tabs/sensors.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/cli.js"></script>
|
||||||
|
@ -84,6 +85,7 @@
|
||||||
<li class="tab_pid_tuning"><a href="#">PID Tuning</a></li>
|
<li class="tab_pid_tuning"><a href="#">PID Tuning</a></li>
|
||||||
<li class="tab_receiver"><a href="#">Receiver</a></li>
|
<li class="tab_receiver"><a href="#">Receiver</a></li>
|
||||||
<li class="tab_auxiliary_configuration"><a href="#">Auxiliary Configuration</a></li>
|
<li class="tab_auxiliary_configuration"><a href="#">Auxiliary Configuration</a></li>
|
||||||
|
<li class="tab_gps"><a href="#">GPS</a></li>
|
||||||
<li class="tab_motor_outputs"><a href="#">Motor/Servo Outputs</a></li>
|
<li class="tab_motor_outputs"><a href="#">Motor/Servo Outputs</a></li>
|
||||||
<li class="tab_sensors"><a href="#">Raw Sensor Data</a></li>
|
<li class="tab_sensors"><a href="#">Raw Sensor Data</a></li>
|
||||||
<li class="tab_cli"><a href="#">CLI</a></li>
|
<li class="tab_cli"><a href="#">CLI</a></li>
|
||||||
|
|
121
tabs/gps.html
Normal file
121
tabs/gps.html
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
<div class="tab-gps">
|
||||||
|
<div class="GPS_info">
|
||||||
|
<span class="head">GPS</span>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td style="width: 100px;">Altitude:</td>
|
||||||
|
<td class="alt">0</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Latitude:</td>
|
||||||
|
<td class="lat">0</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Longitude:</td>
|
||||||
|
<td class="lon">0</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Speed:</td>
|
||||||
|
<td class="speed">0</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Sats:</td>
|
||||||
|
<td class="sats">0</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Dist to Home:</td>
|
||||||
|
<td class="distToHome">0</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="GPS_signal_strength">
|
||||||
|
<span class="head">GPS Signal Strength</span>
|
||||||
|
<table>
|
||||||
|
<tr class="titles">
|
||||||
|
<td style="width: 40px;">Sat ID</td>
|
||||||
|
<td style="width: 30px;">Qty</td>
|
||||||
|
<td>Signal Strength</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td><progress value="0" max="16"></progress></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
29
tabs/gps.js
Normal file
29
tabs/gps.js
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
function tab_initialize_gps () {
|
||||||
|
// enable data pulling
|
||||||
|
timers.push(setInterval(gps_pull, 75));
|
||||||
|
}
|
||||||
|
|
||||||
|
function gps_pull() {
|
||||||
|
// Update GPS data
|
||||||
|
$('.GPS_info td.alt').html(GPS_DATA.alt);
|
||||||
|
$('.GPS_info td.lat').html(GPS_DATA.lat / 10000000);
|
||||||
|
$('.GPS_info td.lon').html(GPS_DATA.lon / 10000000);
|
||||||
|
$('.GPS_info td.speed').html(GPS_DATA.speed);
|
||||||
|
$('.GPS_info td.sats').html(GPS_DATA.numSat);
|
||||||
|
$('.GPS_info td.distToHome').html(GPS_DATA.distanceToHome);
|
||||||
|
|
||||||
|
// Update GPS Signal Strengths
|
||||||
|
|
||||||
|
var e_ss_table = $('div.GPS_signal_strength table tr:not(.titles)')
|
||||||
|
|
||||||
|
for (var i = 0; i < GPS_DATA.chn.length; i++) {
|
||||||
|
var row = e_ss_table.eq(i);
|
||||||
|
|
||||||
|
$('td', row).eq(0).html(GPS_DATA.svid[i]);
|
||||||
|
$('td', row).eq(1).html(GPS_DATA.quality);
|
||||||
|
$('td', row).eq(2).find('progress').val(GPS_DATA.cno);
|
||||||
|
}
|
||||||
|
|
||||||
|
send_message(MSP_codes.MSP_RAW_GPS, MSP_codes.MSP_RAW_GPS);
|
||||||
|
send_message(MSP_codes.MSP_GPSSVINFO, MSP_codes.MSP_GPSSVINFO);
|
||||||
|
}
|
|
@ -35,35 +35,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="GPS_info">
|
|
||||||
<span class="head">GPS</span>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td style="width: 90px;">Altitude:</td>
|
|
||||||
<td class="alt">0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Latitude:</td>
|
|
||||||
<td class="lat">0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Longitude:</td>
|
|
||||||
<td class="lon">0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Speed:</td>
|
|
||||||
<td class="speed">0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Sats:</td>
|
|
||||||
<td class="sats">0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Dist to Home:</td>
|
|
||||||
<td class="distToHome">0</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="battery">
|
<div class="battery">
|
||||||
<span class="head">Battery</span>
|
<span class="head">Battery</span>
|
||||||
<div class="fields">
|
<div class="fields">
|
||||||
|
|
|
@ -62,14 +62,6 @@ function data_poll() {
|
||||||
$('#cubePITCH', cube).css('-webkit-transform', 'rotateX(' + SENSOR_DATA.kinematicsY + 'deg)');
|
$('#cubePITCH', cube).css('-webkit-transform', 'rotateX(' + SENSOR_DATA.kinematicsY + 'deg)');
|
||||||
$('#cubeROLL', cube).css('-webkit-transform', 'rotateZ(' + SENSOR_DATA.kinematicsX + 'deg)');
|
$('#cubeROLL', cube).css('-webkit-transform', 'rotateZ(' + SENSOR_DATA.kinematicsX + 'deg)');
|
||||||
|
|
||||||
// Update GPS data
|
|
||||||
$('td.alt').html(GPS_DATA.alt);
|
|
||||||
$('td.lat').html(GPS_DATA.lat);
|
|
||||||
$('td.long').html(GPS_DATA.lon);
|
|
||||||
$('td.speed').html(GPS_DATA.speed);
|
|
||||||
$('td.sats').html(GPS_DATA.numSat);
|
|
||||||
$('td.distToHome').html(GPS_DATA.distanceToHome);
|
|
||||||
|
|
||||||
// Update Compass
|
// Update Compass
|
||||||
$('div#compass .pointer').css('-webkit-transform', 'rotate(' + (SENSOR_DATA.kinematicsZ) + 'deg)');
|
$('div#compass .pointer').css('-webkit-transform', 'rotate(' + (SENSOR_DATA.kinematicsZ) + 'deg)');
|
||||||
$('div#compass .value').html(SENSOR_DATA.kinematicsZ + '°');
|
$('div#compass .value').html(SENSOR_DATA.kinematicsZ + '°');
|
||||||
|
@ -79,7 +71,6 @@ function data_poll() {
|
||||||
|
|
||||||
// Request new data
|
// Request new data
|
||||||
send_message(MSP_codes.MSP_ATTITUDE, MSP_codes.MSP_ATTITUDE);
|
send_message(MSP_codes.MSP_ATTITUDE, MSP_codes.MSP_ATTITUDE);
|
||||||
send_message(MSP_codes.MSP_RAW_GPS, MSP_codes.MSP_RAW_GPS);
|
|
||||||
send_message(MSP_codes.MSP_COMP_GPS, MSP_codes.MSP_COMP_GPS);
|
send_message(MSP_codes.MSP_COMP_GPS, MSP_codes.MSP_COMP_GPS);
|
||||||
send_message(MSP_codes.MSP_BAT, MSP_codes.MSP_BAT);
|
send_message(MSP_codes.MSP_BAT, MSP_codes.MSP_BAT);
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue