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

9XR support n companion, still not finished

This commit is contained in:
root 2013-12-21 15:45:05 +01:00
parent d396e85fe0
commit ee1b51b214
12 changed files with 86 additions and 40 deletions

View file

@ -276,7 +276,7 @@ QString avrOutputDialog::getProgrammer()
EEPROMInterface *eepromInterface = GetEepromInterface();
if (IS_TARANIS(eepromInterface->getBoard())) {
return "DFU Util";
} else if (eepromInterface->getBoard()==BOARD_SKY9X) {
} else if IS_SKY9X(eepromInterface->getBoard()) {
return "SAM-BA";
} else {
return "AVRDUDE";

View file

@ -36,7 +36,7 @@ burnConfigDialog::burnConfigDialog(QWidget *parent) :
ui->samba_location->hide();
ui->samba_port->hide();
ui->sb_browse->hide();
} else if (eepromInterface->getBoard()==BOARD_SKY9X) {
} else if (IS_SKY9X(eepromInterface->getBoard())) {
setWindowTitle(tr("SAM-BA Configuration"));
ui->avrArgs->hide();
ui->avrdude_location->hide();
@ -388,7 +388,7 @@ void burnConfigDialog::on_advCtrChkB_toggled(bool checked)
if (IS_TARANIS(eepromInterface->getBoard())) {
ui->label_dfu2->show();
ui->dfuArgs->show();
} else if (eepromInterface->getBoard()==BOARD_SKY9X) {
} else if (IS_SKY9X(eepromInterface->getBoard())) {
ui->label_sb2->show();
ui->arm_mcu->show();
} else {
@ -402,7 +402,7 @@ void burnConfigDialog::on_advCtrChkB_toggled(bool checked)
if (IS_TARANIS(eepromInterface->getBoard())) {
ui->label_dfu2->hide();
ui->dfuArgs->hide();
} else if (eepromInterface->getBoard()==BOARD_SKY9X) {
} else if (IS_SKY9X(eepromInterface->getBoard())) {
ui->label_sb2->hide();
ui->arm_mcu->hide();
} else {

View file

@ -384,10 +384,10 @@ QString RawSwitch::toString()
break;
case SWITCH_TYPE_REA:
if (index==0) {
if (GetEepromInterface()->getBoard() == BOARD_SKY9X)
if (IS_SKY9X(eepromInterface->getBoard()))
return QObject::tr("REAs");
} else if (index==1) {
if (GetEepromInterface()->getBoard() == BOARD_SKY9X)
if (IS_SKY9X(eepromInterface->getBoard()))
return QObject::tr("REAl");
}
break;
@ -638,6 +638,7 @@ void RegisterEepromInterfaces()
eepromInterfaces.push_back(new Open9xInterface(BOARD_M128));
eepromInterfaces.push_back(new Open9xInterface(BOARD_GRUVIN9X));
eepromInterfaces.push_back(new Open9xInterface(BOARD_SKY9X));
eepromInterfaces.push_back(new Open9xInterface(BOARD_9XRPRO));
eepromInterfaces.push_back(new Open9xInterface(BOARD_TARANIS));
if (rev4a)
eepromInterfaces.push_back(new Open9xInterface(BOARD_TARANIS_REV4a));

View file

@ -37,6 +37,7 @@
#define EESIZE_TARANIS (32*1024)
#define EESIZE_TARANIS_REV4a (64*1024)
#define EESIZE_SKY9X (128*4096)
#define EESIZE_9XRPRO (128*4096)
#define EESIZE_RLC_MAX EESIZE_TARANIS_REV4a
template<class t> t LIMIT(t mi, t x, t ma) { return std::min(std::max(mi, x), ma); }
@ -46,11 +47,13 @@ enum BoardEnum {
BOARD_M128,
BOARD_GRUVIN9X,
BOARD_SKY9X,
BOARD_9XRPRO,
BOARD_TARANIS,
BOARD_TARANIS_REV4a
};
#define IS_STOCK(board) (board==BOARD_STOCK || board==BOARD_M128)
#define IS_ARM(board) (board==BOARD_SKY9X || board==BOARD_TARANIS || board==BOARD_TARANIS_REV4a)
#define IS_ARM(board) (board==BOARD_SKY9X || board==BOARD_9XRPRO || board==BOARD_TARANIS || board==BOARD_TARANIS_REV4a)
#define IS_SKY9X(board) (board==BOARD_SKY9X || board==BOARD_9XRPRO)
#define IS_TARANIS(board) (board==BOARD_TARANIS || board==BOARD_TARANIS_REV4a)
const uint8_t modn12x3[4][4]= {

View file

@ -37,7 +37,7 @@ void EFile::EeFsCreate(uint8_t *eeprom, int size, BoardEnum board)
this->eeprom_size = size;
this->board = board;
if (board == BOARD_SKY9X) {
if (IS_SKY9X(board)) {
memset(eeprom, 0xFF, size);
}
else if (IS_TARANIS(board)) {
@ -101,7 +101,7 @@ bool EFile::EeFsOpen(uint8_t *eeprom, int size, BoardEnum board)
this->eeprom_size = size;
this->board = board;
if (board == BOARD_SKY9X) {
if (IS_SKY9X(board)) {
return 1;
}
else if (IS_TARANIS(board)) {
@ -254,7 +254,7 @@ unsigned int EFile::size(unsigned int id)
unsigned int EFile::openRd(unsigned int i_fileId)
{
if (board == BOARD_SKY9X) {
if (IS_SKY9X(board)) {
m_fileId = get_current_block_number(i_fileId * 2, &m_size);
m_pos = sizeof(t_eeprom_header);
return 1;
@ -298,7 +298,7 @@ unsigned int EFile::readRlc12(uint8_t *buf, unsigned int i_len, bool rlc2)
{
memset(buf, 0, i_len);
if (board == BOARD_SKY9X) {
if (IS_SKY9X(board)) {
int len = std::min((int)i_len, (int)m_size + (int)sizeof(t_eeprom_header) - (int)m_pos);
if (len > 0) {
eeprom_read_block(buf, (m_fileId << 12) + m_pos, len);
@ -461,7 +461,7 @@ unsigned int EFile::writeRlc1(unsigned int i_fileId, unsigned int typ, const uin
*/
unsigned int EFile::writeRlc2(unsigned int i_fileId, unsigned int typ, const uint8_t *buf, unsigned int i_len)
{
if (board == BOARD_SKY9X) {
if (IS_SKY9X(board)) {
openRd(i_fileId);
eeprom_write_block(buf, (m_fileId << 12) + m_pos, i_len);
t_eeprom_header header;

View file

@ -14,7 +14,7 @@
#define MAX_POTS(board) (IS_TARANIS(board) ? 4 : 3)
#define MAX_SWITCHES(board) (IS_TARANIS(board) ? 8 : 7)
#define MAX_SWITCHES_POSITION(board) (IS_TARANIS(board) ? 22 : 9)
#define MAX_ROTARY_ENCODERS(board) (board==BOARD_GRUVIN9X ? 2 : (board==BOARD_SKY9X ? 1 : 0))
#define MAX_ROTARY_ENCODERS(board) (board==BOARD_GRUVIN9X ? 2 : (IS_SKY9X(board) ? 1 : 0))
#define MAX_PHASES(board, version) (IS_ARM(board) ? 9 : (IS_DBLRAM(board, version) ? 6 : 5))
#define MAX_MIXERS(board, version) (IS_ARM(board) ? 64 : 32)
#define MAX_CHANNELS(board, version) (IS_ARM(board) ? 32 : 16)
@ -963,7 +963,7 @@ class CustomSwitchesAndSwitchesConversionTable: public ConversionTable {
addConversion(RawSwitch(SWITCH_TYPE_VIRTUAL, i), val++);
}
}
else if (board == BOARD_SKY9X) {
else if (IS_SKY9X(board)) {
for (int i=1; i<=8; i++) {
int s = switchIndex(i, board, version);
addConversion(RawSwitch(SWITCH_TYPE_SWITCH, -s), -val);

View file

@ -72,6 +72,8 @@ const char * Open9xInterface::getName()
return "openTx for FrSky Taranis Rev4a";
case BOARD_SKY9X:
return "openTx for Sky9x board / 9X";
case BOARD_9XRPRO:
return "openTx for 9XR-PRO";
default:
return "openTx for an unknown board";
}
@ -88,6 +90,8 @@ const int Open9xInterface::getEEpromSize()
return EESIZE_GRUVIN9X;
case BOARD_SKY9X:
return EESIZE_SKY9X;
case BOARD_9XRPRO:
return EESIZE_9XRPRO;
case BOARD_TARANIS:
return EESIZE_TARANIS;
case BOARD_TARANIS_REV4a:
@ -194,7 +198,7 @@ bool Open9xInterface::loadModel(uint8_t version, ModelData &model, uint8_t *data
if (board == BOARD_GRUVIN9X) {
return loadModel<Open9xGruvin9xModelData_v208>(model, data, index, 0 /*no more stick mode messed*/);
}
else if (board == BOARD_SKY9X) {
else if (IS_SKY9X(board)) {
return loadModel<Open9xArmModelData_v208>(model, data, index, 0 /*no more stick mode messed*/);
}
else {
@ -205,7 +209,7 @@ bool Open9xInterface::loadModel(uint8_t version, ModelData &model, uint8_t *data
if (board == BOARD_GRUVIN9X) {
return loadModel<Open9xGruvin9xModelData_v209>(model, data, index, 0 /*no more stick mode messed*/);
}
else if (board == BOARD_SKY9X) {
else if (IS_SKY9X(board)) {
return loadModel<Open9xArmModelData_v209>(model, data, index, 0 /*no more stick mode messed*/);
}
else {
@ -216,7 +220,7 @@ bool Open9xInterface::loadModel(uint8_t version, ModelData &model, uint8_t *data
if (board == BOARD_GRUVIN9X) {
return loadModel<Open9xGruvin9xModelData_v210>(model, data, index, 0 /*no more stick mode messed*/);
}
else if (board == BOARD_SKY9X) {
else if (IS_SKY9X(board)) {
return loadModel<Open9xArmModelData_v210>(model, data, index, 0 /*no more stick mode messed*/);
}
else {
@ -227,7 +231,7 @@ bool Open9xInterface::loadModel(uint8_t version, ModelData &model, uint8_t *data
if (board == BOARD_GRUVIN9X) {
return loadModel<Open9xGruvin9xModelData_v211>(model, data, index, 0 /*no more stick mode messed*/);
}
else if (board == BOARD_SKY9X) {
else if (IS_SKY9X(board)) {
return loadModel<Open9xArmModelData_v211>(model, data, index, 0 /*no more stick mode messed*/);
}
else {
@ -235,7 +239,7 @@ bool Open9xInterface::loadModel(uint8_t version, ModelData &model, uint8_t *data
}
}
else if (version == 212) {
if (board == BOARD_SKY9X) {
if (IS_SKY9X(board)) {
return loadModel<Open9xArmModelData_v212>(model, data, index);
}
else {
@ -373,6 +377,9 @@ int Open9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t varian
case BOARD_SKY9X:
version = 215;
break;
case BOARD_9XRPRO:
version = 215;
break;
case BOARD_GRUVIN9X:
version = 214;
break;
@ -423,7 +430,7 @@ int Open9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t varian
case 208:
if (board == BOARD_GRUVIN9X)
result = saveModel<Open9xGruvin9xModelData_v208>(i, radioData.models[i]);
else if (board == BOARD_SKY9X)
else if (IS_SKY9X(board))
result = saveModel<Open9xArmModelData_v208>(i, radioData.models[i]);
else
result = saveModel<Open9xModelData_v208>(i, radioData.models[i]);
@ -431,7 +438,7 @@ int Open9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t varian
case 209:
if (board == BOARD_GRUVIN9X)
result = saveModel<Open9xGruvin9xModelData_v209>(i, radioData.models[i]);
else if (board == BOARD_SKY9X)
else if (IS_SKY9X(board))
result = saveModel<Open9xArmModelData_v209>(i, radioData.models[i]);
else
result = saveModel<Open9xModelData_v209>(i, radioData.models[i]);
@ -439,7 +446,7 @@ int Open9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t varian
case 210:
if (board == BOARD_GRUVIN9X)
result = saveModel<Open9xGruvin9xModelData_v210>(i, radioData.models[i]);
else if (board == BOARD_SKY9X)
else if (IS_SKY9X(board))
result = saveModel<Open9xArmModelData_v210>(i, radioData.models[i]);
else
result = saveModel<Open9xModelData_v210>(i, radioData.models[i]);
@ -447,13 +454,13 @@ int Open9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t varian
case 211:
if (board == BOARD_GRUVIN9X)
result = saveModel<Open9xGruvin9xModelData_v211>(i, radioData.models[i]);
else if (board == BOARD_SKY9X)
else if (IS_SKY9X(board))
result = saveModel<Open9xArmModelData_v211>(i, radioData.models[i]);
else
result = saveModel<Open9xModelData_v211>(i, radioData.models[i]);
break;
case 212:
if (board == BOARD_SKY9X)
if (IS_SKY9X(board))
result = saveModel<Open9xArmModelData_v212>(i, radioData.models[i]);
else
result = saveModelVariant<Open9xModelDataNew>(i, radioData.models[i], version, variant);
@ -477,7 +484,7 @@ int Open9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t varian
int Open9xInterface::getSize(ModelData &model)
{
if (board == BOARD_SKY9X)
if (IS_SKY9X(board))
return 0;
if (model.isempty())
@ -501,7 +508,7 @@ int Open9xInterface::getSize(ModelData &model)
int Open9xInterface::getSize(GeneralSettings &settings)
{
if (board == BOARD_SKY9X)
if (IS_SKY9X(board))
return 0;
uint8_t tmp[EESIZE_RLC_MAX];
@ -580,7 +587,7 @@ int Open9xInterface::getCapability(const Capability capability)
case Timers:
return 2;
case PermTimers:
if (board == BOARD_GRUVIN9X || board == BOARD_SKY9X || IS_TARANIS(board) )
if (board == BOARD_GRUVIN9X || IS_ARM(board))
return 1;
else
return 0;
@ -618,7 +625,7 @@ int Open9xInterface::getCapability(const Capability capability)
case RotaryEncoders:
if (board == BOARD_GRUVIN9X)
return 2;
else if (board == BOARD_SKY9X)
else if (IS_SKY9X(board))
return 1;
else
return 0;
@ -754,13 +761,13 @@ int Open9xInterface::getCapability(const Capability capability)
case HasFailsafe:
if (IS_TARANIS(board))
return 32; //
return (board==BOARD_SKY9X ? 16 : 0);
return (IS_SKY9X(board) ? 16 : 0);
case NumModules:
return (IS_ARM(board) ? 2 : 1);
case HasPPMStart:
return (IS_ARM(board) ? true : false);
case HasCurrentCalibration:
return (board==BOARD_SKY9X ? true : false);
return (IS_SKY9X(board) ? true : false);
case HasVolume:
return (IS_ARM(board) ? true : false);
case HasBrightness:
@ -831,7 +838,7 @@ int Open9xInterface::isAvailable(Protocol proto, int port)
return 0;
}
}
else if (board==BOARD_SKY9X) {
else if (IS_SKY9X(board)) {
switch (port) {
case 0:
switch (proto) {
@ -884,6 +891,8 @@ SimulatorInterface * Open9xInterface::getSimulator()
return new Open9xGruvin9xSimulator(this);
case BOARD_SKY9X:
return new Open9xSky9xSimulator(this);
case BOARD_9XRPRO:
return new Open9xSky9xSimulator(this);
case BOARD_TARANIS:
return new OpentxTaranisSimulator(this);
case BOARD_TARANIS_REV4a:
@ -1041,6 +1050,7 @@ QString geturl( int board)
url.append("/getfw.php?fw=%1.hex");
break;
case BOARD_SKY9X:
case BOARD_9XRPRO:
case BOARD_TARANIS:
case BOARD_TARANIS_REV4a:
url.append("/getfw.php?fw=%1.bin");
@ -1073,6 +1083,7 @@ QString getstamp( int board)
case BOARD_GRUVIN9X:
url.append("v4.txt");
break;
case BOARD_9XRPRO:
case BOARD_SKY9X:
url.append("arm.txt");
break;
@ -1102,6 +1113,7 @@ QString getrnurl( int board)
case BOARD_STOCK:
case BOARD_M128:
case BOARD_GRUVIN9X:
case BOARD_9XRPRO:
case BOARD_SKY9X:
url.append("9x.txt");
break;
@ -1309,6 +1321,31 @@ void RegisterOpen9xFirmwares()
open9x->addOption("bluetooth", QObject::tr("Bluetooth interface"));
open9x->addOptions(fai_options);
firmwares.push_back(open9x);
/* SKY9X board */
open9x = new Open9xFirmware("opentx-9xrpro", QObject::tr("openTx for 9xr-pro board / 9X"), new Open9xInterface(BOARD_SKY9X), geturl(BOARD_SKY9X), getstamp(BOARD_SKY9X),getrnurl(BOARD_SKY9X), true);
open9x->setVariantBase(FRSKY_VARIANT);
open9x->addOption("heli", QObject::tr("Enable HELI menu and cyclic mix support"));
open9x->addOption("templates", QObject::tr("Enable TEMPLATES menu"));
open9x->addOption("nofp", QObject::tr("No flight modes"));
open9x->addOption("nocurves", QObject::tr("Disable curves menus"));
open9x->addOption("ppmca", QObject::tr("PPM center adjustment in limits"));
open9x->addOption("ppmus", QObject::tr("PPM values displayed in us"));
open9x->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT);
open9x->addOption("symlimits", QObject::tr("Symetrical Limits"));
open9x->addOption("potscroll", QObject::tr("Pots use in menus navigation"));
open9x->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving some of them"));
open9x->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving some of them"));
open9x->addOption("dblkeys", QObject::tr("Enable resetting values by pressing up and down at the same time"));
open9x->addOption("nographics", QObject::tr("No graphical check boxes and sliders"));
open9x->addOption("battgraph", QObject::tr("Battery graph"));
open9x->addOption("nobold", QObject::tr("Don't use bold font for highlighting active items"));
open9x->addOption("sqt5font", QObject::tr("Use alternative SQT5 font"));
open9x->addOption("tsticks", QObject::tr("Use FrSky Taranis sticks in a 9X/9XR"));
open9x->addOption("bluetooth", QObject::tr("Bluetooth interface"));
open9x->addOptions(fai_options);
firmwares.push_back(open9x);
#endif
/* Taranis board */

View file

@ -109,6 +109,7 @@ class Open9xFirmware: public FirmwareInfo {
virtual unsigned int getEepromVersion(unsigned int revision) {
switch(this->eepromInterface->getBoard()) {
case BOARD_9XRPRO:
case BOARD_SKY9X:
if (revision == 0)
return 212;

View file

@ -847,7 +847,7 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr,
if (item == value) b->setCurrentIndex(b->count()-1);
}
}
if (GetEepromInterface()->getBoard()==BOARD_SKY9X) {
if (IS_SKY9X(GetEepromInterface()->getBoard())) {
item = RawSwitch(SWITCH_TYPE_REA,0);
if (GetEepromInterface()->isAvailable(item, context)) {
b->addItem(item.toString(), item.toValue());

View file

@ -833,7 +833,7 @@ QString MainWindow::GetAvrdudeLocation()
EEPROMInterface *eepromInterface = GetEepromInterface();
if (IS_TARANIS(eepromInterface->getBoard())) {
return bcd.getDFU();
} else if (eepromInterface->getBoard()==BOARD_SKY9X) {
} else if (IS_SKY9X(GetEepromInterface()->getBoard())) {
return bcd.getSAMBA();
} else {
return bcd.getAVRDUDE();
@ -920,7 +920,7 @@ QStringList MainWindow::GetReceiveEEpromCommand(const QString &filename)
EEPROMInterface *eepromInterface = GetEepromInterface();
if (IS_TARANIS(eepromInterface->getBoard())) {
// return NULL; // to be implemented
} else if (eepromInterface->getBoard() == BOARD_SKY9X) {
} else if (IS_SKY9X(eepromInterface->getBoard())) {
ret=GetSambaArguments(QString("SERIALFLASH::Init 0\n") + "receive_file {SerialFlash AT25} \"" + filename + "\" 0x0 0x80000 0\n");
} else {
ret=GetAvrdudeArguments("eeprom:r:", filename);
@ -934,7 +934,7 @@ QStringList MainWindow::GetSendEEpromCommand(const QString &filename)
EEPROMInterface *eepromInterface = GetEepromInterface();
if (IS_TARANIS(eepromInterface->getBoard())) {
// return NULL; // to be implemented
} else if (eepromInterface->getBoard() == BOARD_SKY9X) {
} else if (IS_SKY9X(eepromInterface->getBoard())) {
ret=GetSambaArguments(QString("SERIALFLASH::Init 0\n") + "send_file {SerialFlash AT25} \"" + filename + "\" 0x0 0\n");
} else {
ret=GetAvrdudeArguments("eeprom:w:", filename);
@ -950,6 +950,8 @@ QStringList MainWindow::GetSendFlashCommand(const QString &filename)
ret=GetDFUUtilArguments("-D", filename);
} else if (eepromInterface->getBoard() == BOARD_SKY9X) {
ret=GetSambaArguments(QString("send_file {Flash} \"") + filename + "\" 0x400000 0\n" + "FLASH::ScriptGPNMV 2\n");
} else if (eepromInterface->getBoard() == BOARD_9XRPRO) {
ret=GetSambaArguments(QString("send_file {Flash} \"") + filename + "\" 0x400000 0\n" + "FLASH::ScriptGPNMV 2\n");
} else {
ret=GetAvrdudeArguments("flash:w:", filename);
}
@ -963,6 +965,8 @@ QStringList MainWindow::GetReceiveFlashCommand(const QString &filename)
return GetDFUUtilArguments("-U", filename);
} else if (eepromInterface->getBoard() == BOARD_SKY9X) {
return GetSambaArguments(QString("receive_file {Flash} \"") + filename + "\" 0x400000 0x40000 0\n");
} else if (eepromInterface->getBoard() == BOARD_9XRPRO) {
return GetSambaArguments(QString("receive_file {Flash} \"") + filename + "\" 0x400000 0x40000 0\n");
} else {
return GetAvrdudeArguments("flash:r:", filename);
}

View file

@ -127,7 +127,7 @@ bool MdiChild::hasSelection()
void MdiChild::updateTitle()
{
QString title = userFriendlyCurrentFile() + "[*]"+" ("+GetEepromInterface()->getName()+QString(")");
if (GetEepromInterface()->getBoard() != BOARD_SKY9X)
if (!IS_SKY9X(GetEepromInterface()->getBoard()))
title += QString(" - %1 ").arg(EEPromAvail) + tr("free bytes");
setWindowTitle(title);
}
@ -345,7 +345,7 @@ bool MdiChild::saveAs(bool isNew)
{
QSettings settings("companion9x", "companion9x");
QString fileName;
if (GetEepromInterface()->getBoard() == BOARD_SKY9X) {
if (IS_SKY9X(GetEepromInterface()->getBoard())) {
curFile.replace(".eepe", ".bin");
QFileInfo fi(curFile);
#ifdef __APPLE__
@ -381,7 +381,7 @@ bool MdiChild::saveFile(const QString &fileName, bool setCurrent)
{
QString myFile;
myFile = fileName;
if (GetEepromInterface()->getBoard() == BOARD_SKY9X) {
if (IS_SKY9X(GetEepromInterface()->getBoard())) {
myFile.replace(".eepe", ".bin");
}
QFile file(myFile);

View file

@ -286,7 +286,7 @@ void ModelsListWidget::refreshList()
QString item = QString().sprintf("%02d: ", i+1);
if (!radioData->models[i].isempty()) {
if (eepromInterface && eepromInterface->getBoard() == BOARD_SKY9X) {
if (eepromInterface && IS_SKY9X(eepromInterface->getBoard())) {
if (radioData->models[i].name[0]==0) {
QString modelname="Model";
modelname.append(QString().sprintf("%02d", i+1));
@ -330,7 +330,7 @@ void ModelsListWidget::refreshList()
this->item(radioData->generalSettings.currModel+1)->setFont(f);
}
if (eepromInterface && eepromInterface->getBoard() != BOARD_SKY9X) {
if (eepromInterface && !IS_SKY9X(eepromInterface->getBoard())) {
((MdiChild*)parent())->setEEpromAvail((availableEEpromSize/16)*15);
}
}