1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-17 21:35:27 +03:00
Conflicts:
	radio/src/gui/view_main.cpp
This commit is contained in:
bsongis 2014-09-15 11:28:46 +02:00
parent 0ac40ab41f
commit 9ec17f6e68
8 changed files with 35 additions and 30 deletions

View file

@ -302,7 +302,7 @@ RawSourceRange RawSource::getRange(const ModelData & model, const GeneralSetting
break; break;
default: default:
result.max = (model.extendedLimits ? 125 : 100); result.max = model.getChannelsMax(true);
result.min = -result.max; result.min = -result.max;
break; break;
} }
@ -724,7 +724,7 @@ void FuncSwData::clear()
QString FuncSwData::funcToString() QString FuncSwData::funcToString()
{ {
ModelData model; ModelData model;
if (func >= FuncSafetyCh1 && func <= FuncSafetyCh32) if (func >= FuncOverrideCH1 && func <= FuncOverrideCH32)
return QObject::tr("Override %1").arg(RawSource(SOURCE_TYPE_CH, func).toString(model)); return QObject::tr("Override %1").arg(RawSource(SOURCE_TYPE_CH, func).toString(model));
else if (func == FuncTrainer) else if (func == FuncTrainer)
return QObject::tr("Trainer"); return QObject::tr("Trainer");
@ -1311,9 +1311,9 @@ ModelData ModelData::removeGlobalVars()
return result; return result;
} }
int ModelData::getChannelsMax() int ModelData::getChannelsMax(bool forceExtendedLimits) const
{ {
if (extendedLimits) if (forceExtendedLimits || extendedLimits)
return IS_TARANIS(GetCurrentFirmware()->getBoard()) ? 150 : 125; return IS_TARANIS(GetCurrentFirmware()->getBoard()) ? 150 : 125;
else else
return 100; return 100;

View file

@ -727,8 +727,8 @@ class LogicalSwitchData { // Logical Switches data
}; };
enum AssignFunc { enum AssignFunc {
FuncSafetyCh1 = 0, FuncOverrideCH1 = 0,
FuncSafetyCh32 = FuncSafetyCh1+C9X_NUM_CHNOUT-1, FuncOverrideCH32 = FuncOverrideCH1+C9X_NUM_CHNOUT-1,
FuncTrainer, FuncTrainer,
FuncTrainerRUD, FuncTrainerRUD,
FuncTrainerELE, FuncTrainerELE,
@ -758,7 +758,7 @@ enum AssignFunc {
class FuncSwData { // Function Switches data class FuncSwData { // Function Switches data
public: public:
FuncSwData(AssignFunc func=FuncSafetyCh1) { clear(); this->func = func; } FuncSwData(AssignFunc func=FuncOverrideCH1) { clear(); this->func = func; }
RawSwitch swtch; RawSwitch swtch;
AssignFunc func; AssignFunc func;
int param; int param;
@ -1049,7 +1049,7 @@ class ModelData {
void clearMixes(); void clearMixes();
void clearInputs(); void clearInputs();
int getChannelsMax(); int getChannelsMax(bool forceExtendedLimits=false) const;
protected: protected:
void removeGlobalVar(int & var); void removeGlobalVar(int & var);

View file

@ -576,7 +576,7 @@ t_Open9xArmFuncSwData_v208::operator FuncSwData ()
FuncSwData c9x; FuncSwData c9x;
c9x.swtch = open9xArmToSwitch(swtch); c9x.swtch = open9xArmToSwitch(swtch);
c9x.func = (AssignFunc)(func); c9x.func = (AssignFunc)(func);
if (c9x.func <= FuncSafetyCh32) { if (c9x.func <= FuncOverrideCH32) {
c9x.enabled=param & 0x01; c9x.enabled=param & 0x01;
c9x.param = (param>>1)<<1; c9x.param = (param>>1)<<1;
} }

View file

@ -1924,10 +1924,10 @@ class ArmCustomFunctionField: public TransformedField {
else else
_active = (fn.enabled ? 1 : 0); _active = (fn.enabled ? 1 : 0);
if (fn.func >= FuncSafetyCh1 && fn.func <= FuncSafetyCh32) { if (fn.func >= FuncOverrideCH1 && fn.func <= FuncOverrideCH32) {
if (version >= 216) { if (version >= 216) {
*((uint16_t *)_param) = fn.param; *((uint16_t *)_param) = fn.param;
*((uint8_t *)(_param+3)) = fn.func - FuncSafetyCh1; *((uint8_t *)(_param+3)) = fn.func - FuncOverrideCH1;
} }
else { else {
*((uint32_t *)_param) = fn.param; *((uint32_t *)_param) = fn.param;
@ -2012,7 +2012,7 @@ class ArmCustomFunctionField: public TransformedField {
value = *((uint32_t *)_param); value = *((uint32_t *)_param);
} }
if (fn.func >= FuncSafetyCh1 && fn.func <= FuncSafetyCh32) { if (fn.func >= FuncOverrideCH1 && fn.func <= FuncOverrideCH32) {
fn.func = AssignFunc(fn.func + index); fn.func = AssignFunc(fn.func + index);
fn.param = (int8_t)value; fn.param = (int8_t)value;
} }
@ -2123,9 +2123,9 @@ class AvrCustomFunctionField: public TransformedField {
_param = fn.param; _param = fn.param;
_active = (fn.enabled ? 1 : 0); _active = (fn.enabled ? 1 : 0);
if (fn.func >= FuncSafetyCh1 && fn.func <= FuncSafetyCh32) { if (fn.func >= FuncOverrideCH1 && fn.func <= FuncOverrideCH32) {
if (version >= 216) if (version >= 216)
_union_param = fn.func - FuncSafetyCh1; _union_param = fn.func - FuncOverrideCH1;
else if (version >= 213) else if (version >= 213)
_active += ((fn.func % 4) << 1); _active += ((fn.func % 4) << 1);
} }
@ -2183,7 +2183,7 @@ class AvrCustomFunctionField: public TransformedField {
fn.enabled = (_active & 0x01); fn.enabled = (_active & 0x01);
} }
if (fn.func >= FuncSafetyCh1 && fn.func <= FuncSafetyCh32) { if (fn.func >= FuncOverrideCH1 && fn.func <= FuncOverrideCH32) {
if (version >= 216) if (version >= 216)
fn.func = AssignFunc(fn.func + _union_param); fn.func = AssignFunc(fn.func + _union_param);
else if (version >= 213) else if (version >= 213)

View file

@ -318,11 +318,12 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified)
int index = fswtchFunc[i]->currentIndex(); int index = fswtchFunc[i]->currentIndex();
if (index>=FuncSafetyCh1 && index<=FuncSafetyCh32) { if (index>=FuncOverrideCH1 && index<=FuncOverrideCH32) {
int channelsMax = model.getChannelsMax(true);
fswtchParam[i]->setDecimals(0); fswtchParam[i]->setDecimals(0);
fswtchParam[i]->setSingleStep(1); fswtchParam[i]->setSingleStep(1);
fswtchParam[i]->setMinimum(-125); fswtchParam[i]->setMinimum(-channelsMax);
fswtchParam[i]->setMaximum(125); fswtchParam[i]->setMaximum(channelsMax);
if (modified) { if (modified) {
model.funcSw[i].param = fswtchParam[i]->value(); model.funcSw[i].param = fswtchParam[i]->value();
} }
@ -590,7 +591,7 @@ void CustomFunctionsPanel::populateFuncCB(QComboBox *b, unsigned int value)
b->clear(); b->clear();
for (unsigned int i=0; i<FuncCount; i++) { for (unsigned int i=0; i<FuncCount; i++) {
b->addItem(FuncSwData(AssignFunc(i)).funcToString()); b->addItem(FuncSwData(AssignFunc(i)).funcToString());
if (((i>=FuncSafetyCh1 && i<=FuncSafetyCh32) && !firmware->getCapability(SafetyChannelCustomFunction)) || if (((i>=FuncOverrideCH1 && i<=FuncOverrideCH32) && !firmware->getCapability(SafetyChannelCustomFunction)) ||
((i==FuncVolume || i==FuncBackgroundMusic || i==FuncBackgroundMusicPause) && !firmware->getCapability(HasVolume)) || ((i==FuncVolume || i==FuncBackgroundMusic || i==FuncBackgroundMusicPause) && !firmware->getCapability(HasVolume)) ||
((i==FuncPlayHaptic) && !firmware->getCapability(Haptic)) || ((i==FuncPlayHaptic) && !firmware->getCapability(Haptic)) ||
((i==FuncPlayBoth) && !firmware->getCapability(HasBeeper)) || ((i==FuncPlayBoth) && !firmware->getCapability(HasBeeper)) ||

View file

@ -11,6 +11,8 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
ModelPanel(parent, model, generalSettings, firmware), ModelPanel(parent, model, generalSettings, firmware),
selectedSwitch(0) selectedSwitch(0)
{ {
int channelsMax = model.getChannelsMax(true);
QGridLayout * gridLayout = new QGridLayout(this); QGridLayout * gridLayout = new QGridLayout(this);
int col = 1; int col = 1;
@ -48,8 +50,8 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
gridLayout->addWidget(cswitchSource1[i], i+1, 2); gridLayout->addWidget(cswitchSource1[i], i+1, 2);
cswitchSource1[i]->setVisible(false); cswitchSource1[i]->setVisible(false);
cswitchValue[i] = new QDoubleSpinBox(this); cswitchValue[i] = new QDoubleSpinBox(this);
cswitchValue[i]->setMaximum(125); cswitchValue[i]->setMaximum(channelsMax);
cswitchValue[i]->setMinimum(-125); cswitchValue[i]->setMinimum(-channelsMax);
cswitchValue[i]->setAccelerated(true); cswitchValue[i]->setAccelerated(true);
cswitchValue[i]->setDecimals(0); cswitchValue[i]->setDecimals(0);
cswitchValue[i]->setProperty("index", i); cswitchValue[i]->setProperty("index", i);
@ -66,8 +68,8 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
cswitchSource2[i]->setVisible(false); cswitchSource2[i]->setVisible(false);
cswitchOffset[i] = new QDoubleSpinBox(this); cswitchOffset[i] = new QDoubleSpinBox(this);
cswitchOffset[i]->setProperty("index",i); cswitchOffset[i]->setProperty("index",i);
cswitchOffset[i]->setMaximum(125); cswitchOffset[i]->setMaximum(channelsMax);
cswitchOffset[i]->setMinimum(-125); cswitchOffset[i]->setMinimum(-channelsMax);
cswitchOffset[i]->setAccelerated(true); cswitchOffset[i]->setAccelerated(true);
cswitchOffset[i]->setDecimals(0); cswitchOffset[i]->setDecimals(0);
connect(cswitchOffset[i], SIGNAL(valueChanged(double)), this, SLOT(edited())); connect(cswitchOffset[i], SIGNAL(valueChanged(double)), this, SLOT(edited()));
@ -75,8 +77,8 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model,
v2Layout->addWidget(cswitchOffset[i]); v2Layout->addWidget(cswitchOffset[i]);
cswitchOffset2[i] = new QDoubleSpinBox(this); cswitchOffset2[i] = new QDoubleSpinBox(this);
cswitchOffset2[i]->setProperty("index",i); cswitchOffset2[i]->setProperty("index",i);
cswitchOffset2[i]->setMaximum(125); cswitchOffset2[i]->setMaximum(channelsMax);
cswitchOffset2[i]->setMinimum(-125); cswitchOffset2[i]->setMinimum(-channelsMax);
cswitchOffset2[i]->setAccelerated(true); cswitchOffset2[i]->setAccelerated(true);
cswitchOffset2[i]->setDecimals(0); cswitchOffset2[i]->setDecimals(0);
connect(cswitchOffset2[i], SIGNAL(valueChanged(double)), this, SLOT(edited())); connect(cswitchOffset2[i], SIGNAL(valueChanged(double)), this, SLOT(edited()));

View file

@ -4557,7 +4557,7 @@ void menuModelLogicalSwitchOne(uint8_t event)
else else
#endif #endif
{ {
v2_min = -125; v2_max = 125; v2_min = -LIMIT_EXT_PERCENT; v2_max = +LIMIT_EXT_PERCENT;
lcd_outdezAtt(CSWONE_2ND_COLUMN, y, cs->v2, LEFT|attr); lcd_outdezAtt(CSWONE_2ND_COLUMN, y, cs->v2, LEFT|attr);
} }
} }
@ -4853,7 +4853,7 @@ void menuModelLogicalSwitches(uint8_t event)
else else
#endif #endif
{ {
v2_min = -125; v2_max = +125; v2_min = -LIMIT_EXT_PERCENT; v2_max = +LIMIT_EXT_PERCENT;
} }
} }
#else #else
@ -4863,7 +4863,7 @@ void menuModelLogicalSwitches(uint8_t event)
} }
else { else {
lcd_outdezAtt(CSW_3RD_COLUMN, y, cs->v2, LEFT|attr2); lcd_outdezAtt(CSW_3RD_COLUMN, y, cs->v2, LEFT|attr2);
v2_min = -125; v2_max = 125; v2_min = -LIMIT_EXT_PERCENT; v2_max = +LIMIT_EXT_PERCENT;
} }
#endif #endif
} }
@ -5182,8 +5182,10 @@ void menuModelCustomFunctions(uint8_t event)
} }
#if defined(OVERRIDE_CHANNEL_FUNCTION) #if defined(OVERRIDE_CHANNEL_FUNCTION)
else if (func == FUNC_OVERRIDE_CHANNEL) { else if (func == FUNC_OVERRIDE_CHANNEL) {
#if !defined(CPUARM)
val_displayed = (int8_t)CFN_PARAM(sd); val_displayed = (int8_t)CFN_PARAM(sd);
val_min = -125; val_max = 125; #endif
val_min = -LIMIT_EXT_PERCENT; val_max = +LIMIT_EXT_PERCENT;
lcd_outdezAtt(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, val_displayed, attr|LEFT); lcd_outdezAtt(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, val_displayed, attr|LEFT);
} }
#endif #endif

View file

@ -167,7 +167,7 @@ void displayTrims(uint8_t phase)
#if !defined(CPUM64) || !defined(FRSKY) #if !defined(CPUM64) || !defined(FRSKY)
int16_t dir = val; int16_t dir = val;
bool exttrim = false; bool exttrim = false;
if (val < -125 || val > 125) { if (val < TRIM_MIN || val > TRIM_MAX) {
exttrim = true; exttrim = true;
} }
#endif #endif