Skip to content

Commit

Permalink
Add missing debugs (#671)
Browse files Browse the repository at this point in the history
* Add missing debugs

* Add more debug
  • Loading branch information
haslinghuis authored Dec 3, 2023
1 parent 2cbc073 commit 31e6234
Show file tree
Hide file tree
Showing 3 changed files with 303 additions and 9 deletions.
11 changes: 11 additions & 0 deletions js/flightlog_fielddefs.js
Original file line number Diff line number Diff line change
Expand Up @@ -346,9 +346,20 @@ let
"GPS_RESCUE_VELOCITY",
"GPS_RESCUE_HEADING",
"GPS_RESCUE_TRACKING",
"GPS_CONNECTION",
"ATTITUDE",
"VTX_MSP",
"GPS_DOP",
"FAILSAFE",
"GYRO_CALIBRATION",
"ANGLE_MODE",
"ANGLE_TARGET",
"CURRENT_ANGLE",
"DSHOT_TELEMETRY_COUNTS",
"RPM_LIMIT",
"RC_STATS",
"MAG_CALIB",
"MAG_TASK_RATE",
]),

SUPER_EXPO_YAW = makeReadOnly([
Expand Down
116 changes: 116 additions & 0 deletions js/flightlog_fields_presenter.js
Original file line number Diff line number Diff line change
Expand Up @@ -990,6 +990,17 @@ function FlightLogFieldPresenter() {
'debug[6]':'Not Used',
'debug[7]':'Not Used',
},
'GPS_CONNECTION' : {
'debug[all]':'GPS Connection',
'debug[0]':'Nav Model',
'debug[1]':'GPS Nav interval',
'debug[2]':'Task timer',
'debug[3]':'Baud Rate / FC interval',
'debug[4]':'State*100 +SubState',
'debug[5]':'ExecuteTime',
'debug[6]':'Ack State',
'debug[7]':'Rx buffer size',
},
'ATTITUDE' : {
'debug[all]':'Attitude',
'debug[0]':'accADC X',
Expand Down Expand Up @@ -1023,6 +1034,83 @@ function FlightLogFieldPresenter() {
'debug[6]':'Not Used',
'debug[7]':'Not Used',
},
'FAILSAFE' : {
'debug[all]': 'Failsafe',
'debug[0]': 'Failsafe Phase switch',
'debug[1]': 'Failsafe State',
'debug[2]': 'Receiving data from Rx',
'debug[3]': 'Failsafe Phase',
},
'GYRO_CALIBRATION' : {
'debug[all]': 'Gyro Calibration',
'debug[0]': 'Gyro Calibration X',
'debug[1]': 'Gyro Calibration Y',
'debug[2]': 'Gyro Calibration Z',
'debug[3]': 'Calibration Cycles remaining',
},
'ANGLE_MODE' : {
'debug[all]': 'Angle Mode',
'debug[0]': 'Angle Target',
'debug[1]': 'Angle Error',
'debug[2]': 'Angle Feedforward',
'debug[3]': 'Angle Current',
},
'ANGLE_TARGET' : {
'debug[all]': 'Angle Target',
'debug[0]': 'Angle Target',
'debug[1]': 'Sin Angle',
'debug[2]': 'Current PID Setpoint',
'debug[3]': 'Angle Current',
},
'CURRENT_ANGLE' : {
'debug[all]': 'Current Angle',
'debug[0]': 'Current Angle X',
'debug[1]': 'Current Angle Y',
'debug[2]': 'Current Angle Z',
},
'DSHOT_TELEMETRY_COUNTS' : {
'debug[all]': 'DShot Telemetry Counts',
'debug[0]': 'DShot Telemetry Debug[0] + 1',
'debug[1]': 'DShot Telemetry Debug[1] + 1',
'debug[2]': 'DShot Telemetry Debug[2] + 1',
'debug[3]': 'Preamble Skip',
},
'RPM_LIMIT' : {
'debug[all]': 'RPM Limit',
'debug[0]': 'Average RPM',
'debug[1]': 'Average RPM (unsmoothed)',
'debug[2]': 'RPM Limit throttle scale',
'debug[3]': 'Throttle',
'debug[4]': 'Error',
'debug[5]': 'Proportional',
'debug[6]': 'Integral',
'debug[7]': 'Derivative',
},
'RC_STATS' : {
'debug[all]': 'RC Stats',
'debug[0]': 'Average Throttle',
},
'MAG_CALIB' : {
'debug[all]': 'Mag Calibration',
'debug[0]': 'Mag X',
'debug[1]': 'Mag Y',
'debug[2]': 'Mag Z',
'debug[3]': 'Field Strength',
'debug[4]': 'Estimated Mag Bias X',
'debug[5]': 'Estimated Mag Bias Y',
'debug[6]': 'Estimated Mag Bias Z',
'debug[7]': 'Lambda',
},
'MAG_TASK_RATE' : {
'debug[all]': 'Mag Task Rate',
'debug[0]': 'Task Rate (Hz)',
'debug[1]': 'Actual Data Rate (Hz)',
'debug[2]': 'Data Interval (Us)',
'debug[3]': 'Execute Time (Us)',
'debug[4]': 'Bus Busy',
'debug[5]': 'Read State',
'debug[6]': 'Task Time (Us)',
},
};

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

if (firmwareType === FIRMWARE_TYPE_BETAFLIGHT) {

if (semver.gte(firmwareVersion, '4.4.0')) {
DEBUG_FRIENDLY_FIELD_NAMES.BARO = {
'debug[all]':'Debug Barometer',
Expand Down Expand Up @@ -1724,6 +1813,21 @@ function FlightLogFieldPresenter() {
default:
return value.toFixed(0);
}
case 'GPS__CONNECTION':
switch (fieldName) {
case 'debug[0]': // Flight model
case 'debug[1]': // GPS Nav packet interval
case 'debug[2]': // FC Nav data time
return value.toFixed(0);
case 'debug[3]': // Baud Rate / Nav interval
return (value * 100).toFixed(0);
case 'debug[4]': // main state * 100 + subState
case 'debug[5]': // executeTimeUs
case 'debug[6]': // ack state
case 'debug[7]': // serial Rx buffer
default:
return value.toFixed(0);
}
case 'ATTITUDE':
switch (fieldName) {
case 'debug[0]': // accADC X
Expand Down Expand Up @@ -1752,6 +1856,18 @@ function FlightLogFieldPresenter() {
default:
return (value / 100).toFixed(2);
}
case 'FAILSAFE':
return value.toFixed(0);
case 'GYRO_CALIBRATION':
return value.toFixed(0);
case 'ANGLE_MODE':
return value.toFixed(0);
case 'ANGLE_TARGET':
return value.toFixed(0);
case 'CURRENT_ANGLE':
return value.toFixed(0);
case 'DSHOT_TELEMETRY_COUNTS':
return value.toFixed(0);
}
return value.toFixed(0);
}
Expand Down
185 changes: 176 additions & 9 deletions js/graph_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -904,6 +904,50 @@ GraphConfig.load = function(config) {
default:
return getCurveForMinMaxFields(fieldName);
}
case 'GPS_CONNECTION':
switch (fieldName) {
case 'debug[0]': // GPS flight model
case 'debug[1]': // Nav Data interval
return {
offset: 0,
power: 1.0,
inputRange: 200,
outputRange: 1.0,
};
case 'debug[2]': // task interval
return {
offset: 0,
power: 1.0,
inputRange: 200,
outputRange: 1.0,
};
case 'debug[3]': // Baud rate / resolved packet interval
case 'debug[4]': // State*100 + SubState
return getCurveForMinMaxFields(fieldName);
case 'debug[5]': // ExecuteTimeUs
return {
offset: 0,
power: 1.0,
inputRange: 100,
outputRange: 1.0,
};
case 'debug[6]': // ackState
return {
offset: 0,
power: 1.0,
inputRange: 10,
outputRange: 1.0,
};
case 'debug[7]': // Incoming buffer
return {
offset: 0,
power: 1.0,
inputRange: 100,
outputRange: 1.0,
};
default:
return getCurveForMinMaxFields(fieldName);
}
case 'ALTITUDE':
switch (fieldName) {
case 'debug[0]': // GPS Trust
Expand Down Expand Up @@ -931,6 +975,27 @@ GraphConfig.load = function(config) {
default:
return getCurveForMinMaxFields(fieldName);
}
case 'BARO':
switch (fieldName) {
case 'debug[0]': // Baro state 0-10
return {
offset: 0,
power: 1.0,
inputRange: 20,
outputRange: 1.0,
};
case 'debug[1]': // Baro Temp
case 'debug[2]': // Baro Raw
case 'debug[3]': // Baro smoothed
return {
offset: 0,
power: 1.0,
inputRange: 2000,
outputRange: 1.0,
};
default:
return getCurveForMinMaxFields(fieldName);
}
case 'GPS_DOP':
switch (fieldName) {
case 'debug[0]': // Number of Satellites (now this is in normal GPS data, maybe gpsTrust?)
Expand All @@ -946,29 +1011,131 @@ GraphConfig.load = function(config) {
default:
return getCurveForMinMaxFields(fieldName);
}

case 'BARO':
case 'FAILSAFE':
switch (fieldName) {
case 'debug[0]': // Baro state 0-10
case 'debug[0]':
case 'debug[1]':
case 'debug[2]':
case 'debug[3]':
return {
offset: 0,
power: 1.0,
inputRange: 20,
inputRange: 200,
outputRange: 1.0,
};
case 'debug[1]': // Baro Temp
case 'debug[2]': // Baro Raw
case 'debug[3]': // Baro smoothed
default:
return getCurveForMinMaxFields(fieldName);
}
case 'ANGLE_MODE':
switch (fieldName) {
case 'debug[0]': // angle target
case 'debug[3]': // angle achieved
return {
offset: 0,
power: 1.0,
inputRange: 1000,
outputRange: 1.0,
};
case 'debug[1]': // angle error correction
case 'debug[2]': // angle feedforward
return {
offset: 0,
power: 1.0,
inputRange: 5000,
outputRange: 1.0,
};
default:
return getCurveForMinMaxFields(fieldName);
}
case 'DSHOT_TELEMETRY_COUNTS':
switch (fieldName) {
case 'debug[0]':
case 'debug[1]':
case 'debug[2]':
case 'debug[3]':
return {
offset: 0,
power: 1.0,
inputRange: 200,
outputRange: 1.0,
};
default:
return getCurveForMinMaxFields(fieldName);
}
case 'MAG_CALIB':
switch (fieldName) {
case 'debug[0]': // X
case 'debug[1]': // Y
case 'debug[2]': // Z
case 'debug[3]': // Field
return {
offset: 0,
power: 1.0,
inputRange: 2000,
outputRange: 1.0,
};
case 'debug[4]': // X Cal
case 'debug[5]': // Y Cal
case 'debug[6]': // Z Cal
return {
offset: 0,
power: 1.0,
inputRange: 500,
outputRange: 1.0,
};
case 'debug[7]': // Lambda
return {
offset: -2000,
power: 1.0,
inputRange: 2000,
outputRange: 1.0,
};
default:
return getCurveForMinMaxFields(fieldName);
}
}
}
case 'MAG_TASK_RATE':
switch (fieldName) {
case 'debug[0]': // Task Rate
case 'debug[1]': // Data Rate
return {
offset: 0,
power: 1.0,
inputRange: 1000,
outputRange: 1.0,
};
case 'debug[2]': // Data Interval
return {
offset: 0,
power: 1.0,
inputRange: 10000,
outputRange: 1.0,
};
case 'debug[3]': // Execute Time
return {
offset: 0,
power: 1.0,
inputRange: 20,
outputRange: 1.0,
};
case 'debug[4]': // Bus Busy Check
case 'debug[5]': // Read State Check
return {
offset: 0,
power: 1.0,
inputRange: 2,
outputRange: 1.0,
};
case 'debug[6]': // Time since previous task uS
return {
offset: 0,
power: 1.0,
inputRange: 10000,
outputRange: 1.0,
};
default:
return getCurveForMinMaxFields(fieldName);
}
}
}
// if not found above then
// Scale and center the field based on the whole-log observed ranges for that field
Expand Down

0 comments on commit 31e6234

Please sign in to comment.