mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-14 03:49:58 +03:00
Added Fixed Wing TPA Time Constant to adjustments
This commit is contained in:
parent
fc5c3363dc
commit
58d264880f
5 changed files with 86 additions and 56 deletions
|
@ -158,6 +158,7 @@ this reason ensure that you define enough ranges to cover the range channel's us
|
|||
| 54 | TPA |
|
||||
| 55 | TPA_BREAKPOINT |
|
||||
| 56 | NAV_FW_CONTROL_SMOOTHNESS |
|
||||
| 57 | FW_TPA_TIME_CONSTANT |
|
||||
|
||||
## Examples
|
||||
|
||||
|
|
|
@ -289,6 +289,10 @@ static const adjustmentConfig_t defaultAdjustmentConfigs[ADJUSTMENT_FUNCTION_COU
|
|||
.adjustmentFunction = ADJUSTMENT_NAV_FW_CONTROL_SMOOTHNESS,
|
||||
.mode = ADJUSTMENT_MODE_STEP,
|
||||
.data = { .stepConfig = { .step = 1 }}
|
||||
}, {
|
||||
.adjustmentFunction = ADJUSTMENT_FW_TPA_TIME_CONSTANT,
|
||||
.mode = ADJUSTMENT_MODE_STEP,
|
||||
.data = { .stepConfig = { .step = 5 }}
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -597,6 +601,9 @@ static void applyStepAdjustment(controlRateConfig_t *controlRateConfig, uint8_t
|
|||
case ADJUSTMENT_TPA_BREAKPOINT:
|
||||
applyAdjustmentU16(ADJUSTMENT_TPA_BREAKPOINT, &controlRateConfig->throttle.pa_breakpoint, delta, PWM_RANGE_MIN, PWM_RANGE_MAX);
|
||||
break;
|
||||
case ADJUSTMENT_FW_TPA_TIME_CONSTANT:
|
||||
applyAdjustmentU16(ADJUSTMENT_FW_TPA_TIME_CONSTANT, &controlRateConfig->throttle.fixedWingTauMs, delta, SETTING_FW_TPA_TIME_CONSTANT_MIN, SETTING_FW_TPA_TIME_CONSTANT_MAX);
|
||||
break;
|
||||
case ADJUSTMENT_NAV_FW_CONTROL_SMOOTHNESS:
|
||||
applyAdjustmentU8(ADJUSTMENT_NAV_FW_CONTROL_SMOOTHNESS, &navConfigMutable()->fw.control_smoothness, delta, SETTING_NAV_FW_CONTROL_SMOOTHNESS_MIN, SETTING_NAV_FW_CONTROL_SMOOTHNESS_MAX);
|
||||
break;
|
||||
|
|
|
@ -82,6 +82,7 @@ typedef enum {
|
|||
ADJUSTMENT_TPA = 54,
|
||||
ADJUSTMENT_TPA_BREAKPOINT = 55,
|
||||
ADJUSTMENT_NAV_FW_CONTROL_SMOOTHNESS = 56,
|
||||
ADJUSTMENT_FW_TPA_TIME_CONSTANT = 57,
|
||||
ADJUSTMENT_FUNCTION_COUNT // must be last
|
||||
} adjustmentFunction_e;
|
||||
|
||||
|
|
|
@ -3017,6 +3017,26 @@ static bool osdDrawSingleElement(uint8_t item)
|
|||
|
||||
return true;
|
||||
}
|
||||
case OSD_TPA_TIME_CONSTANT:
|
||||
{
|
||||
/* char buff[7];
|
||||
textAttributes_t attr;
|
||||
|
||||
if (isAdjustmentFunctionSelected(ADJUSTMENT_FW_TPA_TIME_CONSTANT)) {
|
||||
displayWrite(osdDisplayPort, elemPosX, elemPosY, "TC OK");
|
||||
} else {
|
||||
displayWrite(osdDisplayPort, elemPosX, elemPosY, "TPA TC");
|
||||
}
|
||||
|
||||
attr = TEXT_ATTRIBUTES_NONE;
|
||||
tfp_sprintf(buff, "%4d", currentControlRateProfile->throttle.fixedWingTauMs);
|
||||
if (isAdjustmentFunctionSelected(ADJUSTMENT_FW_TPA_TIME_CONSTANT)) {
|
||||
TEXT_ATTRIBUTES_ADD_BLINK(attr);
|
||||
}
|
||||
displayWriteWithAttr(osdDisplayPort, elemPosX + 7, elemPosY, buff, attr);*/
|
||||
osdDisplayAdjustableDecimalValue(elemPosX, elemPosY, "TPA TC", 0, currentControlRateProfile->throttle.fixedWingTauMs, 4, 0, ADJUSTMENT_FW_TPA_TIME_CONSTANT);
|
||||
return true;
|
||||
}
|
||||
|
||||
case OSD_NAV_FW_CONTROL_SMOOTHNESS:
|
||||
osdDisplayAdjustableDecimalValue(elemPosX, elemPosY, "CTL S", 0, navConfig()->fw.control_smoothness, 1, 0, ADJUSTMENT_NAV_FW_CONTROL_SMOOTHNESS);
|
||||
|
|
|
@ -257,6 +257,7 @@ typedef enum {
|
|||
OSD_SWITCH_INDICATOR_1,
|
||||
OSD_SWITCH_INDICATOR_2,
|
||||
OSD_SWITCH_INDICATOR_3,
|
||||
OSD_TPA_TIME_CONSTANT,
|
||||
OSD_ITEM_COUNT // MUST BE LAST
|
||||
} osd_items_e;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue