1
0
Fork 0
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:
cTn 2013-05-29 19:24:34 +02:00
parent 21b0248430
commit 58d34ee9e5
8 changed files with 222 additions and 49 deletions

View file

@ -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 {

View file

@ -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() {

View file

@ -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);
} }
} }

View file

@ -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
View 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
View 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);
}

View file

@ -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">

View file

@ -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 + '&deg;'); $('div#compass .value').html(SENSOR_DATA.kinematicsZ + '&deg;');
@ -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);
} }