1
0
Fork 0
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:
bsongis 2014-03-27 17:47:57 +01:00
parent a72396620d
commit 0b881fea00
3 changed files with 6 additions and 7 deletions

View file

@ -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));
}

View file

@ -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);

View file

@ -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)