mirror of
https://github.com/opentx/opentx.git
synced 2025-07-19 06:15: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):
|
LimitField(LimitData & limit, BoardEnum board, unsigned int version):
|
||||||
StructField("Limit")
|
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.min, +1000));
|
||||||
Append(new ConversionField< SignedField<16> >(limit.max, -1000));
|
Append(new ConversionField< SignedField<16> >(limit.max, -1000));
|
||||||
}
|
}
|
||||||
|
|
|
@ -3782,7 +3782,7 @@ enum LimitsItems {
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(PCBTARANIS)
|
||||||
#define LIMITS_MIN_MAX_OFFSET 1000
|
#define LIMITS_MIN_MAX_OFFSET 1000
|
||||||
#define CONVERT_US_MIN_MAX(x) (((x)*128)/250)
|
#define CONVERT_US_MIN_MAX(x) (((x)*128)/250)
|
||||||
#define MIN_MAX_LIMIT (10*limit)
|
#define MIN_MAX_LIMIT (10*limit)
|
||||||
|
@ -3886,7 +3886,7 @@ void menuModelLimits(uint8_t event)
|
||||||
lcd_putc(LIMITS_DIRECTION_POS, y, swVal);
|
lcd_putc(LIMITS_DIRECTION_POS, y, swVal);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(PCBTARANIS)
|
||||||
int limit;
|
int limit;
|
||||||
#else
|
#else
|
||||||
int8_t limit;
|
int8_t limit;
|
||||||
|
@ -3942,9 +3942,8 @@ void menuModelLimits(uint8_t event)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_LIMITS_MIN:
|
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);
|
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
|
#else
|
||||||
lcd_outdezAtt(LIMITS_MIN_POS, y, MIN_MAX_DISPLAY(ld->min-LIMITS_MIN_MAX_OFFSET), MIN_MAX_ATTR);
|
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, -MIN_MAX_LIMIT, 0);
|
||||||
|
@ -3952,7 +3951,7 @@ void menuModelLimits(uint8_t event)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_LIMITS_MAX:
|
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);
|
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
|
#else
|
||||||
lcd_outdezAtt(LIMITS_MAX_POS, y, MIN_MAX_DISPLAY(ld->max+LIMITS_MIN_MAX_OFFSET), MIN_MAX_ATTR);
|
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)))
|
#define EXPO_MODE_ENABLE(ed, v) (((v)<0 && ((ed)->mode&1)) || ((v)>=0 && ((ed)->mode&2)))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(PCBTARANIS)
|
||||||
#define limit_min_max_t int16_t
|
#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_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)
|
#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