diff --git a/radio/src/gui/menus.cpp b/radio/src/gui/menus.cpp index 4d6a68755..f101f217c 100644 --- a/radio/src/gui/menus.cpp +++ b/radio/src/gui/menus.cpp @@ -1124,7 +1124,10 @@ int16_t gvarMenuItem(uint8_t x, uint8_t y, int16_t value, int16_t min, int16_t m #endif { uint16_t delta = GV_GET_GV1_VALUE(max); - bool invers = (attr & INVERS); + bool invers = (attr & INVERS); + + // TRACE("gvarMenuItem(val=%d min=%d max=%d)", value, min, max); + if (invers && event == EVT_KEY_LONG(KEY_ENTER)) { s_editMode = !s_editMode; #if defined(CPUARM) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 61900032c..a22dd9aed 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -717,12 +717,13 @@ void setTrimValue(uint8_t phase, uint8_t idx, int trim); #if defined(CPUARM) #define GV_GET_GV1_VALUE(max) ( (max<=GV_RANGESMALL && min>=GV_RANGESMALL_NEG) ? GV1_SMALL : GV1_LARGE ) #define GV_INDEX_CALCULATION(x,max) ( (max<=GV_RANGESMALL && min>=GV_RANGESMALL_NEG) ? (uint8_t) x-GV1_SMALL : ((x&(GV1_LARGE*2-1))-GV1_LARGE) ) + #define GV_IS_GV_VALUE(x,min,max) ( (max>GV1_SMALL || min<-GV1_SMALL) ? (x>GV_RANGELARGE || xmax) || (xmax) || (xmax) || (x