Skip to content

Commit 62a9cde

Browse files
authored
Add all 8 debug values in sensors tab and only show active debugs (#3522)
* Add all 8 debug values in sensors tab * Make debug columns dynamic * Do it for all debug columns * Use semver to decide initial column count * Some improvements from NerdCopter
1 parent d1cb74e commit 62a9cde

File tree

5 files changed

+154
-76
lines changed

5 files changed

+154
-76
lines changed

src/js/fc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ const FC = {
280280
altitude: 0,
281281
sonar: 0,
282282
kinematics: [0.0, 0.0, 0.0],
283-
debug: [0, 0, 0, 0],
283+
debug: [0, 0, 0, 0, 0, 0, 0, 0],
284284
};
285285

286286
this.MOTOR_DATA = Array.from({length: 8});

src/js/msp/MSPHelper.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ MspHelper.prototype.process_data = function(dataHandler) {
668668
console.log('Voltage config saved');
669669
break;
670670
case MSPCodes.MSP_DEBUG:
671-
for (let i = 0; i < 4; i++) {
671+
for (let i = 0; i < 8; i++) {
672672
FC.SENSOR_DATA.debug[i] = data.read16();
673673
}
674674
break;

src/js/tabs/onboard_logging.js

+2
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ onboard_logging.initialize = function (callback) {
320320
{text: "GPS_RESCUE_VELOCITY"},
321321
{text: "GPS_RESCUE_HEADING"},
322322
{text: "GPS_RESCUE_TRACKING"},
323+
{text: "GPS_UNIT_CONNECTION"},
323324
{text: "ATTITUDE"},
324325
{text: "VTX_MSP"},
325326
{text: "GPS_DOP"},
@@ -329,6 +330,7 @@ onboard_logging.initialize = function (callback) {
329330
{text: "ANGLE_TARGET"},
330331
{text: "CURRENT_ANGLE"},
331332
{text: "DSHOT_TELEMETRY_COUNTS"},
333+
{text: "RPM_LIMIT"},
332334
];
333335

334336
for (let i = 0; i < FC.PID_ADVANCED_CONFIG.debugModeCount; i++) {

src/js/tabs/sensors.js

+28-13
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import MSP from "../msp";
77
import MSPCodes from "../msp/MSPCodes";
88
import serial from "../serial";
99
import * as d3 from 'd3';
10+
import semver from 'semver';
11+
import { API_VERSION_1_46 } from "../data_storage";
1012

1113
const sensors = {};
1214
sensors.initialize = function (callback) {
@@ -15,13 +17,18 @@ sensors.initialize = function (callback) {
1517
GUI.active_tab = 'sensors';
1618
}
1719

20+
sensors.debugColumns = semver.gte(FC.CONFIG.apiVersion, API_VERSION_1_46) ? 8 : 4;
21+
1822
function initSensorData(){
1923
for (let i = 0; i < 3; i++) {
2024
FC.SENSOR_DATA.accelerometer[i] = 0;
2125
FC.SENSOR_DATA.gyroscope[i] = 0;
2226
FC.SENSOR_DATA.magnetometer[i] = 0;
2327
FC.SENSOR_DATA.sonar = 0;
2428
FC.SENSOR_DATA.altitude = 0;
29+
}
30+
31+
for (let i = 0; i < sensors.debugColumns; i++) {
2532
FC.SENSOR_DATA.debug[i] = 0;
2633
}
2734
}
@@ -178,6 +185,10 @@ sensors.initialize = function (callback) {
178185
function plot_debug(enable) {
179186
if (enable) {
180187
$('.wrapper.debug').show();
188+
for (let i = 0; i < 8; i++) {
189+
$(`svg#debug${i}`).hide();
190+
$(`div.plot_control.debug${i}`).hide();
191+
}
181192
} else {
182193
$('.wrapper.debug').hide();
183194
}
@@ -261,24 +272,22 @@ sensors.initialize = function (callback) {
261272
mag_data = initDataArray(3),
262273
altitude_data = initDataArray(1),
263274
sonar_data = initDataArray(1),
264-
debug_data = [
265-
initDataArray(1),
266-
initDataArray(1),
267-
initDataArray(1),
268-
initDataArray(1),
269-
];
275+
debug_data = [];
276+
277+
for (let i = 0; i < sensors.debugColumns; i++) {
278+
debug_data.push(initDataArray(1));
279+
}
270280

271281
let gyroHelpers = initGraphHelpers('#gyro', samples_gyro_i, [-2000, 2000]);
272282
let accelHelpers = initGraphHelpers('#accel', samples_accel_i, [-2, 2]);
273283
let magHelpers = initGraphHelpers('#mag', samples_mag_i, [-1, 1]);
274284
const altitudeHelpers = initGraphHelpers('#altitude', samples_altitude_i);
275285
const sonarHelpers = initGraphHelpers('#sonar', samples_sonar_i);
276-
const debugHelpers = [
277-
initGraphHelpers('#debug1', samples_debug_i),
278-
initGraphHelpers('#debug2', samples_debug_i),
279-
initGraphHelpers('#debug3', samples_debug_i),
280-
initGraphHelpers('#debug4', samples_debug_i),
281-
];
286+
const debugHelpers = [];
287+
288+
for (let i = 0; i < sensors.debugColumns; i++) {
289+
debugHelpers.push(initGraphHelpers(`#debug${i}`, samples_debug_i));
290+
}
282291

283292
const raw_data_text_ements = {
284293
x: [],
@@ -417,9 +426,15 @@ sensors.initialize = function (callback) {
417426
}
418427

419428
function update_debug_graphs() {
420-
for (let i = 0; i < 4; i++) {
429+
for (let i = 0; i < sensors.debugColumns; i++) {
421430
updateGraphHelperSize(debugHelpers[i]);
422431

432+
// enable/disable graphs based on debug values
433+
if (FC.SENSOR_DATA.debug[i]) {
434+
$(`svg#debug${i}`).show();
435+
$(`div.plot_control.debug${i}`).show();
436+
}
437+
423438
addSampleToData(debug_data[i], samples_debug_i, [FC.SENSOR_DATA.debug[i]]);
424439
drawGraph(debugHelpers[i], debug_data[i], samples_debug_i);
425440
raw_data_text_ements.x[5 + i].text(FC.SENSOR_DATA.debug[i]);

src/tabs/sensors.html

+122-61
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@
6666
</dl>
6767
</div>
6868
<svg id="gyro">
69-
<g class="grid x" transform="translate(40, 120)"></g>
70-
<g class="grid y" transform="translate(40, 10)"></g>
71-
<g class="data" transform="translate(41, 10)"></g>
72-
<g class="axis x" transform="translate(40, 120)"></g>
73-
<g class="axis y" transform="translate(40, 10)"></g>
74-
</svg>
69+
<g class="grid x" transform="translate(40, 120)"></g>
70+
<g class="grid y" transform="translate(40, 10)"></g>
71+
<g class="data" transform="translate(41, 10)"></g>
72+
<g class="axis x" transform="translate(40, 120)"></g>
73+
<g class="axis y" transform="translate(40, 10)"></g>
74+
</svg>
7575
<div class="clear-both"></div>
7676
</div>
7777
</div>
@@ -111,12 +111,12 @@
111111
</dl>
112112
</div>
113113
<svg id="accel">
114-
<g class="grid x" transform="translate(40, 120)"></g>
115-
<g class="grid y" transform="translate(40, 10)"></g>
116-
<g class="data" transform="translate(41, 10)"></g>
117-
<g class="axis x" transform="translate(40, 120)"></g>
118-
<g class="axis y" transform="translate(40, 10)"></g>
119-
</svg>
114+
<g class="grid x" transform="translate(40, 120)"></g>
115+
<g class="grid y" transform="translate(40, 10)"></g>
116+
<g class="data" transform="translate(41, 10)"></g>
117+
<g class="axis x" transform="translate(40, 120)"></g>
118+
<g class="axis y" transform="translate(40, 10)"></g>
119+
</svg>
120120
<div class="clear-both"></div>
121121
</div>
122122
</div>
@@ -156,12 +156,12 @@
156156
</dl>
157157
</div>
158158
<svg id="mag">
159-
<g class="grid x" transform="translate(40, 120)"></g>
160-
<g class="grid y" transform="translate(40, 10)"></g>
161-
<g class="data" transform="translate(41, 10)"></g>
162-
<g class="axis x" transform="translate(40, 120)"></g>
163-
<g class="axis y" transform="translate(40, 10)"></g>
164-
</svg>
159+
<g class="grid x" transform="translate(40, 120)"></g>
160+
<g class="grid y" transform="translate(40, 10)"></g>
161+
<g class="data" transform="translate(41, 10)"></g>
162+
<g class="axis x" transform="translate(40, 120)"></g>
163+
<g class="axis y" transform="translate(40, 10)"></g>
164+
</svg>
165165
<div class="clear-both"></div>
166166
</div>
167167
</div>
@@ -193,12 +193,12 @@
193193
</div>
194194

195195
<svg id="altitude">
196-
<g class="grid x" transform="translate(40, 120)"></g>
197-
<g class="grid y" transform="translate(40, 10)"></g>
198-
<g class="data" transform="translate(41, 10)"></g>
199-
<g class="axis x" transform="translate(40, 120)"></g>
200-
<g class="axis y" transform="translate(40, 10)"></g>
201-
</svg>
196+
<g class="grid x" transform="translate(40, 120)"></g>
197+
<g class="grid y" transform="translate(40, 10)"></g>
198+
<g class="data" transform="translate(41, 10)"></g>
199+
<g class="axis x" transform="translate(40, 120)"></g>
200+
<g class="axis y" transform="translate(40, 10)"></g>
201+
</svg>
202202
<div class="clear-both"></div>
203203
</div>
204204
</div>
@@ -226,18 +226,19 @@
226226
</dl>
227227
</div>
228228
<svg id="sonar">
229-
<g class="grid x" transform="translate(40, 120)"></g>
230-
<g class="grid y" transform="translate(40, 10)"></g>
231-
<g class="data" transform="translate(41, 10)"></g>
232-
<g class="axis x" transform="translate(40, 120)"></g>
233-
<g class="axis y" transform="translate(40, 10)"></g>
234-
</svg>
229+
<g class="grid x" transform="translate(40, 120)"></g>
230+
<g class="grid y" transform="translate(40, 10)"></g>
231+
<g class="data" transform="translate(41, 10)"></g>
232+
<g class="axis x" transform="translate(40, 120)"></g>
233+
<g class="axis y" transform="translate(40, 10)"></g>
234+
</svg>
235235
<div class="clear-both"></div>
236236
</div>
237237
</div>
238+
238239
<div class="wrapper debug">
239240
<div class="gui_box grey">
240-
<div class="plot_control">
241+
<div class="plot_control debug0">
241242
<div class="title"><span i18n="sensorsDebugTitle"></span> 0</div>
242243
<dl>
243244
<dt i18n="sensorsRefresh"></dt>
@@ -258,58 +259,118 @@
258259
<dd class="x">0</dd>
259260
</dl>
260261
</div>
261-
<svg id="debug1">
262-
<g class="grid x" transform="translate(40, 120)"></g>
263-
<g class="grid y" transform="translate(40, 10)"></g>
264-
<g class="data" transform="translate(41, 10)"></g>
265-
<g class="axis x" transform="translate(40, 120)"></g>
266-
<g class="axis y" transform="translate(40, 10)"></g>
267-
</svg>
262+
<svg id="debug0">
263+
<g class="grid x" transform="translate(40, 120)"></g>
264+
<g class="grid y" transform="translate(40, 10)"></g>
265+
<g class="data" transform="translate(41, 10)"></g>
266+
<g class="axis x" transform="translate(40, 120)"></g>
267+
<g class="axis y" transform="translate(40, 10)"></g>
268+
</svg>
268269
<div class="clear-both"></div>
269-
<div class="plot_control">
270+
<div class="plot_control debug1">
270271
<div class="title"><span i18n="sensorsDebugTitle"></span> 1</div>
271272
<dl>
272273
<dt>X:</dt>
273274
<dd class="x">blue</dd>
274275
</dl>
275276
</div>
276-
<svg id="debug2">
277-
<g class="grid x" transform="translate(40, 120)"></g>
278-
<g class="grid y" transform="translate(40, 10)"></g>
279-
<g class="data" transform="translate(41, 10)"></g>
280-
<g class="axis x" transform="translate(40, 120)"></g>
281-
<g class="axis y" transform="translate(40, 10)"></g>
282-
</svg>
277+
<svg id="debug1">
278+
<g class="grid x" transform="translate(40, 120)"></g>
279+
<g class="grid y" transform="translate(40, 10)"></g>
280+
<g class="data" transform="translate(41, 10)"></g>
281+
<g class="axis x" transform="translate(40, 120)"></g>
282+
<g class="axis y" transform="translate(40, 10)"></g>
283+
</svg>
283284
<div class="clear-both"></div>
284-
<div class="plot_control">
285+
<div class="plot_control debug2">
285286
<div class="title"><span i18n="sensorsDebugTitle"></span> 2</div>
286287
<dl>
287288
<dt>X:</dt>
288289
<dd class="x">0</dd>
289290
</dl>
290291
</div>
291-
<svg id="debug3">
292-
<g class="grid x" transform="translate(40, 120)"></g>
293-
<g class="grid y" transform="translate(40, 10)"></g>
294-
<g class="data" transform="translate(41, 10)"></g>
295-
<g class="axis x" transform="translate(40, 120)"></g>
296-
<g class="axis y" transform="translate(40, 10)"></g>
297-
</svg>
292+
<svg id="debug2">
293+
<g class="grid x" transform="translate(40, 120)"></g>
294+
<g class="grid y" transform="translate(40, 10)"></g>
295+
<g class="data" transform="translate(41, 10)"></g>
296+
<g class="axis x" transform="translate(40, 120)"></g>
297+
<g class="axis y" transform="translate(40, 10)"></g>
298+
</svg>
298299
<div class="clear-both"></div>
299-
<div class="plot_control">
300+
<div class="plot_control debug3">
300301
<div class="title"><span i18n="sensorsDebugTitle"></span> 3</div>
301302
<dl>
302303
<dt>X:</dt>
303304
<dd class="x">0</dd>
304305
</dl>
305306
</div>
307+
<svg id="debug3">
308+
<g class="grid x" transform="translate(40, 120)"></g>
309+
<g class="grid y" transform="translate(40, 10)"></g>
310+
<g class="data" transform="translate(41, 10)"></g>
311+
<g class="axis x" transform="translate(40, 120)"></g>
312+
<g class="axis y" transform="translate(40, 10)"></g>
313+
</svg>
314+
<div class="clear-both"></div>
315+
<div class="plot_control debug4">
316+
<div class="title"><span i18n="sensorsDebugTitle"></span> 4</div>
317+
<dl>
318+
<dt>X:</dt>
319+
<dd class="x">0</dd>
320+
</dl>
321+
</div>
306322
<svg id="debug4">
307-
<g class="grid x" transform="translate(40, 120)"></g>
308-
<g class="grid y" transform="translate(40, 10)"></g>
309-
<g class="data" transform="translate(41, 10)"></g>
310-
<g class="axis x" transform="translate(40, 120)"></g>
311-
<g class="axis y" transform="translate(40, 10)"></g>
312-
</svg>
323+
<g class="grid x" transform="translate(40, 120)"></g>
324+
<g class="grid y" transform="translate(40, 10)"></g>
325+
<g class="data" transform="translate(41, 10)"></g>
326+
<g class="axis x" transform="translate(40, 120)"></g>
327+
<g class="axis y" transform="translate(40, 10)"></g>
328+
</svg>
329+
<div class="clear-both"></div>
330+
<div class="plot_control debug5">
331+
<div class="title"><span i18n="sensorsDebugTitle"></span> 5</div>
332+
<dl>
333+
<dt>X:</dt>
334+
<dd class="x">0</dd>
335+
</dl>
336+
</div>
337+
<svg id="debug5">
338+
<g class="grid x" transform="translate(40, 120)"></g>
339+
<g class="grid y" transform="translate(40, 10)"></g>
340+
<g class="data" transform="translate(41, 10)"></g>
341+
<g class="axis x" transform="translate(40, 120)"></g>
342+
<g class="axis y" transform="translate(40, 10)"></g>
343+
</svg>
344+
<div class="clear-both"></div>
345+
<div class="plot_control debug6">
346+
<div class="title"><span i18n="sensorsDebugTitle"></span> 6</div>
347+
<dl>
348+
<dt>X:</dt>
349+
<dd class="x">0</dd>
350+
</dl>
351+
</div>
352+
<svg id="debug6">
353+
<g class="grid x" transform="translate(40, 120)"></g>
354+
<g class="grid y" transform="translate(40, 10)"></g>
355+
<g class="data" transform="translate(41, 10)"></g>
356+
<g class="axis x" transform="translate(40, 120)"></g>
357+
<g class="axis y" transform="translate(40, 10)"></g>
358+
</svg>
359+
<div class="clear-both"></div>
360+
<div class="plot_control debug7">
361+
<div class="title"><span i18n="sensorsDebugTitle"></span> 7</div>
362+
<dl>
363+
<dt>X:</dt>
364+
<dd class="x">0</dd>
365+
</dl>
366+
</div>
367+
<svg id="debug7">
368+
<g class="grid x" transform="translate(40, 120)"></g>
369+
<g class="grid y" transform="translate(40, 10)"></g>
370+
<g class="data" transform="translate(41, 10)"></g>
371+
<g class="axis x" transform="translate(40, 120)"></g>
372+
<g class="axis y" transform="translate(40, 10)"></g>
373+
</svg>
313374
</div>
314375
</div>
315376
</div>

0 commit comments

Comments
 (0)