mirror of
https://github.com/opentx/opentx.git
synced 2025-07-24 00:35:18 +03:00
Fixes #1852
Conflicts: companion/src/firmwares/opentx/opentxeeprom.cpp companion/src/modeledit/customfunctions.cpp
This commit is contained in:
parent
47067b9169
commit
a690352100
4 changed files with 22 additions and 3 deletions
|
@ -854,6 +854,8 @@ QString CustomFunctionData::funcToString()
|
||||||
return QObject::tr("Play Both");
|
return QObject::tr("Play Both");
|
||||||
else if (func == FuncPlayValue)
|
else if (func == FuncPlayValue)
|
||||||
return QObject::tr("Play Value");
|
return QObject::tr("Play Value");
|
||||||
|
else if (func == FuncPlayScript)
|
||||||
|
return QObject::tr("Play Script");
|
||||||
else if (func == FuncLogs)
|
else if (func == FuncLogs)
|
||||||
return QObject::tr("Start Logs");
|
return QObject::tr("Start Logs");
|
||||||
else if (func == FuncVolume)
|
else if (func == FuncVolume)
|
||||||
|
|
|
@ -629,6 +629,7 @@ enum AssignFunc {
|
||||||
FuncPlayPrompt,
|
FuncPlayPrompt,
|
||||||
FuncPlayBoth,
|
FuncPlayBoth,
|
||||||
FuncPlayValue,
|
FuncPlayValue,
|
||||||
|
FuncPlayScript,
|
||||||
FuncLogs,
|
FuncLogs,
|
||||||
FuncVolume,
|
FuncVolume,
|
||||||
FuncBacklight,
|
FuncBacklight,
|
||||||
|
|
|
@ -1879,7 +1879,10 @@ class CustomFunctionsConversionTable: public ConversionTable {
|
||||||
addConversion(FuncPlayValue, val++);
|
addConversion(FuncPlayValue, val++);
|
||||||
if (IS_ARM(board)) {
|
if (IS_ARM(board)) {
|
||||||
addConversion(FuncReserve, val++);
|
addConversion(FuncReserve, val++);
|
||||||
addConversion(FuncReserve, val++);
|
if (IS_TARANIS(board))
|
||||||
|
addConversion(FuncPlayScript, val++);
|
||||||
|
else
|
||||||
|
addConversion(FuncReserve, val++);
|
||||||
addConversion(FuncReserve, val++);
|
addConversion(FuncReserve, val++);
|
||||||
addConversion(FuncBackgroundMusic, val++);
|
addConversion(FuncBackgroundMusic, val++);
|
||||||
addConversion(FuncBackgroundMusicPause, val++);
|
addConversion(FuncBackgroundMusicPause, val++);
|
||||||
|
@ -2023,7 +2026,7 @@ class ArmCustomFunctionField: public TransformedField {
|
||||||
*((uint8_t *)(_param+3)) = fn.func - FuncSetTimer1;
|
*((uint8_t *)(_param+3)) = fn.func - FuncSetTimer1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (fn.func == FuncPlayPrompt || fn.func == FuncBackgroundMusic) {
|
else if (fn.func == FuncPlayPrompt || fn.func == FuncBackgroundMusic || fn.func == FuncPlayScript) {
|
||||||
memcpy(_param, fn.paramarm, sizeof(_param));
|
memcpy(_param, fn.paramarm, sizeof(_param));
|
||||||
}
|
}
|
||||||
else if (fn.func >= FuncAdjustGV1 && fn.func <= FuncAdjustGVLast) {
|
else if (fn.func >= FuncAdjustGV1 && fn.func <= FuncAdjustGVLast) {
|
||||||
|
@ -2107,7 +2110,7 @@ class ArmCustomFunctionField: public TransformedField {
|
||||||
fn.func = AssignFunc(fn.func + index);
|
fn.func = AssignFunc(fn.func + index);
|
||||||
fn.param = value;
|
fn.param = value;
|
||||||
}
|
}
|
||||||
else if (fn.func == FuncPlayPrompt || fn.func == FuncBackgroundMusic) {
|
else if (fn.func == FuncPlayPrompt || fn.func == FuncBackgroundMusic || fn.func == FuncPlayScript) {
|
||||||
memcpy(fn.paramarm, _param, sizeof(fn.paramarm));
|
memcpy(fn.paramarm, _param, sizeof(fn.paramarm));
|
||||||
}
|
}
|
||||||
else if (fn.func == FuncVolume) {
|
else if (fn.func == FuncVolume) {
|
||||||
|
|
|
@ -475,6 +475,18 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
|
||||||
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM;
|
widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (func==FuncPlayScript) {
|
||||||
|
widgetsMask |= CUSTOM_FUNCTION_FILE_PARAM;
|
||||||
|
if (modified) {
|
||||||
|
memset(cfn.paramarm, 0, sizeof(cfn.paramarm));
|
||||||
|
int vml = 8/*TODO*/;
|
||||||
|
if (fswtchParamArmT[i]->currentText() != "----") {
|
||||||
|
for (int j=0; j<std::min(fswtchParamArmT[i]->currentText().length(), vml); j++) {
|
||||||
|
cfn.paramarm[j] = fswtchParamArmT[i]->currentText().toAscii().at(j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (func==FuncBacklight && IS_TARANIS_PLUS(GetEepromInterface()->getBoard())) {
|
else if (func==FuncBacklight && IS_TARANIS_PLUS(GetEepromInterface()->getBoard())) {
|
||||||
if (modified) cfn.param = (uint8_t)fswtchBLcolor[i]->value();
|
if (modified) cfn.param = (uint8_t)fswtchBLcolor[i]->value();
|
||||||
fswtchBLcolor[i]->setValue(cfn.param);
|
fswtchBLcolor[i]->setValue(cfn.param);
|
||||||
|
@ -597,6 +609,7 @@ void CustomFunctionsPanel::populateFuncCB(QComboBox *b, unsigned int value)
|
||||||
for (unsigned int i=0; i<FuncCount; i++) {
|
for (unsigned int i=0; i<FuncCount; i++) {
|
||||||
if (((i>=FuncOverrideCH1 && i<=FuncOverrideCH32) && (!model || !firmware->getCapability(SafetyChannelCustomFunction))) ||
|
if (((i>=FuncOverrideCH1 && i<=FuncOverrideCH32) && (!model || !firmware->getCapability(SafetyChannelCustomFunction))) ||
|
||||||
((i==FuncVolume || i==FuncBackgroundMusic || i==FuncBackgroundMusicPause) && !firmware->getCapability(HasVolume)) ||
|
((i==FuncVolume || i==FuncBackgroundMusic || i==FuncBackgroundMusicPause) && !firmware->getCapability(HasVolume)) ||
|
||||||
|
((i==FuncPlayScript && !IS_TARANIS(firmware->getBoard()))) ||
|
||||||
((i==FuncPlayHaptic) && !firmware->getCapability(Haptic)) ||
|
((i==FuncPlayHaptic) && !firmware->getCapability(Haptic)) ||
|
||||||
((i==FuncPlayBoth) && !firmware->getCapability(HasBeeper)) ||
|
((i==FuncPlayBoth) && !firmware->getCapability(HasBeeper)) ||
|
||||||
((i==FuncLogs) && !firmware->getCapability(HasSDLogs)) ||
|
((i==FuncLogs) && !firmware->getCapability(HasSDLogs)) ||
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue