mirror of
https://github.com/opentx/opentx.git
synced 2025-07-18 22:05:10 +03:00
Normal precision for min/max Limits on sky9x
This commit is contained in:
parent
a72396620d
commit
0b881fea00
3 changed files with 6 additions and 7 deletions
|
@ -1090,7 +1090,7 @@ class LimitField: public StructField {
|
|||
LimitField(LimitData & limit, BoardEnum board, unsigned int version):
|
||||
StructField("Limit")
|
||||
{
|
||||
if (IS_ARM(board) && version >= 216) {
|
||||
if (IS_TARANIS(board) && version >= 216) {
|
||||
Append(new ConversionField< SignedField<16> >(limit.min, +1000));
|
||||
Append(new ConversionField< SignedField<16> >(limit.max, -1000));
|
||||
}
|
||||
|
|
|
@ -3782,7 +3782,7 @@ enum LimitsItems {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
#if defined(PCBTARANIS)
|
||||
#define LIMITS_MIN_MAX_OFFSET 1000
|
||||
#define CONVERT_US_MIN_MAX(x) (((x)*128)/250)
|
||||
#define MIN_MAX_LIMIT (10*limit)
|
||||
|
@ -3886,7 +3886,7 @@ void menuModelLimits(uint8_t event)
|
|||
lcd_putc(LIMITS_DIRECTION_POS, y, swVal);
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
#if defined(PCBTARANIS)
|
||||
int limit;
|
||||
#else
|
||||
int8_t limit;
|
||||
|
@ -3942,9 +3942,8 @@ void menuModelLimits(uint8_t event)
|
|||
break;
|
||||
|
||||
case ITEM_LIMITS_MIN:
|
||||
#if defined(CPUARM)
|
||||
#if defined(PCBTARANIS)
|
||||
ld->min = LIMITS_MIN_MAX_OFFSET + GVAR_MENU_ITEM(LIMITS_MIN_POS, y, MIN_MAX_DISPLAY(ld->min-LIMITS_MIN_MAX_OFFSET), -MIN_MAX_LIMIT, 0, MIN_MAX_ATTR, DBLKEYS_1000, event);
|
||||
if (k==0) TRACE("ld->min = %d %d", ld->min, -MIN_MAX_LIMIT);
|
||||
#else
|
||||
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);
|
||||
|
@ -3952,7 +3951,7 @@ void menuModelLimits(uint8_t event)
|
|||
break;
|
||||
|
||||
case ITEM_LIMITS_MAX:
|
||||
#if defined(CPUARM)
|
||||
#if defined(PCBTARANIS)
|
||||
ld->max = -LIMITS_MIN_MAX_OFFSET + GVAR_MENU_ITEM(LIMITS_MAX_POS, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET), 0, MIN_MAX_LIMIT, MIN_MAX_ATTR, DBLKEYS_1000, event);
|
||||
#else
|
||||
lcd_outdezAtt(LIMITS_MAX_POS, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET), MIN_MAX_ATTR);
|
||||
|
|
|
@ -499,7 +499,7 @@ PACK(typedef struct t_ExpoData {
|
|||
#define EXPO_MODE_ENABLE(ed, v) (((v)<0 && ((ed)->mode&1)) || ((v)>=0 && ((ed)->mode&2)))
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
#if defined(PCBTARANIS)
|
||||
#define limit_min_max_t int16_t
|
||||
#define LIMIT_MAX(lim) (GV_IS_GV_VALUE(lim->max+1000, 0, 1250) ? GET_GVAR(lim->max+1000, 0, 125, s_perout_flight_phase)*10 : lim->max+1000)
|
||||
#define LIMIT_MIN(lim) (GV_IS_GV_VALUE(lim->min-1000, -1250, 0) ? GET_GVAR(lim->min-1000, -125, 0, s_perout_flight_phase)*10 : lim->min-1000)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue