1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-25 01:05:10 +03:00

Add copy min/max to outputs (#7396)

* Add copy min/max to outputs

* Also copy ppm center
This commit is contained in:
3djc 2020-02-18 11:11:52 +01:00 committed by GitHub
parent c2e5e4f566
commit 18b5fbf33e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 45 additions and 0 deletions

View file

@ -215,6 +215,9 @@ void onLimitsMenu(const char *result)
else if (result == STR_EDIT) { else if (result == STR_EDIT) {
pushMenu(menuModelLimitsOne); pushMenu(menuModelLimitsOne);
} }
else if (result == STR_COPY_MIN_MAX_TO_OUTPUTS) {
copyMinMaxToOutputs(s_currIdx);
}
} }
void menuModelLimits(event_t event) void menuModelLimits(event_t event)
@ -240,6 +243,7 @@ void menuModelLimits(event_t event)
POPUP_MENU_ADD_ITEM(STR_RESET); POPUP_MENU_ADD_ITEM(STR_RESET);
POPUP_MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS); POPUP_MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS);
POPUP_MENU_ADD_ITEM(STR_COPY_STICKS_TO_OFS); POPUP_MENU_ADD_ITEM(STR_COPY_STICKS_TO_OFS);
POPUP_MENU_ADD_ITEM(STR_COPY_MIN_MAX_TO_OUTPUTS);
POPUP_MENU_START(onLimitsMenu); POPUP_MENU_START(onLimitsMenu);
} }

View file

@ -86,6 +86,9 @@ void onLimitsMenu(const char *result)
copyTrimsToOffset(ch); copyTrimsToOffset(ch);
storageDirty(EE_MODEL); storageDirty(EE_MODEL);
} }
else if (result == STR_COPY_MIN_MAX_TO_OUTPUTS) {
copyMinMaxToOutputs(ch);
}
} }
void menuModelLimits(event_t event) void menuModelLimits(event_t event)
@ -142,6 +145,7 @@ void menuModelLimits(event_t event)
POPUP_MENU_ADD_ITEM(STR_RESET); POPUP_MENU_ADD_ITEM(STR_RESET);
POPUP_MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS); POPUP_MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS);
POPUP_MENU_ADD_ITEM(STR_COPY_STICKS_TO_OFS); POPUP_MENU_ADD_ITEM(STR_COPY_STICKS_TO_OFS);
POPUP_MENU_ADD_ITEM(STR_COPY_MIN_MAX_TO_OUTPUTS);
POPUP_MENU_START(onLimitsMenu); POPUP_MENU_START(onLimitsMenu);
} }

View file

@ -80,6 +80,9 @@ void onLimitsMenu(const char *result)
copyTrimsToOffset(ch); copyTrimsToOffset(ch);
storageDirty(EE_MODEL); storageDirty(EE_MODEL);
} }
else if (result == STR_COPY_MIN_MAX_TO_OUTPUTS) {
copyMinMaxToOutputs(ch);
}
} }
bool menuModelLimits(event_t event) bool menuModelLimits(event_t event)
@ -133,6 +136,7 @@ bool menuModelLimits(event_t event)
POPUP_MENU_ADD_ITEM(STR_RESET); POPUP_MENU_ADD_ITEM(STR_RESET);
POPUP_MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS); POPUP_MENU_ADD_ITEM(STR_COPY_TRIMS_TO_OFS);
POPUP_MENU_ADD_ITEM(STR_COPY_STICKS_TO_OFS); POPUP_MENU_ADD_ITEM(STR_COPY_STICKS_TO_OFS);
POPUP_MENU_ADD_ITEM(STR_COPY_MIN_MAX_TO_OUTPUTS);
POPUP_MENU_START(onLimitsMenu); POPUP_MENU_START(onLimitsMenu);
} }

View file

@ -1725,6 +1725,25 @@ void copyTrimsToOffset(uint8_t ch)
storageDirty(EE_MODEL); storageDirty(EE_MODEL);
} }
void copyMinMaxToOutputs(uint8_t ch)
{
LimitData *ld = limitAddress(ch);
int16_t min = ld->min;
int16_t max = ld->max;
int16_t center = ld->ppmCenter;
pauseMixerCalculations();
for (uint8_t chan = 0; chan < MAX_OUTPUT_CHANNELS; chan++) {
ld = limitAddress(chan);
ld->min = min;
ld->max = max;
ld->ppmCenter = center;
}
resumeMixerCalculations();
storageDirty(EE_MODEL);
}
#if defined(STARTUP_ANIMATION) #if defined(STARTUP_ANIMATION)

View file

@ -867,6 +867,7 @@ void instantTrim();
void evalTrims(); void evalTrims();
void copyTrimsToOffset(uint8_t ch); void copyTrimsToOffset(uint8_t ch);
void copySticksToOffset(uint8_t ch); void copySticksToOffset(uint8_t ch);
void copyMinMaxToOutputs(uint8_t ch);
void moveTrimsToOffsets(); void moveTrimsToOffsets();
typedef uint16_t ACTIVE_PHASES_TYPE; typedef uint16_t ACTIVE_PHASES_TYPE;

View file

@ -536,6 +536,7 @@ const char STR_PT[] = TR_PT;
const char STR_PTS[] = TR_PTS; const char STR_PTS[] = TR_PTS;
const char STR_SMOOTH[] = TR_SMOOTH; const char STR_SMOOTH[] = TR_SMOOTH;
const char STR_COPY_STICKS_TO_OFS[] = TR_COPY_STICKS_TO_OFS; const char STR_COPY_STICKS_TO_OFS[] = TR_COPY_STICKS_TO_OFS;
const char STR_COPY_MIN_MAX_TO_OUTPUTS[] = TR_COPY_MIN_MAX_TO_OUTPUTS;
const char STR_COPY_TRIMS_TO_OFS[] = TR_COPY_TRIMS_TO_OFS; const char STR_COPY_TRIMS_TO_OFS[] = TR_COPY_TRIMS_TO_OFS;
const char STR_INCDEC[] = TR_INCDEC; const char STR_INCDEC[] = TR_INCDEC;
const char STR_GLOBALVAR[] = TR_GLOBALVAR; const char STR_GLOBALVAR[] = TR_GLOBALVAR;

View file

@ -821,6 +821,7 @@ extern const char STR_PT[];
extern const char STR_PTS[]; extern const char STR_PTS[];
extern const char STR_SMOOTH[]; extern const char STR_SMOOTH[];
extern const char STR_COPY_STICKS_TO_OFS[]; extern const char STR_COPY_STICKS_TO_OFS[];
extern const char STR_COPY_MIN_MAX_TO_OUTPUTS[];
extern const char STR_COPY_TRIMS_TO_OFS[]; extern const char STR_COPY_TRIMS_TO_OFS[];
extern const char STR_INCDEC[]; extern const char STR_INCDEC[];
extern const char STR_GLOBALVAR[]; extern const char STR_GLOBALVAR[];

View file

@ -962,6 +962,7 @@
#define TR_PTS " b." #define TR_PTS " b."
#define TR_SMOOTH "Hladká" #define TR_SMOOTH "Hladká"
#define TR_COPY_STICKS_TO_OFS TR("Páky do subtrimu", "Kopie pák do subtrimu") #define TR_COPY_STICKS_TO_OFS TR("Páky do subtrimu", "Kopie pák do subtrimu")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Trimy do subtrimu", "Kopíe trimů do subtrimu") #define TR_COPY_TRIMS_TO_OFS TR("Trimy do subtrimu", "Kopíe trimů do subtrimu")
#define TR_INCDEC "Zvěšit/Zmenšit" #define TR_INCDEC "Zvěšit/Zmenšit"
#define TR_GLOBALVAR "Glob. proměnná" #define TR_GLOBALVAR "Glob. proměnná"

View file

@ -968,6 +968,7 @@
#define TR_PTS "Pts" #define TR_PTS "Pts"
#define TR_SMOOTH "Runden" #define TR_SMOOTH "Runden"
#define TR_COPY_STICKS_TO_OFS TR("Copy Stk ->Subtrim", "Kopie Stick to Servo-Mitte") #define TR_COPY_STICKS_TO_OFS TR("Copy Stk ->Subtrim", "Kopie Stick to Servo-Mitte")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Copy Trim->Subtrim", "Kopie Trimm to Servo-Mitte") // "Trim to Subtrim" #define TR_COPY_TRIMS_TO_OFS TR("Copy Trim->Subtrim", "Kopie Trimm to Servo-Mitte") // "Trim to Subtrim"
#define TR_INCDEC "Inc/Decrement" #define TR_INCDEC "Inc/Decrement"
#define TR_GLOBALVAR "Global Var" #define TR_GLOBALVAR "Global Var"

View file

@ -967,6 +967,7 @@
#define TR_PTS "pts" #define TR_PTS "pts"
#define TR_SMOOTH "Smooth" #define TR_SMOOTH "Smooth"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy sticks to subtrim") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy sticks to subtrim")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim")
#define TR_INCDEC "Inc/Decrement" #define TR_INCDEC "Inc/Decrement"
#define TR_GLOBALVAR "Global var" #define TR_GLOBALVAR "Global var"

View file

