MEGA2560 board added to Companion

This commit is contained in:
Bertrand Songis
2014-12-11 21:11:19 +01:00
committed by bsongis
parent 5ddc741732
commit b66096107f
4 changed files with 26 additions and 17 deletions
@@ -53,7 +53,8 @@ const int Gruvin9xInterface::getEEpromSize()
return EESIZE_STOCK*2;
}
return EESIZE_STOCK;
} else {
}
else {
return EESIZE_GRUVIN9X;
}
}
@@ -62,6 +62,8 @@ const char * OpenTxEepromInterface::getName()
return "OpenTX for 9X board";
case BOARD_M128:
return "OpenTX for M128 / 9X board";
case BOARD_MEGA2560:
return "OpenTX for MEGA2560 board";
case BOARD_GRUVIN9X:
return "OpenTX for Gruvin9x board / 9X";
case BOARD_TARANIS:
@@ -86,6 +88,7 @@ const int OpenTxEepromInterface::getEEpromSize()
return EESIZE_STOCK;
case BOARD_M128:
return EESIZE_M128;
case BOARD_MEGA2560:
case BOARD_GRUVIN9X:
return EESIZE_GRUVIN9X;
case BOARD_SKY9X:
@@ -107,7 +110,7 @@ const int OpenTxEepromInterface::getMaxModels()
return 60;
else if (board == BOARD_M128)
return 30;
else if (board == BOARD_GRUVIN9X)
else if (IS_2560(board))
return 30;
else
return 16;
@@ -530,7 +533,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
case FlightModes:
if (IS_ARM(board))
return 9;
else if (board==BOARD_GRUVIN9X)
else if (IS_2560(board))
return 6;
else
return 5;
@@ -559,7 +562,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
return 1;
case GvarsAreNamed:
case GvarsFlightModes:
return ((IS_ARM(board) || board==BOARD_GRUVIN9X) ? 1 : 0);
return ((IS_ARM(board) || IS_2560(board)) ? 1 : 0);
case Mixes:
return (IS_TARANIS(board) ? 64 : (IS_ARM(board) ? 60 : 32));
case OffsetWeight:
@@ -569,7 +572,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
case TimersName:
return (IS_TARANIS(board) ? 8 : (IS_ARM(board) ? 3 : 0));
case PermTimers:
if (board == BOARD_GRUVIN9X || IS_ARM(board))
if (IS_2560(board) || IS_ARM(board))
return 1;
else
return 0;
@@ -584,7 +587,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
return 64;
else if (IS_ARM(board))
return 60;
else if (board==BOARD_GRUVIN9X||board==BOARD_M128)
else if (IS_2560(board) || board==BOARD_M128)
return 24;
else
return 16;
@@ -622,7 +625,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
case SoundPitch:
return 1;
case Haptic:
return (board == BOARD_GRUVIN9X || IS_SKY9X(board) || IS_TARANIS_PLUS(board) || id.contains("haptic"));
return (IS_2560(board) || IS_SKY9X(board) || IS_TARANIS_PLUS(board) || id.contains("haptic"));
case ModelTrainerEnable:
if (IS_ARM(board))
return 1;
@@ -653,7 +656,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
case HasCvNames:
return (IS_TARANIS(board) ? 1 : 0);
case Telemetry:
if (board == BOARD_GRUVIN9X || IS_ARM(board) || id.contains("frsky") || id.contains("telemetrez"))
if (IS_2560(board) || IS_ARM(board) || id.contains("frsky") || id.contains("telemetrez"))
return TM_HASTELEMETRY|TM_HASOFFSET|TM_HASWSHH;
else
return 0;
@@ -682,7 +685,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
case HasVario:
return 1;
case HasVarioSink:
return ((board == BOARD_GRUVIN9X || IS_ARM(board)) ? true : false);
return ((IS_2560(board) || IS_ARM(board)) ? true : false);
case HasFailsafe:
return (IS_ARM(board) ? 32 : 0);
case NumModules:
@@ -704,7 +707,7 @@ int OpenTxFirmware::getCapability(const Capability capability)
case CSFunc:
return 18;
case HasSDLogs:
return ((board == BOARD_GRUVIN9X || IS_ARM(board)) ? true : false);
return ((IS_2560(board) || IS_ARM(board)) ? true : false);
case LCDWidth:
return (IS_TARANIS(board) ? 212 : 128) ;
case GetThrSwitch:
@@ -1012,6 +1015,7 @@ QString OpenTxFirmware::getFirmwareUrl()
case BOARD_STOCK:
case BOARD_M128:
case BOARD_GRUVIN9X:
case BOARD_MEGA2560:
url.append(QString("/getfw.php?fw=%1.hex").arg(id));
break;
case BOARD_SKY9X:
@@ -1050,6 +1054,7 @@ SimulatorInterface * OpenTxFirmware::getSimulator()
case BOARD_M128:
return new OpenTxM128Simulator();
case BOARD_GRUVIN9X:
case BOARD_MEGA2560:
return new Open9xGruvin9xSimulator();
case BOARD_SKY9X:
case BOARD_9XRPRO:
@@ -1234,6 +1239,11 @@ void registerOpenTxFirmwares()
addOpenTxCommonOptions(openTx);
firmwares.push_back(openTx);
/* MEGA2560 board */
openTx = new OpenTxFirmware("opentx-mega2560", QObject::tr("OpenTX for MEGA2560 board"), BOARD_MEGA2560);
addOpenTxCommonOptions(openTx);
firmwares.push_back(openTx);
/* Sky9x board */
openTx = new OpenTxFirmware("opentx-sky9x", QObject::tr("OpenTX for Sky9x board / 9X"), BOARD_SKY9X);
openTx->addOption("heli", QObject::tr("Enable HELI menu and cyclic mix support"));
+2 -4
View File
@@ -694,6 +694,8 @@ void SetupPanel::updateStartupSwitches()
unsigned int switchStates = model->switchWarningStates;
for (int i=0; i<firmware->getCapability(Switches); i++) {
if (!IS_TARANIS(firmware->getBoard()) && i==firmware->getCapability(Switches)-1)
continue;
QSlider * slider = startupSwitchesSliders[i];
QCheckBox * cb = startupSwitchesCheckboxes[i];
bool enabled = !(model->switchWarningEnable & (1 << i));
@@ -704,10 +706,6 @@ void SetupPanel::updateStartupSwitches()
switchStates >>= 2;
}
else {
if (i == firmware->getCapability(Switches)-1) {
// Trainer switch, no switch warning
continue;
}
slider->setValue(i==0 ? switchStates & 0x3 : switchStates & 0x1);
switchStates >>= (i==0 ? 2 : 1);
}
+3 -3
View File
@@ -1680,7 +1680,7 @@ enum SwitchSources {
#if defined(PCBSKY9X)
SWSRC_REa,
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#elif defined(CPUM2560)
SWSRC_REa,
SWSRC_REb,
#endif
@@ -1760,7 +1760,7 @@ enum MixSources {
#if defined(PCBSKY9X)
MIXSRC_REa,
MIXSRC_LAST_ROTARY_ENCODER = MIXSRC_REa,
#elif defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#elif defined(CPUM2560)
MIXSRC_REa,
MIXSRC_REb,
#if ROTARY_ENCODERS > 2
@@ -1997,7 +1997,7 @@ enum FailsafeModes {
#define TELEMETRY_DATA
#endif
#if defined(CPUARM) || defined(PCBGRUVIN9X) || defined(PCBMEGA2560)
#if defined(CPUARM) || defined(CPUM2560)
#define BeepANACenter uint16_t
#else
#define BeepANACenter uint8_t