Skip to content

Commit 91f355d

Browse files
committed
4.4 update Altitude, Baro, RTH; Rescue Altitude, Heading and Tracking debugs
1 parent 0c22a81 commit 91f355d

File tree

2 files changed

+250
-4
lines changed

2 files changed

+250
-4
lines changed

js/flightlog_fields_presenter.js

Lines changed: 79 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,27 @@ function FlightLogFieldPresenter() {
626626
'debug[2]':'Frequency Offset',
627627
'debug[3]':'Phase Shift',
628628
},
629+
'GPS_RESCUE_VELOCITY' : {
630+
'debug[all]':'GPS Rescue Velocity',
631+
'debug[0]':'Velocity P',
632+
'debug[1]':'Velocity D',
633+
'debug[2]':'Velocity to Home',
634+
'debug[3]':'Target Velocity',
635+
},
636+
'GPS_RESCUE_HEADING' : {
637+
'debug[all]':'GPS Rescue Heading',
638+
'debug[0]':'Rescue Yaw',
639+
'debug[1]':'Rescue Roll',
640+
'debug[2]':'Attitude',
641+
'debug[3]':'Angle to home',
642+
},
643+
'GPS_RESCUE_TRACKING' : {
644+
'debug[all]':'GPS Rescue Tracking',
645+
'debug[0]':'Velocity to home',
646+
'debug[1]':'Target velocity',
647+
'debug[2]':'Altitude',
648+
'debug[3]':'Target altitude',
649+
},
629650
};
630651

631652
let DEBUG_FRIENDLY_FIELD_NAMES = null;
@@ -635,7 +656,15 @@ function FlightLogFieldPresenter() {
635656
DEBUG_FRIENDLY_FIELD_NAMES = {...DEBUG_FRIENDLY_FIELD_NAMES_INITIAL};
636657

637658
if (firmwareType === FIRMWARE_TYPE_BETAFLIGHT) {
638-
if (semver.gte(firmwareVersion, '4.3.0')) {
659+
if (semver.gte(firmwareVersion, '4.4.0')) {
660+
DEBUG_FRIENDLY_FIELD_NAMES.RTH = {
661+
'debug[all]':'RTH Rescue codes',
662+
'debug[0]':'Pitch angle, deg',
663+
'debug[1]':'Rescue Phase',
664+
'debug[2]':'Failure code',
665+
'debug[3]':'Failure timers',
666+
};
667+
} else if (semver.gte(firmwareVersion, '4.3.0')) {
639668
DEBUG_FRIENDLY_FIELD_NAMES.FEEDFORWARD = {
640669
'debug[all]':'Feedforward [roll]',
641670
'debug[0]':'Setpoint, un-smoothed [roll]',
@@ -678,6 +707,13 @@ function FlightLogFieldPresenter() {
678707
'debug[2]':'Notch 3 Center Freq [dbg-axis]',
679708
'debug[3]':'Gyro Pre Dyn Notch [dbg-axis]',
680709
};
710+
DEBUG_FRIENDLY_FIELD_NAMES.GPS_RESCUE_THROTTLE_PID = {
711+
'debug[all]':'GPS Rescue Altitude',
712+
'debug[0]':'Throttle P',
713+
'debug[1]':'Throttle D',
714+
'debug[2]':'Altitude',
715+
'debug[3]':'Target Altitude',
716+
};
681717
} else if (semver.gte(firmwareVersion, '4.2.0')) {
682718
DEBUG_FRIENDLY_FIELD_NAMES.FF_INTERPOLATED = {
683719
'debug[all]':'Feedforward [roll]',
@@ -1002,7 +1038,7 @@ function FlightLogFieldPresenter() {
10021038
}
10031039
case 'RTH':
10041040
switch(fieldName) {
1005-
case 'debug[1]':
1041+
case 'debug[0]': // pitch angle +/-4000 means +/- 40 deg
10061042
return (value / 100).toFixed(1) + 'deg';
10071043
default:
10081044
return value.toFixed(0);
@@ -1058,8 +1094,6 @@ function FlightLogFieldPresenter() {
10581094
default:
10591095
return value.toFixed(0) + "Hz";
10601096
}
1061-
case 'GPS_RESCUE_THROTTLE_PID':
1062-
return value.toFixed(0);
10631097
case 'DYN_IDLE':
10641098
switch (fieldName) {
10651099
case 'debug[3]': // minRPS
@@ -1128,6 +1162,47 @@ function FlightLogFieldPresenter() {
11281162
default:
11291163
return value.toFixed(0) + 'us';
11301164
}
1165+
case 'GPS_RESCUE_THROTTLE_PID':
1166+
switch (fieldName) {
1167+
case 'debug[0]': // Throttle P added uS
1168+
case 'debug[1]': // Throttle D added * uS
1169+
return value.toFixed(0) + 'uS';
1170+
case 'debug[2]': // current altitude in m
1171+
case 'debug[3]': // TARGET altitude in m
1172+
return (value / 100).toFixed(1) + 'm';
1173+
default:
1174+
return value.toFixed(0);
1175+
}
1176+
case 'GPS_RESCUE_VELOCITY':
1177+
switch (fieldName) {
1178+
case 'debug[0]': // Pitch P degrees * 100
1179+
case 'debug[1]': // Pitch D degrees * 100
1180+
return (value / 100).toFixed(1) + 'deg';
1181+
case 'debug[2]': // velocity to home cm/s
1182+
case 'debug[3]': // velocity target cm/s
1183+
return (value / 100).toFixed(1) + 'm/s';
1184+
}
1185+
case 'GPS_RESCUE_HEADING':
1186+
switch (fieldName) {
1187+
case 'debug[0]': // Rescue yaw rate deg/s * 10 up to +/- 90
1188+
return (value / 10).toFixed(1) + 'deg/s';
1189+
case 'debug[1]': // Rescue roll deg * 100 up to +/- 20 deg
1190+
return (value / 100).toFixed(1) + 'deg';
1191+
case 'debug[2]': // Attitude in degrees * 10
1192+
case 'debug[3]': // Angle to home in degrees * 10
1193+
return (value / 10).toFixed(1) + 'deg';
1194+
}
1195+
case 'GPS_RESCUE_TRACKING':
1196+
switch (fieldName) {
1197+
case 'debug[0]': // velocity to home cm/s
1198+
case 'debug[1]': // velocity target cm/s
1199+
return (value / 100).toFixed(1) + 'm/s';
1200+
case 'debug[2]': // altitude cm
1201+
case 'debug[3]': // altitude target cm
1202+
return (value / 100).toFixed(1) + 'm';
1203+
default:
1204+
return value.toFixed(0);
1205+
}
11311206
}
11321207
return value.toFixed(0);
11331208
}

js/graph_config.js

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -737,6 +737,171 @@ GraphConfig.load = function(config) {
737737
default:
738738
return getCurveForMinMaxFields(fieldName);
739739
}
740+
case 'GPS_RESCUE_THROTTLE_PID':
741+
switch (fieldName) {
742+
case 'debug[0]': // Throttle P uS added
743+
case 'debug[1]': // Throttle D uS added
744+
return {
745+
offset: 0,
746+
power: 1.0,
747+
inputRange: 200,
748+
outputRange: 1.0,
749+
};
750+
case 'debug[2]': // Altitude
751+
case 'debug[3]': // Target Altitude
752+
return {
753+
offset: 0,
754+
power: 1.0,
755+
inputRange: 5000,
756+
outputRange: 1.0,
757+
};
758+
default:
759+
return getCurveForMinMaxFields(fieldName);
760+
}
761+
case 'GPS_RESCUE_VELOCITY':
762+
switch (fieldName) {
763+
case 'debug[0]': // Pitch P deg * 100
764+
case 'debug[1]': // Pitch D deg * 100
765+
return {
766+
offset: 0,
767+
power: 1.0,
768+
inputRange: 2000,
769+
outputRange: 1.0,
770+
};
771+
case 'debug[2]': // Velocity in cm/s
772+
case 'debug[3]': // Velocity to home in cm/s
773+
return {
774+
offset: 0,
775+
power: 1.0,
776+
inputRange: 500,
777+
outputRange: 1.0,
778+
};
779+
default:
780+
return getCurveForMinMaxFields(fieldName);
781+
}
782+
case 'GPS_RESCUE_HEADING':
783+
switch (fieldName) {
784+
case 'debug[0]': // Rescue yaw rate deg/s * 10 up to +/- 90
785+
return {
786+
offset: 0,
787+
power: 1.0,
788+
inputRange: 1000,
789+
outputRange: 1.0,
790+
};
791+
case 'debug[1]': // Rescue roll deg * 100 up to +/- 20 deg
792+
return {
793+
offset: 0,
794+
power: 1.0,
795+
inputRange: 10000,
796+
outputRange: 1.0,
797+
};
798+
case 'debug[2]': // Yaw attitude * 10
799+
case 'debug[3]': // Angle to home * 10
800+
return {
801+
offset: -1800,
802+
power: 1.0,
803+
inputRange: 1800,
804+
outputRange: 1.0,
805+
};
806+
default:
807+
return getCurveForMinMaxFields(fieldName);
808+
}
809+
case 'RTH':
810+
switch (fieldName) {
811+
case 'debug[0]': // Pitch angle, deg * 100
812+
return {
813+
offset: 0,
814+
power: 1.0,
815+
inputRange: 4000,
816+
outputRange: 1.0,
817+
};
818+
case 'debug[1]': // Rescue Phase
819+
case 'debug[2]': // Failure code
820+
return {
821+
offset: -10,
822+
power: 1.0,
823+
inputRange: 10,
824+
outputRange: 1.0,
825+
};
826+
case 'debug[3]': // Failure counters coded
827+
return {
828+
offset: -2000,
829+
power: 1.0,
830+
inputRange: 2000,
831+
outputRange: 1.0,
832+
};
833+
default:
834+
return getCurveForMinMaxFields(fieldName);
835+
}
836+
case 'GPS_RESCUE_TRACKING':
837+
switch (fieldName) {
838+
case 'debug[0]': // velocity to home cm/s
839+
case 'debug[1]': // target velocity cm/s
840+
return {
841+
offset: 0,
842+
power: 1.0,
843+
inputRange: 500,
844+
outputRange: 1.0,
845+
};
846+
case 'debug[2]': // altitude m
847+
case 'debug[3]': // Target altitude m
848+
return {
849+
offset: 0,
850+
power: 1.0,
851+
inputRange: 5000,
852+
outputRange: 1.0,
853+
};
854+
default:
855+
return getCurveForMinMaxFields(fieldName);
856+
}
857+
case 'ALTITUDE':
858+
switch (fieldName) {
859+
case 'debug[0]': // GPS Trust
860+
return {
861+
offset: 0,
862+
power: 1.0,
863+
inputRange: 200,
864+
outputRange: 1.0,
865+
};
866+
case 'debug[1]': // Baro Alt
867+
case 'debug[2]': // GPS Alt
868+
return {
869+
offset: 0,
870+
power: 1.0,
871+
inputRange: 5000,
872+
outputRange: 1.0,
873+
};
874+
case 'debug[3]': // Vario
875+
return {
876+
offset: 0,
877+
power: 1.0,
878+
inputRange: 500,
879+
outputRange: 1.0,
880+
};
881+
default:
882+
return getCurveForMinMaxFields(fieldName);
883+
}
884+
case 'BARO':
885+
switch (fieldName) {
886+
case 'debug[0]': // Baro state 0-10
887+
return {
888+
offset: 0,
889+
power: 1.0,
890+
inputRange: 20,
891+
outputRange: 1.0,
892+
};
893+
case 'debug[1]': // Baro Temp
894+
case 'debug[2]': // Baro Raw
895+
case 'debug[3]': // Baro smoothed
896+
return {
897+
offset: 0,
898+
power: 1.0,
899+
inputRange: 2000,
900+
outputRange: 1.0,
901+
};
902+
default:
903+
return getCurveForMinMaxFields(fieldName);
904+
}
740905
}
741906
}
742907
// if not found above then
@@ -789,6 +954,12 @@ GraphConfig.load = function(config) {
789954
if (!flightLog.isFieldDisabled().ACC) {
790955
EXAMPLE_GRAPHS.push({label: "Accelerometers",fields: ["accSmooth[all]"]});
791956
}
957+
if (!flightLog.isFieldDisabled().HEADING) {
958+
EXAMPLE_GRAPHS.push({label: "Heading",fields: ["heading[all]"]});
959+
}
960+
if (!flightLog.isFieldDisabled().MAGNETOMETER) {
961+
EXAMPLE_GRAPHS.push({label: "Compass",fields: ["magADC[all]"]});
962+
}
792963
if (!flightLog.isFieldDisabled().DEBUG) {
793964
EXAMPLE_GRAPHS.push({label: "Debug",fields: ["debug[all]"]});
794965
}

0 commit comments

Comments
 (0)