@ -987,6 +987,7 @@
#define TR_PTS "pts" #define TR_PTS "pts"
#define TR_SMOOTH "Smooth" #define TR_SMOOTH "Smooth"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy Sticks To Offset") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy Sticks To Offset")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim")
#define TR_INCDEC "Inc/Decrement" #define TR_INCDEC "Inc/Decrement"
#define TR_GLOBALVAR "Global Var" #define TR_GLOBALVAR "Global Var"

View file

@ -981,6 +981,7 @@
#define TR_PTS "pts" #define TR_PTS "pts"
#define TR_SMOOTH "Smooth" #define TR_SMOOTH "Smooth"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy Sticks To Offset") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy Sticks To Offset")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim")
#define TR_INCDEC "Inc/Decrement" #define TR_INCDEC "Inc/Decrement"
#define TR_GLOBALVAR "Global Var" #define TR_GLOBALVAR "Global Var"

View file

@ -983,6 +983,7 @@
#define TR_PTS "pts" #define TR_PTS "pts"
#define TR_SMOOTH "Lissage" #define TR_SMOOTH "Lissage"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Manche vers subtrim") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Manche vers subtrim")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Trim vers subtrim") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Trim vers subtrim")
#define TR_INCDEC "Inc/décrementer" #define TR_INCDEC "Inc/décrementer"
#define TR_GLOBALVAR "Var. globale" #define TR_GLOBALVAR "Var. globale"

View file

@ -983,6 +983,7 @@
#define TR_PTS "pti" #define TR_PTS "pti"
#define TR_SMOOTH "Smussa" #define TR_SMOOTH "Smussa"
#define TR_COPY_STICKS_TO_OFS TR(INDENT "Cp. stick->subtrim", INDENT "Copia Sticks su Subtrim") #define TR_COPY_STICKS_TO_OFS TR(INDENT "Cp. stick->subtrim", INDENT "Copia Sticks su Subtrim")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR(INDENT "Cp. trim->subtrim", INDENT "Copia Trims su Subtrim") #define TR_COPY_TRIMS_TO_OFS TR(INDENT "Cp. trim->subtrim", INDENT "Copia Trims su Subtrim")
#define TR_INCDEC "Inc/Decrementa" #define TR_INCDEC "Inc/Decrementa"
#define TR_GLOBALVAR "Var Globale" #define TR_GLOBALVAR "Var Globale"

View file

@ -969,6 +969,7 @@
#define TR_PTS "Ptn" #define TR_PTS "Ptn"
#define TR_SMOOTH "Zacht" #define TR_SMOOTH "Zacht"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Kopieer Sticks naar Subtrim") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Kopieer Sticks naar Subtrim")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Kopieer Trim naar Subtrim") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Kopieer Trim naar Subtrim")
#define TR_INCDEC "Inc/Decrement" #define TR_INCDEC "Inc/Decrement"
#define TR_GLOBALVAR "Globale Var" #define TR_GLOBALVAR "Globale Var"

View file

@ -982,6 +982,7 @@
#define TR_PTS "pkty" #define TR_PTS "pkty"
#define TR_SMOOTH "Gładka" #define TR_SMOOTH "Gładka"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Skopiuj Drążki Do Offsetu") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Skopiuj Drążki Do Offsetu")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Skopiuj Trymery Do subtrymerów") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Skopiuj Trymery Do subtrymerów")
#define TR_INCDEC "Zwiększ/Zmnie" #define TR_INCDEC "Zwiększ/Zmnie"
#define TR_GLOBALVAR "Zm.Global." #define TR_GLOBALVAR "Zm.Global."

View file

@ -972,6 +972,7 @@
#define TR_PTS "pts" #define TR_PTS "pts"
#define TR_SMOOTH "Smooth" #define TR_SMOOTH "Smooth"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy Sticks To Offset") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Copy Sticks To Offset")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Copy trims to subtrim")
#define TR_INCDEC "Inc/Decrement" #define TR_INCDEC "Inc/Decrement"
#define TR_GLOBALVAR "Global Var" #define TR_GLOBALVAR "Global Var"

View file

@ -982,6 +982,7 @@
#define TR_PTS "pkt" #define TR_PTS "pkt"
#define TR_SMOOTH "Mjuk" #define TR_SMOOTH "Mjuk"
#define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Spara spakar som subtrim") #define TR_COPY_STICKS_TO_OFS TR("Cpy stick->subtrim", "Spara spakar som subtrim")
#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Cpy min/max to all", "Copy min/max/center to all outputs")
#define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Spara trimmar som subtrim") #define TR_COPY_TRIMS_TO_OFS TR("Cpy trim->subtrim", "Spara trimmar som subtrim")
#define TR_INCDEC "Inkr/Dekrement" #define TR_INCDEC "Inkr/Dekrement"
#define TR_GLOBALVAR "Globala Var" #define TR_GLOBALVAR "Globala Var"