@@ -1441,6 +1441,50 @@ FlightLogFieldPresenter.adjustDebugDefsList = function (
1441
1441
'debug[6]' : 'pidD' ,
1442
1442
'debug[7]' : 'pidA' ,
1443
1443
} ;
1444
+ DEBUG_FRIENDLY_FIELD_NAMES . FEEDFORWARD = {
1445
+ "debug[all]" : "Feedforward [debug_axis]" ,
1446
+ "debug[0]" : "Setpoint, un-smoothed" ,
1447
+ "debug[1]" : "Delta, smoothed" ,
1448
+ "debug[2]" : "Boost, smoothed" ,
1449
+ "debug[3]" : "rcCommand Delta" ,
1450
+ "debug[4]" : "Jitter Attenuator" ,
1451
+ "debug[5]" : "Duplicate Flag" ,
1452
+ "debug[6]" : "Yaw FF BaseAmt" ,
1453
+ "debug[7]" : "Yaw FF HoldAmt" ,
1454
+ } ;
1455
+ DEBUG_FRIENDLY_FIELD_NAMES . FEEDFORWARD_LIMIT = {
1456
+ "debug[all]" : "Feedforward Limit" ,
1457
+ "debug[0]" : "Jitter Attenuator" ,
1458
+ "debug[1]" : "MaxRcRate [debugAxis]" ,
1459
+ "debug[2]" : "Setpoint" ,
1460
+ "debug[3]" : "Feedforward" ,
1461
+ "debug[4]" : "Setpoint Speed" ,
1462
+ "debug[5]" : "Setpoint Speed Smoothed" ,
1463
+ "debug[6]" : "FF PT1K" ,
1464
+ "debug[7]" : "Rx Rate" ,
1465
+ } ;
1466
+ DEBUG_FRIENDLY_FIELD_NAMES . RX_TIMING = {
1467
+ "debug[all]" : "Receiver Timing" ,
1468
+ "debug[0]" : "Frame Interval" ,
1469
+ "debug[1]" : "Frame TimeStamp" ,
1470
+ "debug[2]" : "Is Rate Valid" ,
1471
+ "debug[3]" : "Interval Constrained" ,
1472
+ "debug[4]" : "Rx Rate" ,
1473
+ "debug[5]" : "Smoothed Rx Rate" ,
1474
+ "debug[6]" : "LQ Percent" ,
1475
+ "debug[7]" : "Is Receiving Signal" ,
1476
+ } ;
1477
+ DEBUG_FRIENDLY_FIELD_NAMES . RC_SMOOTHING = {
1478
+ "debug[all]" : "Debug RC Smoothing" ,
1479
+ "debug[0]" : "Rx Rate Current" ,
1480
+ "debug[1]" : "Rx Rate For Cutoffs" ,
1481
+ "debug[2]" : "Cutoff Hz" ,
1482
+ "debug[3]" : "Throttle Cutoff Hz" ,
1483
+ "debug[4]" : "FF Smoothing PT1K" ,
1484
+ "debug[5]" : "Smoothed Rx Rate" ,
1485
+ "debug[6]" : "Outlier Count" ,
1486
+ "debug[7]" : "Valid Count" ,
1487
+ } ;
1444
1488
}
1445
1489
}
1446
1490
} ;
@@ -1967,7 +2011,7 @@ FlightLogFieldPresenter.decodeDebugFieldToFriendly = function (
1967
2011
}
1968
2012
case "RC_SMOOTHING" :
1969
2013
switch ( fieldName ) {
1970
- case "debug[0]" :
2014
+ case "debug[0]" :
1971
2015
return `${ ( value + 1500 ) . toFixed ( 0 ) } us` ;
1972
2016
case "debug[3]" : // rx frame rate [us]
1973
2017
return `${ ( value / 1000 ) . toFixed ( 1 ) } ms` ;
@@ -2239,6 +2283,39 @@ FlightLogFieldPresenter.decodeDebugFieldToFriendly = function (
2239
2283
default :
2240
2284
return value . toFixed ( 1 ) ;
2241
2285
}
2286
+ case "FEEDFORWARD" :
2287
+ switch ( fieldName ) {
2288
+ case "debug[0]" : // setpoint
2289
+ return `${ value . toFixed ( 0 ) } °/s` ;
2290
+ case "debug[1]" : // setpoint speed * 0.01f
2291
+ return `${ value . toFixed ( 0 ) } °/s/s` ;
2292
+ // case "debug[2]": feedforward boost * 0.01f
2293
+ case "debug[3]" : // rcCommand Delta integer * 10
2294
+ return `${ ( value / 10 ) . toFixed ( 1 ) } ` ;
2295
+ case "debug[4]" : // jitter attenuator percent
2296
+ return `${ ( value / 100 ) . toFixed ( 2 ) } %` ;
2297
+ // case "debug[5]": boolean packet duplicate
2298
+ // case "debug[6]": yaw feedforward
2299
+ // case "debug[7]": yaw feedforward hold element
2300
+ default :
2301
+ return value . toFixed ( 0 ) ;
2302
+ }
2303
+ case "FEEDFORWARD_LIMIT" :
2304
+ switch ( fieldName ) {
2305
+ case "debug[0]" : // jitter attenuator percent
2306
+ return `${ ( value / 100 ) . toFixed ( 2 ) } %` ;
2307
+ // case "debug[1]": max setpoint rate for the axis
2308
+ // case "debug[2]": setpoint
2309
+ // case "debug[3]": feedforward * 0.01
2310
+ // case "debug[4]": setpoint speed un-smoothed * 0.01f
2311
+ // case "debug[5]": setpoint speed smoothed * 0.01f
2312
+ // case "debug[6]": feedforward smoothing PT1K * 1000
2313
+ return `${ ( value / 10 ) . toFixed ( 1 ) } ` ;
2314
+ case "debug[7]" : // smoothed RxRateHz
2315
+ return `${ value . toFixed ( 0 ) } Hz` ;
2316
+ default :
2317
+ return value . toFixed ( 0 ) ;
2318
+ }
2242
2319
}
2243
2320
return value . toFixed ( 0 ) ;
2244
2321
}
@@ -2674,10 +2751,17 @@ FlightLogFieldPresenter.ConvertDebugFieldValue = function (
2674
2751
}
2675
2752
case "RC_SMOOTHING" :
2676
2753
switch ( fieldName ) {
2677
- case "debug[0]" :
2678
- return toFriendly ? value + 1500 : value - 1500 ; // us
2679
- case "debug[3]" : // rx frame rate [us]
2680
- return toFriendly ? value / 1000 : value * 1000 ; // ms
2754
+ // case "debug[0]": // current Rx Rate Hz
2755
+ // case "debug[1]": // smoothed but stepped Rx Rate Hz
2756
+ // case "debug[2]": // setpoint cutoff Hz
2757
+ // case "debug[3]": // throttle cutoff Hz
2758
+ // case "debug[5]": // smoothed Rx Rate Hz, without steps
2759
+ // return `${value.toFixed(0)} Hz`;
2760
+ case "debug[4]" : // debug 4 is Feedforward PT1k range 0-1000
2761
+ // return `${(value / 1000).toFixed(2)}`;
2762
+ return toFriendly ? value / 10 : value * 10 ; //
2763
+ // debug 6 is outlier count 0-3
2764
+ // debug 7 is valid count 0-3
2681
2765
default :
2682
2766
return value ;
2683
2767
}
@@ -2728,9 +2812,16 @@ FlightLogFieldPresenter.ConvertDebugFieldValue = function (
2728
2812
return toFriendly ? value / 10 : value * 10 ; // °
2729
2813
case "RX_TIMING" :
2730
2814
switch ( fieldName ) {
2731
- case "debug[0]" : // Frame delta us/10
2732
- case "debug[1 ]" : // Frame age us/10
2815
+ case "debug[0]" : // packet interval in hundredths of ms
2816
+ case "debug[3 ]" : // constrained packet interval in hundredths of ms
2733
2817
return toFriendly ? value / 100 : value * 100 ; //ms
2818
+ case "debug[1]" : // Frame time stamp us/100
2819
+ return toFriendly ? value / 10 : value * 10 ; //ms
2820
+ // debug 2 is isRateValid boolean
2821
+ // debug 4 is current Rx Rate, Hz
2822
+ // debug 5 is smoothed Rx Rate, Hz
2823
+ // debug 6 is link wuality
2824
+ // debug 7 is isReceivingSignal boolean
2734
2825
default :
2735
2826
return value ;
2736
2827
}
@@ -2938,6 +3029,37 @@ FlightLogFieldPresenter.ConvertDebugFieldValue = function (
2938
3029
default :
2939
3030
return value ;
2940
3031
}
3032
+ case "FEEDFORWARD" :
3033
+ switch ( fieldName ) {
3034
+ // case "debug[0]": setpoint
3035
+ // case "debug[1]": setpoint speed * 0.01f
3036
+ // case "debug[2]": feedforward boost * 0.01f
3037
+ case "debug[3]" : // rcCommand Delta integer * 10
3038
+ return toFriendly ? value / 10 : value * 10 ;
3039
+ // case "debug[4]": // jitter attenuator percent
3040
+ // case "debug[5]": boolean packet duplicate
3041
+ // case "debug[6]": yaw feedforward
3042
+ // case "debug[7]": yaw feedforward hold element
3043
+ default :
3044
+ return value ;
3045
+ }
3046
+ case "FEEDFORWARD_LIMIT" :
3047
+ switch ( fieldName ) {
3048
+ // case "debug[0]": // jitter attenuator percent
3049
+ // return `${(value / 100).toFixed(2)} %`;
3050
+ // case "debug[1]": max setpoint rate for the axis
3051
+ // case "debug[2]": setpoint
3052
+ // case "debug[3]": feedforward * 0.01
3053
+ // case "debug[4]": setpoint speed un-smoothed * 0.01f
3054
+ // case "debug[5]": setpoint speed smoothed * 0.01f
3055
+ case "debug[6]" : feedforward smoothing PT1K * 1000
3056
+ // return `${(value / 10).toFixed(1)}`;
3057
+ return toFriendly ? value / 10 : value * 10 ;
3058
+ // case "debug[7]": // smoothed RxRateHz
3059
+ //return `${value.toFixed(0)} Hz`;
3060
+ default :
3061
+ return value ;
3062
+ }
2941
3063
}
2942
3064
}
2943
3065
return value ;
0 commit comments