From b1f44d710160cc903fa3a9d5d737c073a1cd077c Mon Sep 17 00:00:00 2001 From: bsongis Date: Thu, 19 Jun 2014 23:17:06 +0200 Subject: [PATCH] Fixes #1323 --- radio/src/gui/menu_model.cpp | 8 ++++---- radio/src/opentx.cpp | 13 ++++++++----- radio/src/opentx.h | 2 +- radio/src/translations.cpp | 2 +- radio/src/translations.h | 2 +- radio/src/translations/cz.h.txt | 2 +- radio/src/translations/de.h.txt | 2 +- radio/src/translations/en.h.txt | 2 +- radio/src/translations/es.h.txt | 2 +- radio/src/translations/fi.h.txt | 2 +- radio/src/translations/fr.h.txt | 2 +- radio/src/translations/it.h.txt | 2 +- radio/src/translations/pl.h.txt | 2 +- radio/src/translations/pt.h.txt | 2 +- radio/src/translations/se.h.txt | 2 +- 15 files changed, 25 insertions(+), 22 deletions(-) diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index 7008d6fa6..954d67f00 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -3850,8 +3850,8 @@ void onLimitsMenu(const char *result) ld->revert = false; ld->curve = 0; } - else if (result == STR_COPY_TRIMS_TO_OFS) { - copyTrimsToOffset(ch); + else if (result == STR_COPY_STICKS_TO_OFS) { + copySticksToOffset(ch); } } #endif @@ -3929,7 +3929,7 @@ void menuModelLimits(uint8_t event) if (sub==k && m_posHorz < 0 && event==EVT_KEY_LONG(KEY_ENTER)) { killEvents(event); MENU_ADD_ITEM(STR_RESET); - MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS); + MENU_ADD_ITEM(STR_COPY_STICKS_TO_OFS); menuHandler = onLimitsMenu; } #else @@ -3965,7 +3965,7 @@ void menuModelLimits(uint8_t event) ld->offset = checkIncDec(event, ld->offset, -1000, 1000, EE_MODEL|NO_INCDEC_MARKS|DBLKEYS_1000); } else if (attr && event==EVT_KEY_LONG(KEY_MENU)) { - copyTrimsToOffset(k); + copySticksToOffset(k); s_editMode = 0; } break; diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 17dc11616..ded3f7d0c 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -3050,24 +3050,27 @@ void instantTrim() AUDIO_WARNING2(); } -void copyTrimsToOffset(uint8_t ch) +void copySticksToOffset(uint8_t ch) { pauseMixerCalculations(); int32_t zero = (int32_t)channelOutputs[ch]; + int32_t old = chans[ch]; + evalFlightModeMixes(e_perout_mode_nosticks+e_perout_mode_notrainer, 0); int32_t val = chans[ch]; LimitData *ld = limitAddress(ch); - limit_min_max_t lim = LIMIT_MAX(ld); + limit_min_max_t lim = LIMIT_MIN(ld); + TRACE("%d vs %d chan=%d vs %d - lim=%d", zero, channelOutputs[ch], val, old, lim); if (val < 0) { val = -val; lim = LIMIT_MIN(ld); } #if defined(CPUARM) - zero = (zero*100000 - val*lim) / (102400-val); + zero = (zero*256000 - val*lim) / (1024*256-val); #else - zero = (zero*100000 - 10*val*lim) / (102400-val); + zero = (zero*256000 - 10*val*lim) / (1024*256-val); #endif - ld->offset = (ld->revert) ? -zero : zero; + ld->offset = (ld->revert ? -zero : zero); resumeMixerCalculations(); eeDirty(EE_MODEL); } diff --git a/radio/src/opentx.h b/radio/src/opentx.h index f730f72ad..5a6351051 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1176,7 +1176,7 @@ void applyDefaultTemplate(); void incSubtrim(uint8_t idx, int16_t inc); void instantTrim(); FORCEINLINE void evalTrims(); -void copyTrimsToOffset(uint8_t ch); +void copySticksToOffset(uint8_t ch); void moveTrimsToOffsets(); void evalFunctions(); diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 1c37bbb47..5edde4714 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -519,7 +519,7 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR; const pm_char STR_PT[] PROGMEM = TR_PT; const pm_char STR_PTS[] PROGMEM = TR_PTS; const pm_char STR_SMOOTH[] PROGMEM = TR_SMOOTH; - const pm_char STR_COPY_TRIMS_TO_OFS[] PROGMEM = TR_COPY_TRIMS_TO_OFS; + const pm_char STR_COPY_STICKS_TO_OFS[] PROGMEM = TR_COPY_STICKS_TO_OFS; const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR; const pm_char STR_ALTITUDE[] PROGMEM = TR_ALTITUDE; const pm_char STR_SCALE[] PROGMEM = TR_SCALE; diff --git a/radio/src/translations.h b/radio/src/translations.h index 91ccd32c6..a2aa95ef1 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -700,7 +700,7 @@ extern const pm_char STR_BLCOLOR[]; extern const pm_char STR_PT[]; extern const pm_char STR_PTS[]; extern const pm_char STR_SMOOTH[]; - extern const pm_char STR_COPY_TRIMS_TO_OFS[]; + extern const pm_char STR_COPY_STICKS_TO_OFS[]; extern const pm_char STR_TOP_BAR[]; extern const pm_char STR_ALTITUDE[]; extern const pm_char STR_SCALE[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index a5aed7b7f..601b10a59 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -803,7 +803,7 @@ #define TR_PT "č." #define TR_PTS " b." #define TR_SMOOTH "Hladká" -#define TR_COPY_TRIMS_TO_OFS "Kopírovat trim do subtrimu" +#define TR_COPY_STICKS_TO_OFS "Kopírovat stick do subtrimu" #define TR_PERSISTENT_MAH TR(INDENT "Str mAh", INDENT "Ukládat mAh") #define TR_PREFLIGHT "Předletová kontrola" #define TR_CHECKLIST INDENT "Zobrazit poznámky" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index c376b3282..1ad497b7c 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -803,7 +803,7 @@ #define TR_PT "Pt" #define TR_PTS "Pts" #define TR_SMOOTH "Runden" -#define TR_COPY_TRIMS_TO_OFS "Kopie Trim to Servo-Mitte" // "Trims => Offset" +#define TR_COPY_STICKS_TO_OFS "Kopie Stick to Servo-Mitte" // "Trims => Offset" #define TR_PERSISTENT_MAH INDENT "Speichern mAh" #define TR_PREFLIGHT "----Preflight Checks----" #define TR_CHECKLIST INDENT "Display Checklist" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index f480cad07..6a67549a5 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pt" #define TR_PTS "pts" #define TR_SMOOTH "Smooth" -#define TR_COPY_TRIMS_TO_OFS "Copy Trim To Subtrim" +#define TR_COPY_STICKS_TO_OFS "Copy Stick To Subtrim" #define TR_PERSISTENT_MAH TR(INDENT "Str mAh", INDENT "Persistent mAh") #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST TR(INDENT "Checklist", INDENT "Display Checklist") diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index d9b058c35..d53d89128 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pt" #define TR_PTS "pts" #define TR_SMOOTH "Smooth" -#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset" +#define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" #define TR_PERSISTENT_MAH INDENT "Valor mAh" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST INDENT "Display Checklist" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 2e9c818b0..4a9a18e47 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pt" #define TR_PTS "pts" #define TR_SMOOTH "Smooth" -#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset" +#define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST INDENT "Display Checklist" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 63e931179..faa517458 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pt" #define TR_PTS "pts" #define TR_SMOOTH "Lissage" -#define TR_COPY_TRIMS_TO_OFS "Trim vers subtrim" +#define TR_COPY_STICKS_TO_OFS "Manche vers subtrim" #define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh", INDENT "Enregistrer mAh") #define TR_PREFLIGHT "Vérifications avant vol" #define TR_CHECKLIST TR(INDENT "Notes", INDENT "Afficher notes") diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 694661899..a11d50141 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pt" #define TR_PTS "pti" #define TR_SMOOTH "Smussa" -#define TR_COPY_TRIMS_TO_OFS "Copia Trim su Offset" +#define TR_COPY_STICKS_TO_OFS "Copia Stick su Offset" #define TR_PERSISTENT_MAH INDENT "Memo mAh" #define TR_PREFLIGHT "Controlli Prevolo" #define TR_CHECKLIST INDENT "Mostra Checklist" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 85844dcfc..8c8c7f6a9 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pkt" #define TR_PTS "pkty" #define TR_SMOOTH "Gładka" -#define TR_COPY_TRIMS_TO_OFS "Skopiuj Trymery Do Offsetu" +#define TR_COPY_STICKS_TO_OFS "Skopiuj Stick Do Offsetu" #define TR_PERSISTENT_MAH TR(INDENT "Zap. mAh", INDENT "Zapisz mAh") #define TR_PREFLIGHT "Lista Ostrzeżeń" #define TR_CHECKLIST TR(INDENT "Czeklista",INDENT "Pokaż Listę Ostrzeżeń") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index d9bb2f47e..cae64bcff 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pt" #define TR_PTS "pts" #define TR_SMOOTH "Smooth" -#define TR_COPY_TRIMS_TO_OFS "Copy Trims To Offset" +#define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST INDENT "Display Checklist" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 3472daddd..c4340b931 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -803,7 +803,7 @@ #define TR_PT "pt" #define TR_PTS "pkt" #define TR_SMOOTH "Mjuk" -#define TR_COPY_TRIMS_TO_OFS "Spara trimmar som offset" +#define TR_COPY_STICKS_TO_OFS "Spara sticks som offset" #define TR_PERSISTENT_MAH INDENT "Lagra mAh" #define TR_PREFLIGHT "Startkontroller" #define TR_CHECKLIST TR(INDENT "Checklista", INDENT "Visa Checklista")