Skip to content

Commit 31e6234

Browse files
authored
Add missing debugs (#671)
* Add missing debugs * Add more debug
1 parent 2cbc073 commit 31e6234

File tree

3 files changed

+303
-9
lines changed

3 files changed

+303
-9
lines changed

js/flightlog_fielddefs.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,20 @@ let
346346
"GPS_RESCUE_VELOCITY",
347347
"GPS_RESCUE_HEADING",
348348
"GPS_RESCUE_TRACKING",
349+
"GPS_CONNECTION",
349350
"ATTITUDE",
350351
"VTX_MSP",
351352
"GPS_DOP",
353+
"FAILSAFE",
354+
"GYRO_CALIBRATION",
355+
"ANGLE_MODE",
356+
"ANGLE_TARGET",
357+
"CURRENT_ANGLE",
358+
"DSHOT_TELEMETRY_COUNTS",
359+
"RPM_LIMIT",
360+
"RC_STATS",
361+
"MAG_CALIB",
362+
"MAG_TASK_RATE",
352363
]),
353364

354365
SUPER_EXPO_YAW = makeReadOnly([

js/flightlog_fields_presenter.js

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -990,6 +990,17 @@ function FlightLogFieldPresenter() {
990990
'debug[6]':'Not Used',
991991
'debug[7]':'Not Used',
992992
},
993+
'GPS_CONNECTION' : {
994+
'debug[all]':'GPS Connection',
995+
'debug[0]':'Nav Model',
996+
'debug[1]':'GPS Nav interval',
997+
'debug[2]':'Task timer',
998+
'debug[3]':'Baud Rate / FC interval',
999+
'debug[4]':'State*100 +SubState',
1000+
'debug[5]':'ExecuteTime',
1001+
'debug[6]':'Ack State',
1002+
'debug[7]':'Rx buffer size',
1003+
},
9931004
'ATTITUDE' : {
9941005
'debug[all]':'Attitude',
9951006
'debug[0]':'accADC X',
@@ -1023,6 +1034,83 @@ function FlightLogFieldPresenter() {
10231034
'debug[6]':'Not Used',
10241035
'debug[7]':'Not Used',
10251036
},
1037+
'FAILSAFE' : {
1038+
'debug[all]': 'Failsafe',
1039+
'debug[0]': 'Failsafe Phase switch',
1040+
'debug[1]': 'Failsafe State',
1041+
'debug[2]': 'Receiving data from Rx',
1042+
'debug[3]': 'Failsafe Phase',
1043+
},
1044+
'GYRO_CALIBRATION' : {
1045+
'debug[all]': 'Gyro Calibration',
1046+
'debug[0]': 'Gyro Calibration X',
1047+
'debug[1]': 'Gyro Calibration Y',
1048+
'debug[2]': 'Gyro Calibration Z',
1049+
'debug[3]': 'Calibration Cycles remaining',
1050+
},
1051+
'ANGLE_MODE' : {
1052+
'debug[all]': 'Angle Mode',
1053+
'debug[0]': 'Angle Target',
1054+
'debug[1]': 'Angle Error',
1055+
'debug[2]': 'Angle Feedforward',
1056+
'debug[3]': 'Angle Current',
1057+
},
1058+
'ANGLE_TARGET' : {
1059+
'debug[all]': 'Angle Target',
1060+
'debug[0]': 'Angle Target',
1061+
'debug[1]': 'Sin Angle',
1062+
'debug[2]': 'Current PID Setpoint',
1063+
'debug[3]': 'Angle Current',
1064+
},
1065+
'CURRENT_ANGLE' : {
1066+
'debug[all]': 'Current Angle',
1067+
'debug[0]': 'Current Angle X',
1068+
'debug[1]': 'Current Angle Y',
1069+
'debug[2]': 'Current Angle Z',
1070+
},
1071+
'DSHOT_TELEMETRY_COUNTS' : {
1072+
'debug[all]': 'DShot Telemetry Counts',
1073+
'debug[0]': 'DShot Telemetry Debug[0] + 1',
1074+
'debug[1]': 'DShot Telemetry Debug[1] + 1',
1075+
'debug[2]': 'DShot Telemetry Debug[2] + 1',
1076+
'debug[3]': 'Preamble Skip',
1077+
},
1078+
'RPM_LIMIT' : {
1079+
'debug[all]': 'RPM Limit',
1080+
'debug[0]': 'Average RPM',
1081+
'debug[1]': 'Average RPM (unsmoothed)',
1082+
'debug[2]': 'RPM Limit throttle scale',
1083+
'debug[3]': 'Throttle',
1084+
'debug[4]': 'Error',
1085+
'debug[5]': 'Proportional',
1086+
'debug[6]': 'Integral',
1087+
'debug[7]': 'Derivative',
1088+
},
1089+
'RC_STATS' : {
1090+
'debug[all]': 'RC Stats',
1091+
'debug[0]': 'Average Throttle',
1092+
},
1093+
'MAG_CALIB' : {
1094+
'debug[all]': 'Mag Calibration',
1095+
'debug[0]': 'Mag X',
1096+
'debug[1]': 'Mag Y',
1097+
'debug[2]': 'Mag Z',
1098+
'debug[3]': 'Field Strength',
1099+
'debug[4]': 'Estimated Mag Bias X',
1100+
'debug[5]': 'Estimated Mag Bias Y',
1101+
'debug[6]': 'Estimated Mag Bias Z',
1102+
'debug[7]': 'Lambda',
1103+
},
1104+
'MAG_TASK_RATE' : {
1105+
'debug[all]': 'Mag Task Rate',
1106+
'debug[0]': 'Task Rate (Hz)',
1107+
'debug[1]': 'Actual Data Rate (Hz)',
1108+
'debug[2]': 'Data Interval (Us)',
1109+
'debug[3]': 'Execute Time (Us)',
1110+
'debug[4]': 'Bus Busy',
1111+
'debug[5]': 'Read State',
1112+
'debug[6]': 'Task Time (Us)',
1113+
},
10261114
};
10271115

10281116
let DEBUG_FRIENDLY_FIELD_NAMES = null;
@@ -1032,6 +1120,7 @@ function FlightLogFieldPresenter() {
10321120
DEBUG_FRIENDLY_FIELD_NAMES = {...DEBUG_FRIENDLY_FIELD_NAMES_INITIAL};
10331121

10341122
if (firmwareType === FIRMWARE_TYPE_BETAFLIGHT) {
1123+
10351124
if (semver.gte(firmwareVersion, '4.4.0')) {
10361125
DEBUG_FRIENDLY_FIELD_NAMES.BARO = {
10371126
'debug[all]':'Debug Barometer',
@@ -1724,6 +1813,21 @@ function FlightLogFieldPresenter() {
17241813
default:
17251814
return value.toFixed(0);
17261815
}
1816+
case 'GPS__CONNECTION':
1817+
switch (fieldName) {
1818+
case 'debug[0]': // Flight model
1819+
case 'debug[1]': // GPS Nav packet interval
1820+
case 'debug[2]': // FC Nav data time
1821+
return value.toFixed(0);
1822+
case 'debug[3]': // Baud Rate / Nav interval
1823+
return (value * 100).toFixed(0);
1824+
case 'debug[4]': // main state * 100 + subState
1825+
case 'debug[5]': // executeTimeUs
1826+
case 'debug[6]': // ack state
1827+
case 'debug[7]': // serial Rx buffer
1828+
default:
1829+
return value.toFixed(0);
1830+
}
17271831
case 'ATTITUDE':
17281832
switch (fieldName) {
17291833
case 'debug[0]': // accADC X
@@ -1752,6 +1856,18 @@ function FlightLogFieldPresenter() {
17521856
default:
17531857
return (value / 100).toFixed(2);
17541858
}
1859+
case 'FAILSAFE':
1860+
return value.toFixed(0);
1861+
case 'GYRO_CALIBRATION':
1862+
return value.toFixed(0);
1863+
case 'ANGLE_MODE':
1864+
return value.toFixed(0);
1865+
case 'ANGLE_TARGET':
1866+
return value.toFixed(0);
1867+
case 'CURRENT_ANGLE':
1868+
return value.toFixed(0);
1869+
case 'DSHOT_TELEMETRY_COUNTS':
1870+
return value.toFixed(0);
17551871
}
17561872
return value.toFixed(0);
17571873
}

js/graph_config.js

Lines changed: 176 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -904,6 +904,50 @@ GraphConfig.load = function(config) {
904904
default:
905905
return getCurveForMinMaxFields(fieldName);
906906
}
907+
case 'GPS_CONNECTION':
908+
switch (fieldName) {
909+
case 'debug[0]': // GPS flight model
910+
case 'debug[1]': // Nav Data interval
911+
return {
912+
offset: 0,
913+
power: 1.0,
914+
inputRange: 200,
915+
outputRange: 1.0,
916+
};
917+
case 'debug[2]': // task interval
918+
return {
919+
offset: 0,
920+
power: 1.0,
921+
inputRange: 200,
922+
outputRange: 1.0,
923+
};
924+
case 'debug[3]': // Baud rate / resolved packet interval
925+
case 'debug[4]': // State*100 + SubState
926+
return getCurveForMinMaxFields(fieldName);
927+
case 'debug[5]': // ExecuteTimeUs
928+
return {
929+
offset: 0,
930+
power: 1.0,
931+
inputRange: 100,
932+
outputRange: 1.0,
933+
};
934+
case 'debug[6]': // ackState
935+
return {
936+
offset: 0,
937+
power: 1.0,
938+
inputRange: 10,
939+
outputRange: 1.0,
940+
};
941+
case 'debug[7]': // Incoming buffer
942+
return {
943+
offset: 0,
944+
power: 1.0,
945+
inputRange: 100,
946+
outputRange: 1.0,
947+
};
948+
default:
949+
return getCurveForMinMaxFields(fieldName);
950+
}
907951
case 'ALTITUDE':
908952
switch (fieldName) {
909953
case 'debug[0]': // GPS Trust
@@ -931,6 +975,27 @@ GraphConfig.load = function(config) {
931975
default:
932976
return getCurveForMinMaxFields(fieldName);
933977
}
978+
case 'BARO':
979+
switch (fieldName) {
980+
case 'debug[0]': // Baro state 0-10
981+
return {
982+
offset: 0,
983+
power: 1.0,
984+
inputRange: 20,
985+
outputRange: 1.0,
986+
};
987+
case 'debug[1]': // Baro Temp
988+
case 'debug[2]': // Baro Raw
989+
case 'debug[3]': // Baro smoothed
990+
return {
991+
offset: 0,
992+
power: 1.0,
993+
inputRange: 2000,
994+
outputRange: 1.0,
995+
};
996+
default:
997+
return getCurveForMinMaxFields(fieldName);
998+
}
934999
case 'GPS_DOP':
9351000
switch (fieldName) {
9361001
case 'debug[0]': // Number of Satellites (now this is in normal GPS data, maybe gpsTrust?)
@@ -946,29 +1011,131 @@ GraphConfig.load = function(config) {
9461011
default:
9471012
return getCurveForMinMaxFields(fieldName);
9481013
}
949-
950-
case 'BARO':
1014+
case 'FAILSAFE':
9511015
switch (fieldName) {
952-
case 'debug[0]': // Baro state 0-10
1016+
case 'debug[0]':
1017+
case 'debug[1]':
1018+
case 'debug[2]':
1019+
case 'debug[3]':
9531020
return {
9541021
offset: 0,
9551022
power: 1.0,
956-
inputRange: 20,
1023+
inputRange: 200,
9571024
outputRange: 1.0,
9581025
};
959-
case 'debug[1]': // Baro Temp
960-
case 'debug[2]': // Baro Raw
961-
case 'debug[3]': // Baro smoothed
1026+
default:
1027+
return getCurveForMinMaxFields(fieldName);
1028+
}
1029+
case 'ANGLE_MODE':
1030+
switch (fieldName) {
1031+
case 'debug[0]': // angle target
1032+
case 'debug[3]': // angle achieved
1033+
return {
1034+
offset: 0,
1035+
power: 1.0,
1036+
inputRange: 1000,
1037+
outputRange: 1.0,
1038+
};
1039+
case 'debug[1]': // angle error correction
1040+
case 'debug[2]': // angle feedforward
1041+
return {
1042+
offset: 0,
1043+
power: 1.0,
1044+
inputRange: 5000,
1045+
outputRange: 1.0,
1046+
};
1047+
default:
1048+
return getCurveForMinMaxFields(fieldName);
1049+
}
1050+
case 'DSHOT_TELEMETRY_COUNTS':
1051+
switch (fieldName) {
1052+
case 'debug[0]':
1053+
case 'debug[1]':
1054+
case 'debug[2]':
1055+
case 'debug[3]':
1056+
return {
1057+
offset: 0,
1058+
power: 1.0,
1059+
inputRange: 200,
1060+
outputRange: 1.0,
1061+
};
1062+
default:
1063+
return getCurveForMinMaxFields(fieldName);
1064+
}
1065+
case 'MAG_CALIB':
1066+
switch (fieldName) {
1067+
case 'debug[0]': // X
1068+
case 'debug[1]': // Y
1069+
case 'debug[2]': // Z
1070+
case 'debug[3]': // Field
1071+
return {
1072+
offset: 0,
1073+
power: 1.0,
1074+
inputRange: 2000,
1075+
outputRange: 1.0,
1076+
};
1077+
case 'debug[4]': // X Cal
1078+
case 'debug[5]': // Y Cal
1079+
case 'debug[6]': // Z Cal
9621080
return {
9631081
offset: 0,
9641082
power: 1.0,
1083+
inputRange: 500,
1084+
outputRange: 1.0,
1085+
};
1086+
case 'debug[7]': // Lambda
1087+
return {
1088+
offset: -2000,
1089+
power: 1.0,
9651090
inputRange: 2000,
9661091
outputRange: 1.0,
9671092
};
9681093
default:
9691094
return getCurveForMinMaxFields(fieldName);
970-
}
971-
}
1095+
}
1096+
case 'MAG_TASK_RATE':
1097+
switch (fieldName) {
1098+
case 'debug[0]': // Task Rate
1099+
case 'debug[1]': // Data Rate
1100+
return {
1101+
offset: 0,
1102+
power: 1.0,
1103+
inputRange: 1000,
1104+
outputRange: 1.0,
1105+
};
1106+
case 'debug[2]': // Data Interval
1107+
return {
1108+
offset: 0,
1109+
power: 1.0,
1110+
inputRange: 10000,
1111+
outputRange: 1.0,
1112+
};
1113+
case 'debug[3]': // Execute Time
1114+
return {
1115+
offset: 0,
1116+
power: 1.0,
1117+
inputRange: 20,
1118+
outputRange: 1.0,
1119+
};
1120+
case 'debug[4]': // Bus Busy Check
1121+
case 'debug[5]': // Read State Check
1122+
return {
1123+
offset: 0,
1124+
power: 1.0,
1125+
inputRange: 2,
1126+
outputRange: 1.0,
1127+
};
1128+
case 'debug[6]': // Time since previous task uS
1129+
return {
1130+
offset: 0,
1131+
power: 1.0,
1132+
inputRange: 10000,
1133+
outputRange: 1.0,
1134+
};
1135+
default:
1136+
return getCurveForMinMaxFields(fieldName);
1137+
}
1138+
}
9721139
}
9731140
// if not found above then
9741141
// Scale and center the field based on the whole-log observed ranges for that field

0 commit comments

Comments
 (0)