mirror of
https://github.com/opentx/opentx.git
synced 2025-07-18 22:05:10 +03:00
Issue #893 - Extended Limits increased to +/-150%. Perhaps it will be
reverted later, but it will be only one constant to change, the code is cleaner.
This commit is contained in:
parent
c57213459f
commit
c3ba95a980
3 changed files with 13 additions and 13 deletions
|
@ -3784,12 +3784,10 @@ enum LimitsItems {
|
|||
#if defined(PCBTARANIS)
|
||||
#define LIMITS_MIN_MAX_OFFSET 1000
|
||||
#define CONVERT_US_MIN_MAX(x) (((x)*1280)/250)
|
||||
#define MIN_MAX_LIMIT (10*limit)
|
||||
#define MIN_MAX_ATTR attr|PREC1
|
||||
#else
|
||||
#define LIMITS_MIN_MAX_OFFSET 100
|
||||
#define CONVERT_US_MIN_MAX(x) ((int16_t(x)*128)/25)
|
||||
#define MIN_MAX_LIMIT (limit)
|
||||
#define MIN_MAX_ATTR attr
|
||||
#endif
|
||||
|
||||
|
@ -3886,9 +3884,9 @@ void menuModelLimits(uint8_t event)
|
|||
#endif
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
int limit = (g_model.extendedLimits ? 125 : 100);
|
||||
int limit = (g_model.extendedLimits ? LIMIT_EXT_MAX : 1000);
|
||||
#else
|
||||
int8_t limit = (g_model.extendedLimits ? 125 : 100);
|
||||
int8_t limit = (g_model.extendedLimits ? LIMIT_EXT_MAX : 100);
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
|
@ -3939,24 +3937,24 @@ void menuModelLimits(uint8_t event)
|
|||
|
||||
case ITEM_LIMITS_MIN:
|
||||
#if defined(PCBTARANIS)
|
||||
if (GV_IS_GV_VALUE(ld->min, -1250, 1250) || (attr && event == EVT_KEY_LONG(KEY_ENTER))) {
|
||||
ld->min = GVAR_MENU_ITEM(LIMITS_MIN_POS, y, ld->min, -1250, 1250, MIN_MAX_ATTR, DBLKEYS_1000, event);
|
||||
if (GV_IS_GV_VALUE(ld->min, -LIMIT_EXT_MAX, LIMIT_EXT_MAX) || (attr && event == EVT_KEY_LONG(KEY_ENTER))) {
|
||||
ld->min = GVAR_MENU_ITEM(LIMITS_MIN_POS, y, ld->min, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, MIN_MAX_ATTR, DBLKEYS_1000, event);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
lcd_outdezAtt(LIMITS_MIN_POS, y, MIN_MAX_DISPLAY(ld->min-LIMITS_MIN_MAX_OFFSET), MIN_MAX_ATTR);
|
||||
if (active) ld->min = LIMITS_MIN_MAX_OFFSET + checkIncDecModel(event, ld->min-LIMITS_MIN_MAX_OFFSET, -MIN_MAX_LIMIT, 0);
|
||||
if (active) ld->min = LIMITS_MIN_MAX_OFFSET + checkIncDecModel(event, ld->min-LIMITS_MIN_MAX_OFFSET, -limit, 0);
|
||||
break;
|
||||
|
||||
case ITEM_LIMITS_MAX:
|
||||
#if defined(PCBTARANIS)
|
||||
if (GV_IS_GV_VALUE(ld->max, -1250, 1250) || (attr && event == EVT_KEY_LONG(KEY_ENTER))) {
|
||||
ld->max = GVAR_MENU_ITEM(LIMITS_MAX_POS, y, ld->max, -1250, 1250, MIN_MAX_ATTR, DBLKEYS_1000, event);
|
||||
if (GV_IS_GV_VALUE(ld->max, -LIMIT_EXT_MAX, LIMIT_EXT_MAX) || (attr && event == EVT_KEY_LONG(KEY_ENTER))) {
|
||||
ld->max = GVAR_MENU_ITEM(LIMITS_MAX_POS, y, ld->max, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, MIN_MAX_ATTR, DBLKEYS_1000, event);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
lcd_outdezAtt(LIMITS_MAX_POS, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET), MIN_MAX_ATTR);
|
||||
if (active) ld->max = -LIMITS_MIN_MAX_OFFSET + checkIncDecModelZero(event, ld->max+LIMITS_MIN_MAX_OFFSET, +MIN_MAX_LIMIT);
|
||||
if (active) ld->max = -LIMITS_MIN_MAX_OFFSET + checkIncDecModelZero(event, ld->max+LIMITS_MIN_MAX_OFFSET, +limit);
|
||||
break;
|
||||
|
||||
case ITEM_LIMITS_DIRECTION:
|
||||
|
|
|
@ -501,14 +501,16 @@ PACK(typedef struct t_ExpoData {
|
|||
|
||||
#if defined(PCBTARANIS)
|
||||
#define limit_min_max_t int16_t
|
||||
#define LIMIT_MAX(lim) (GV_IS_GV_VALUE(lim->max, 0, 1250) ? GET_GVAR(lim->max, 0, 1250, s_perout_flight_phase)*10 : lim->max+1000)
|
||||
#define LIMIT_MIN(lim) (GV_IS_GV_VALUE(lim->min, -1250, 0) ? GET_GVAR(lim->min, -1250, 0, s_perout_flight_phase)*10 : lim->min-1000)
|
||||
#define LIMIT_EXT_MAX (150*10)
|
||||
#define LIMIT_MAX(lim) (GV_IS_GV_VALUE(lim->max, -LIMIT_EXT_MAX, LIMIT_EXT_MAX) ? GET_GVAR(lim->max, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, s_perout_flight_phase)*10 : lim->max+1000)
|
||||
#define LIMIT_MIN(lim) (GV_IS_GV_VALUE(lim->min, -LIMIT_EXT_MAX, LIMIT_EXT_MAX) ? GET_GVAR(lim->min, -LIMIT_EXT_MAX, LIMIT_EXT_MAX, s_perout_flight_phase)*10 : lim->min-1000)
|
||||
#define LIMIT_OFS(lim) (GV_IS_GV_VALUE(lim->offset, -1000, 1000) ? GET_GVAR(lim->offset, -1000, 1000, s_perout_flight_phase)*10 : lim->offset)
|
||||
#define LIMIT_MAX_RESX(lim) calc1000toRESX(LIMIT_MAX(lim))
|
||||
#define LIMIT_MIN_RESX(lim) calc1000toRESX(LIMIT_MIN(lim))
|
||||
#define LIMIT_OFS_RESX(lim) calc1000toRESX(LIMIT_OFS(lim))
|
||||
#else
|
||||
#define limit_min_max_t int8_t
|
||||
#define LIMIT_EXT_MAX 125
|
||||
#define LIMIT_MAX(lim) (lim->max+100)
|
||||
#define LIMIT_MIN(lim) (lim->min-100)
|
||||
#define LIMIT_OFS(lim) (lim->offset)
|
||||
|
|
|
@ -3502,7 +3502,7 @@ void evalFunctions()
|
|||
}
|
||||
#endif
|
||||
else {
|
||||
SET_GVAR(CFN_GVAR_INDEX(sd), limit((getvalue_t)-1250, getValue(CFN_PARAM(sd)), (getvalue_t)1250) / 10, s_perout_flight_phase);
|
||||
SET_GVAR(CFN_GVAR_INDEX(sd), limit((getvalue_t)-LIMIT_EXT_MAX, getValue(CFN_PARAM(sd)), (getvalue_t)LIMIT_EXT_MAX) / 10, s_perout_flight_phase);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue