diff --git a/src/Makefile b/src/Makefile index 32df9543d..a9fbb9319 100644 --- a/src/Makefile +++ b/src/Makefile @@ -215,6 +215,9 @@ TTS = $(TRANSLATIONS) # Values = imperial, metric UNITS = METRIC +# CENTER STICK INPUTS +CENTERSTICKS = YES + # Default Tx Mode # Values = NO / 1 / 2 / 3 / 4 DEFAULT_MODE = NO @@ -750,6 +753,10 @@ ifeq ($(TARANIS_STICKS), YES) CPPDEFS += -DTARANIS_STICKS endif +ifeq ($(CENTERSTICKS), YES) + CPPDEFS += -DCENTERSTICKS +endif + ifeq ($(DBLKEYS), YES) ifeq ($(PCB), $(filter $(PCB), 9XR 9XR128 9XR2561)) diff --git a/src/opentx.cpp b/src/opentx.cpp index 40eb6da47..49c6f6786 100644 --- a/src/opentx.cpp +++ b/src/opentx.cpp @@ -2267,7 +2267,7 @@ BeepANACenter evalSticks(uint8_t mode) if (g_model.throttleReversed && ch==THR_STICK) v = -v; - + #if defined(EXTRA_3POS) if (i == POT1+EXTRA_3POS-1) { @@ -2315,6 +2315,15 @@ BeepANACenter evalSticks(uint8_t mode) v = (int32_t(v)*calc100toRESX(g_model.swashR.value))/int32_t(d); #endif +#if defined(CENTERSTICKS) + if(ch==THR_STICK || ch == ELE_STICK || ch == RUD_STICK || ch == AIL_STICK){ + uint8_t stmp = (uint16_t)abs(v) / 16; + if(stmp <= 0.1 && stmp >= -0.1){ + v = 0; + } + } +#endif + rawAnas[ch] = v; anas[ch] = v; //set values for mixer }