diff --git a/DONATIONS.txt b/DONATIONS.txt
index f3bf27e41..c85c6de97 100644
--- a/DONATIONS.txt
+++ b/DONATIONS.txt
@@ -325,3 +325,5 @@ Reginald H Millsom
Emanuel Stassar
Pierluigi Sommaruga
Rafael Eric Suarez Nordlow
+A Harris
+Stefan Grunenberg
diff --git a/companion/src/appdata.cpp b/companion/src/appdata.cpp
index 21145f978..ec634da4d 100644
--- a/companion/src/appdata.cpp
+++ b/companion/src/appdata.cpp
@@ -188,17 +188,17 @@ void CompStoreObj::getset( int &number, const QString tag, const int def, const
}
// ** FwRevision class********************
-int FwRevision::get( const QString fwName )
+int FwRevision::get( const QString fwType )
{
QString result;
- retrieve( result, fwName, "", "FwRevisions" );
+ retrieve( result, fwType, "", "FwRevisions" );
return result.toInt();
}
-void FwRevision::set( const QString fwName, const int fwRevision )
+void FwRevision::set( const QString fwType, const int fwRevision )
{
QString tempString= QString("%1").arg(fwRevision);
- store( tempString, tempString, fwName, "FwRevisions" );
+ store( tempString, tempString, fwType, "FwRevisions" );
}
void FwRevision::remove( const QString tag )
@@ -280,13 +280,13 @@ void JStickData::flush()
// ** Profile class********************
// Get declarations
-QString Profile::firmware() const { return _firmware; }
+QString Profile::fwName() const { return _fwName; }
+QString Profile::fwType() const { return _fwType; }
QString Profile::name() const { return _name; }
QString Profile::sdPath() const { return _sdPath; }
QString Profile::splashFile() const { return _splashFile; }
bool Profile::burnFirmware() const { return _burnFirmware; }
bool Profile::renameFwFiles() const { return _renameFwFiles; }
-bool Profile::patchImage() const { return _patchImage; }
int Profile::channelOrder() const { return _channelOrder; }
int Profile::defaultMode() const { return _defaultMode; }
@@ -305,12 +305,12 @@ int Profile::vBatWarn() const { return _vBatWarn; }
// Set declarations
void Profile::name (const QString x) { store(x, _name, "Name" ,"Profiles", QString("profile%1").arg(index));}
-void Profile::firmware (const QString x) { store(x, _firmware, "firmware" ,"Profiles", QString("profile%1").arg(index));}
+void Profile::fwName (const QString x) { store(x, _fwName, "fwName" ,"Profiles", QString("profile%1").arg(index));}
+void Profile::fwType (const QString x) { store(x, _fwType, "fwType" ,"Profiles", QString("profile%1").arg(index));}
void Profile::sdPath (const QString x) { store(x, _sdPath, "sdPath" ,"Profiles", QString("profile%1").arg(index));}
void Profile::splashFile (const QString x) { store(x, _splashFile, "SplashFileName" ,"Profiles", QString("profile%1").arg(index));}
void Profile::burnFirmware (const bool x) { store(x, _burnFirmware, "burnFirmware" ,"Profiles", QString("profile%1").arg(index));}
void Profile::renameFwFiles (const bool x) { store(x, _renameFwFiles, "rename_firmware_files" ,"Profiles", QString("profile%1").arg(index));}
-void Profile::patchImage (const bool x) { store(x, _patchImage, "patchImage" ,"Profiles", QString("profile%1").arg(index));}
void Profile::channelOrder (const int x) { store(x, _channelOrder, "default_channel_order" ,"Profiles", QString("profile%1").arg(index));}
void Profile::defaultMode (const int x) { store(x, _defaultMode, "default_mode" ,"Profiles", QString("profile%1").arg(index));}
@@ -337,12 +337,12 @@ Profile::Profile()
Profile& Profile::operator=(const Profile& rhs)
{
name ( rhs.name() );
- firmware ( rhs.firmware() );
+ fwName ( rhs.fwName() );
+ fwType ( rhs.fwType() );
sdPath ( rhs.sdPath() );
splashFile ( rhs.splashFile() );
burnFirmware ( rhs.burnFirmware() );
renameFwFiles( rhs.renameFwFiles() );
- patchImage ( rhs.patchImage() );
channelOrder ( rhs.channelOrder() );
defaultMode ( rhs.defaultMode() );
beeper ( rhs.beeper() );
@@ -389,13 +389,13 @@ void Profile::init(int newIndex)
{
index = newIndex;
- _firmware = "";
+ _fwName = "";
+ _fwType = "";
_name = "";
_sdPath = "";
_splashFile = "";
_burnFirmware = false;
_renameFwFiles = false;
- _patchImage = false;
_channelOrder = 0;
_defaultMode = 1;
@@ -423,13 +423,13 @@ void Profile::init(int newIndex)
void Profile::flush()
{
// Load and store all variables. Use default values if setting values are missing
- getset( _firmware, "firmware" ,"" ,"Profiles", QString("profile%1").arg(index));
+ getset( _fwName, "fwName" ,"" ,"Profiles", QString("profile%1").arg(index));
+ getset( _fwType, "fwType" ,"" ,"Profiles", QString("profile%1").arg(index));
getset( _name, "Name" ,"" ,"Profiles", QString("profile%1").arg(index));
getset( _sdPath, "sdPath" ,"" ,"Profiles", QString("profile%1").arg(index));
getset( _splashFile, "SplashFileName" ,"" ,"Profiles", QString("profile%1").arg(index));
getset( _burnFirmware, "burnFirmware" ,false ,"Profiles", QString("profile%1").arg(index));
getset( _renameFwFiles, "rename_firmware_files" ,false ,"Profiles", QString("profile%1").arg(index));
- getset( _patchImage, "patchImage" ,false ,"Profiles", QString("profile%1").arg(index));
getset( _channelOrder, "default_channel_order" ,0 ,"Profiles", QString("profile%1").arg(index));
getset( _defaultMode, "default_mode" ,1 ,"Profiles", QString("profile%1").arg(index));
@@ -464,7 +464,6 @@ QString AppData::compileServer() { return _compileServer; }
QString AppData::cpuId() { return _cpuId; }
QString AppData::dfuArguments() { return _dfuArguments; }
QString AppData::dfuLocation() { return _dfuLocation; }
-QString AppData::lastFw() { return _lastFw; }
QString AppData::locale() { return _locale; }
QString AppData::mcu() { return _mcu; }
QString AppData::programmer() { return _programmer; }
@@ -519,7 +518,6 @@ void AppData::compileServer (const QString x) { store(x, _compileServer,
void AppData::cpuId (const QString x) { store(x, _cpuId, "cpu_id" );}
void AppData::dfuArguments (const QString x) { store(x, _dfuArguments, "dfu_arguments" );}
void AppData::dfuLocation (const QString x) { store(x, _dfuLocation, "dfu_location" );}
-void AppData::lastFw (const QString x) { store(x, _lastFw, "lastFw" );}
void AppData::locale (const QString x) { store(x, _locale, "locale" );}
void AppData::mcu (const QString x) { store(x, _mcu, "mcu" );}
void AppData::programmer (const QString x) { store(x, _programmer, "programmer" );}
@@ -586,11 +584,11 @@ AppData::AppData()
// Store old values in new locations
autoCheckApp(settings.value("startup_check_companion9x", true).toBool());
- // Convert and store the firmware name
- QString firmware = settings.value("firmware", "").toString();
- firmware.replace("open9x","opentx");
- firmware.replace("x9da","taranis");
- profile[0].firmware( firmware );
+ // Convert and store the firmware type
+ QString fwType = settings.value("firmware", "").toString();
+ fwType.replace("open9x","opentx");
+ fwType.replace("x9da","taranis");
+ profile[0].fwType( fwType );
// Move the Companion9x profile settings to profile0, the new default profile
profile[0].name( settings.value( "Name", "" ).toString());
@@ -598,7 +596,6 @@ AppData::AppData()
profile[0].splashFile( settings.value( "SplashFileName", "" ).toString());
profile[0].burnFirmware( settings.value( "burnFirmware", false ).toBool());
profile[0].renameFwFiles( settings.value( "rename_firmware_files", false ).toBool());
- profile[0].patchImage( settings.value( "patchImage", false ).toBool());
profile[0].channelOrder( settings.value( "default_channel_order", "0" ).toInt());
profile[0].defaultMode( settings.value( "default_mode", "1" ).toInt());
@@ -613,6 +610,7 @@ AppData::AppData()
settings.remove("default_channel_order");
settings.remove("default_mode");
settings.remove("firmware");
+ settings.remove("lastFw");
settings.remove("Name");
settings.remove("patchImage");
settings.remove("rename_firmware_files");
@@ -638,7 +636,6 @@ AppData::AppData()
getset( _cpuId, "cpu_id" ,"" );
getset( _dfuArguments, "dfu_arguments" ,"-a 0" );
getset( _dfuLocation, "dfu_location" ,"" );
- getset( _lastFw, "lastFw" ,"" );
getset( _locale, "locale" ,"" );
getset( _mcu, "mcu" ,"m64" );
getset( _programmer, "programmer" ,"usbasp" );
diff --git a/companion/src/appdata.h b/companion/src/appdata.h
index 210b8ae8f..479229221 100644
--- a/companion/src/appdata.h
+++ b/companion/src/appdata.h
@@ -92,13 +92,13 @@ class Profile: protected CompStoreObj
int index;
// Application Variables
- QString _firmware;
+ QString _fwName;
+ QString _fwType;
QString _name;
QString _sdPath;
QString _splashFile;
bool _burnFirmware;
bool _renameFwFiles;
- bool _patchImage;
int _channelOrder;
int _defaultMode;
@@ -118,13 +118,13 @@ class Profile: protected CompStoreObj
public:
// All the get definitions
- QString firmware() const;
+ QString fwName() const;
+ QString fwType() const;
QString name() const;
QString sdPath() const;
QString splashFile() const;
bool burnFirmware() const;
bool renameFwFiles() const;
- bool patchImage() const;
int channelOrder() const;
int defaultMode() const;
@@ -143,12 +143,12 @@ class Profile: protected CompStoreObj
// All the set definitions
void name (const QString);
- void firmware (const QString);
+ void fwName (const QString);
+ void fwType (const QString);
void sdPath (const QString);
void splashFile (const QString);
void burnFirmware (const bool);
void renameFwFiles (const bool);
- void patchImage (const bool);
void channelOrder (const int);
void defaultMode (const int);
@@ -195,7 +195,6 @@ class AppData: protected CompStoreObj
QString _cpuId;
QString _dfuArguments;
QString _dfuLocation;
- QString _lastFw;
QString _locale;
QString _mcu;
QString _programmer;
@@ -251,7 +250,7 @@ class AppData: protected CompStoreObj
QString cpuId();
QString dfuArguments();
QString dfuLocation();
- QString lastFw();
+ QString lastFw();
QString locale();
QString mcu();
QString programmer();
@@ -287,7 +286,7 @@ class AppData: protected CompStoreObj
int iconSize();
int historySize();
int jsCtrl();
- int modelEditTab();
+ int modelEditTab(); // This variable is unused an can be removed
int id();
int theme();
int warningId();
diff --git a/companion/src/apppreferencesdialog.cpp b/companion/src/apppreferencesdialog.cpp
index 5215fda5e..96f5268c3 100644
--- a/companion/src/apppreferencesdialog.cpp
+++ b/companion/src/apppreferencesdialog.cpp
@@ -63,7 +63,8 @@ void appPreferencesDialog::writeValues()
g.profile[g.id()].name(ui->profileNameLE->text());
g.profile[g.id()].sdPath(ui->sdPath->text());
g.profile[g.id()].splashFile(ui->SplashFileName->text());
- g.profile[g.id()].firmware(ui->firmwareLE->text());
+ g.profile[g.id()].fwName(ui->fwNameLE->text());
+ g.profile[g.id()].fwType(ui->fwTypeLE->text());
saveProfile();
}
@@ -145,7 +146,8 @@ void appPreferencesDialog::initSettings()
ui->renameFirmware->setChecked(g.profile[g.id()].renameFwFiles());
ui->sdPath->setText(g.profile[g.id()].sdPath());
ui->profileNameLE->setText(g.profile[g.id()].name());
- ui->firmwareLE->setText(g.profile[g.id()].firmware());
+ ui->fwNameLE->setText(g.profile[g.id()].fwName());
+ ui->fwTypeLE->setText(g.profile[g.id()].fwType());
ui->SplashFileName->setText(g.profile[g.id()].splashFile());
displayImage( g.profile[g.id()].splashFile() );
@@ -248,7 +250,8 @@ void appPreferencesDialog::saveProfile()
g.profile[g.id()].renameFwFiles( ui->renameFirmware->isChecked());
g.profile[g.id()].sdPath( ui->sdPath->text());
g.profile[g.id()].splashFile( ui->SplashFileName->text());
- g.profile[g.id()].firmware( ui->firmwareLE->text());
+ g.profile[g.id()].fwName( ui->fwNameLE->text());
+ g.profile[g.id()].fwType( ui->fwTypeLE->text());
}
void appPreferencesDialog::on_removeProfileButton_clicked()
@@ -274,31 +277,11 @@ bool appPreferencesDialog::displayImage( QString fileName )
// Use the firmware name to determine splash width
int width = SPLASH_WIDTH;
- if (g.profile[g.id()].firmware().contains("taranis"))
+ if (g.profile[g.id()].fwType().contains("taranis"))
width = SPLASHX9D_WIDTH;
-
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(width, SPLASH_HEIGHT)));
- if (width==SPLASHX9D_WIDTH) {
- image=image.convertToFormat(QImage::Format_RGB32);
- QRgb col;
- int gray, height = image.height();
- for (int i = 0; i < width; ++i) {
- for (int j = 0; j < height; ++j) {
- col = image.pixel(i, j);
- gray = qGray(col);
- image.setPixel(i, j, qRgb(gray, gray, gray));
- }
- }
- ui->imageLabel->setPixmap(QPixmap::fromImage(image));
- }
- else {
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.convertToFormat(QImage::Format_Mono)));
- }
- if (width == SPLASH_WIDTH)
- ui->imageLabel->setFixedSize(SPLASH_WIDTH, SPLASH_HEIGHT);
- else
- ui->imageLabel->setFixedSize(SPLASHX9D_WIDTH, SPLASHX9D_HEIGHT);
-
+
+ ui->imageLabel->setPixmap( makePixMap( image, g.profile[g.id()].fwType()));
+ ui->imageLabel->setFixedSize(width, SPLASH_HEIGHT);
return true;
}
diff --git a/companion/src/apppreferencesdialog.ui b/companion/src/apppreferencesdialog.ui
index 98824f3b5..bdaaff9d4 100644
--- a/companion/src/apppreferencesdialog.ui
+++ b/companion/src/apppreferencesdialog.ui
@@ -502,7 +502,7 @@
Radio Settings Profile
- -
+
-
@@ -556,7 +556,7 @@ Mode 4:
- -
+
-
@@ -706,7 +706,7 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
@@ -726,7 +726,7 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
Qt::Vertical
@@ -739,7 +739,7 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
@@ -752,7 +752,7 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
@@ -768,14 +768,14 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
Append version number to FW file name
- -
+
-
@@ -791,7 +791,7 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
true
@@ -813,7 +813,7 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
Qt::Horizontal
@@ -826,35 +826,35 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
Offer to write FW to Tx after download
- -
+
-
Remove Profile
- -
+
-
Open Folder
- -
+
-
Qt::Horizontal
- -
+
-
true
@@ -879,12 +879,12 @@ This is used by the templated to determine which channel goes to what number out
-
- Firmware
+ Firmware Variant
-
-
+
false
@@ -902,14 +902,14 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
Select Image
- -
+
-
Clear Image
@@ -932,7 +932,7 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
@@ -956,7 +956,10 @@ This is used by the templated to determine which channel goes to what number out
QFrame::Panel
- QFrame::Raised
+ QFrame::Plain
+
+
+ 1
@@ -966,13 +969,39 @@ This is used by the templated to determine which channel goes to what number out
- -
+
-
Qt::Horizontal
+ -
+
+
+ Firmware File
+
+
+
+ -
+
+
+ false
+
+
+
+ 350
+ 0
+
+
+
+
+ 350
+ 16777215
+
+
+
+
diff --git a/companion/src/burndialog.cpp b/companion/src/burndialog.cpp
index 764f84ab8..617c7ea9e 100644
--- a/companion/src/burndialog.cpp
+++ b/companion/src/burndialog.cpp
@@ -9,6 +9,7 @@
#include "hexinterface.h"
#include "appdata.h"
+// Type 1 = Burn EEPROM, Type 2= Burn Flash
burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * backupEE, QString DocName):
QDialog(parent),
ui(new Ui::burnDialog),
@@ -17,17 +18,25 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
hexType(Type)
{
ui->setupUi(this);
- ui->libraryButton->setIcon(CompanionIcon("library.png"));
+
+ if(!g.profile[g.id()].splashFile().isEmpty()){
+ imageSource=PROFILE;
+ imageFile=g.profile[g.id()].splashFile();
+ }
+ else{
+ ui->useProfileImageCB->setDisabled(true);
+ imageSource=FIRMWARE;
+ imageFile="";
+ }
ui->SplashFrame->hide();
ui->FramFWInfo->hide();
ui->EEbackupCB->hide();
ui->EEbackupCB->setCheckState(*backup ? Qt::Checked : Qt::Unchecked);
- if (Type == 2) {
+ if (Type == FLASH_FILE_TYPE ) {
ui->EEpromCB->hide();
ui->profile_label->hide();
ui->patchcalib_CB->hide();
ui->patchhw_CB->hide();
- ui->InvertColorButton->setDisabled(true);
setWindowTitle(tr("Write firmware to TX"));
if (IS_TARANIS(GetEepromInterface()->getBoard())) {
ui->EEbackupCB->hide();
@@ -39,12 +48,7 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
ui->patchcalib_CB->hide();
ui->patchhw_CB->hide();
ui->EEpromCB->hide();
- ui->ImageLoadButton->setDisabled(true);
- ui->libraryButton->setDisabled(true);
- ui->InvertColorButton->setDisabled(true);
ui->BurnFlashButton->setDisabled(true);
- ui->ImageFileName->clear();
- ui->FwImage->clear();
ui->FWFileName->clear();
ui->DateField->clear();
ui->SVNField->clear();
@@ -63,7 +67,7 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
}
if (!hexfileName->isEmpty()) {
ui->FWFileName->setText(*hexfileName);
- if (Type==2) {
+ if (Type==FLASH_FILE_TYPE) {
checkFw(*hexfileName);
}
else {
@@ -104,14 +108,14 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
ui->FlashLoadButton->hide();
hexfileName->clear();
}
- else if (Type==2) {
- QString FileName;
- FileName = g.lastFw();
+ else if (Type==FLASH_FILE_TYPE) {
+ QString FileName = g.profile[g.id()].fwName();
QFile file(FileName);
if (file.exists()) {
checkFw(FileName);
}
}
+ updateUI();
resize(0, 0);
}
@@ -124,12 +128,7 @@ void burnDialog::on_FlashLoadButton_clicked()
{
QString fileName;
- ui->ImageLoadButton->setDisabled(true);
- ui->libraryButton->setDisabled(true);
- ui->InvertColorButton->setDisabled(true);
ui->BurnFlashButton->setDisabled(true);
- ui->ImageFileName->clear();
- ui->FwImage->clear();
ui->FWFileName->clear();
ui->DateField->clear();
ui->SVNField->clear();
@@ -139,8 +138,10 @@ void burnDialog::on_FlashLoadButton_clicked()
ui->BurnFlashButton->setDisabled(true);
ui->EEbackupCB->hide();
QTimer::singleShot(0, this, SLOT(shrink()));
- if (hexType==2) {
+ if (hexType==FLASH_FILE_TYPE) {
fileName = QFileDialog::getOpenFileName(this, tr("Open Firmware File"), g.flashDir(), FLASH_FILES_FILTER);
+ if(fileName.isEmpty())
+ return;
checkFw(fileName);
}
else {
@@ -169,6 +170,7 @@ void burnDialog::on_FlashLoadButton_clicked()
QTimer::singleShot(0, this, SLOT(shrink()));
}
}
+ updateUI();
}
void burnDialog::checkFw(QString fileName)
@@ -176,6 +178,7 @@ void burnDialog::checkFw(QString fileName)
if (fileName.isEmpty()) {
return;
}
+
if (!IS_TARANIS(GetEepromInterface()->getBoard())) {
ui->EEbackupCB->show();
}
@@ -190,60 +193,17 @@ void burnDialog::checkFw(QString fileName)
ui->DateField->setText(flash.getDate() + " " + flash.getTime());
ui->SVNField->setText(flash.getSvn());
ui->ModField->setText(flash.getBuild());
- ui->BurnFlashButton->setEnabled(true);
- ui->BurnFlashButton->setText(tr("Write to TX"));
+
+ ui->SplashFrame->hide();
if (flash.hasSplash()) {
ui->SplashFrame->show();
- ui->ImageLoadButton->setEnabled(true);
- ui->libraryButton->setEnabled(true);
- ui->FwImage->setFixedSize(flash.getSplashWidth(), flash.getSplashHeight());
ui->imageLabel->setFixedSize(flash.getSplashWidth(), flash.getSplashHeight());
- ui->FwImage->show();
- ui->FwImage->setPixmap(QPixmap::fromImage(flash.getSplash()));
- QString ImageStr = g.profile[g.id()].splashFile();
- bool PatchFwCB = g.profile[g.id()].patchImage();
- if (!ImageStr.isEmpty()) {
- QImage Image;
- Image.load(ImageStr);
- ui->imageLabel->setPixmap(QPixmap::fromImage(Image.convertToFormat(flash.getSplashFormat())));
- ui->InvertColorButton->setEnabled(true);
- ui->PreferredImageCB->setChecked(true);
- ui->PatchFWCB->setChecked(PatchFwCB);
- }
- else {
- QString fileName=ui->ImageFileName->text();
- if (!fileName.isEmpty()) {
- QImage image(fileName);
- if (!image.isNull()) {
- ui->InvertColorButton->setEnabled(true);
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height()).convertToFormat(flash.getSplashFormat())));
- ui->PatchFWCB->setEnabled(true);
- ui->PatchFWCB->setChecked(PatchFwCB);
- }
- else {
- ui->PatchFWCB->setDisabled(true);
- ui->PatchFWCB->setChecked(false);
- ui->PreferredImageCB->setDisabled(true);
- }
- }
- else {
- ui->PatchFWCB->setDisabled(true);
- ui->PatchFWCB->setChecked(false);
- ui->PreferredImageCB->setDisabled(true);
- }
- }
- }
- else {
- ui->FwImage->hide();
- ui->ImageFileName->setText("");
- ui->SplashFrame->hide();
}
}
else {
- QMessageBox::warning(this, tr("Warning"), tr("%1 is not a known firmware").arg(fileName));
- ui->BurnFlashButton->setText(tr("Burn anyway !"));
- ui->BurnFlashButton->setEnabled(true);
+ QMessageBox::warning(this, tr("Warning"), tr("%1 may not be a valid firmware file").arg(fileName));
}
+ ui->BurnFlashButton->setEnabled(true);
QTimer::singleShot(0, this, SLOT(shrink()));
g.flashDir( QFileInfo(fileName).dir().absolutePath() );
}
@@ -338,51 +298,92 @@ bool burnDialog::checkeEprom(QString fileName)
return true;
}
-void burnDialog::on_ImageLoadButton_clicked()
+void burnDialog::displaySplash()
+{
+ QImage image;
+ if (imageSource == FIRMWARE){
+ FlashInterface flash(ui->FWFileName->text());
+ image = flash.getSplash();
+ }
+ else{
+ image.load(imageFile);
+ }
+ if (image.isNull()) {
+ return;
+ }
+ ui->imageLabel->setPixmap( makePixMap( image, g.profile[g.id()].fwType()));
+}
+
+void burnDialog::updateUI()
+{
+ if (hexType==EEPROM_FILE_TYPE)
+ return;
+
+ ui->useProfileImageCB->setChecked( imageSource == PROFILE );
+ ui->useFwImageCB->setChecked( imageSource == FIRMWARE );
+ ui->useLibraryImageCB->setChecked( imageSource == LIBRARY );
+ ui->useAnotherImageCB->setChecked( imageSource == ANOTHER );
+
+ displaySplash();
+}
+
+void burnDialog::on_useFwImageCB_clicked()
+{
+ QString fileName = ui->FWFileName->text();
+ FlashInterface flash(fileName);
+ if (!flash.isValid()) {
+ QMessageBox::critical(this, tr("Error"), tr( "The firmware file is not valid." ));
+ }
+ else {
+ if (!flash.hasSplash()) {
+ QMessageBox::critical(this, tr("Error"), tr( "There is no start screen image in the firmware file." ));
+ }
+ else{
+ imageSource = FIRMWARE;
+ imageFile = fileName;
+ }
+ }
+ updateUI();
+}
+
+void burnDialog::on_useProfileImageCB_clicked()
+{
+ QString fileName = g.profile[g.id()].splashFile();
+ if (!fileName.isEmpty()){
+ QImage image(fileName);
+ if (image.isNull()) {
+ QMessageBox::critical(this, tr("Error"), tr("The profile image %1 does not contain an image.").arg(fileName));
+ }
+ else {
+ imageSource = PROFILE;
+ imageFile = fileName;
+ }
+ }
+ updateUI();
+}
+
+void burnDialog::on_useAnotherImageCB_clicked()
{
QString supportedImageFormats;
for (int formatIndex = 0; formatIndex < QImageReader::supportedImageFormats().count(); formatIndex++) {
supportedImageFormats += QLatin1String(" *.") + QImageReader::supportedImageFormats()[formatIndex];
}
-
- QString fileName = QFileDialog::getOpenFileName(this,
- tr("Open Image to load"), g.imagesDir(), tr("Images (%1)").arg(supportedImageFormats));
-
- if (!fileName.isEmpty()) {
+ QString fileName = QFileDialog::getOpenFileName(this, tr("Open image file to use as Tx start screen"), g.imagesDir(), tr("Images (%1)").arg(supportedImageFormats));
+ if (!fileName.isEmpty()){
g.imagesDir( QFileInfo(fileName).dir().absolutePath() );
QImage image(fileName);
if (image.isNull()) {
- QMessageBox::critical(this, tr("Error"), tr("Cannot load %1.").arg(fileName));
- ui->PatchFWCB->setDisabled(true);
- ui->PatchFWCB->setChecked(false);
- ui->InvertColorButton->setDisabled(true);
- return;
+ QMessageBox::critical(this, tr("Error"), tr("Image could not be loaded from %1").arg(fileName));
}
- ui->ImageFileName->setText(fileName);
- ui->InvertColorButton->setEnabled(true);
- if (ui->imageLabel->width()!=128) {
- image=image.convertToFormat(QImage::Format_RGB32);
- QRgb col;
- int gray;
- int width = image.width();
- int height = image.height();
- for (int i = 0; i < width; ++i) {
- for (int j = 0; j < height; ++j) {
- col = image.pixel(i, j);
- gray = qGray(col);
- image.setPixel(i, j, qRgb(gray, gray, gray));
- }
- }
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height())));
- }
- else {
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height()).convertToFormat(QImage::Format_Mono)));
- }
- ui->PatchFWCB->setEnabled(true);
+ else{
+ imageSource = ANOTHER;
+ imageFile = fileName;
+ }
}
+ updateUI();
}
-void burnDialog::on_libraryButton_clicked()
+void burnDialog::on_useLibraryImageCB_clicked()
{
QString fileName;
splashLibrary *ld = new splashLibrary(this,&fileName);
@@ -390,49 +391,26 @@ void burnDialog::on_libraryButton_clicked()
if (!fileName.isEmpty()) {
QImage image(fileName);
if (image.isNull()) {
- QMessageBox::critical(this, tr("Error"), tr("Cannot load %1.").arg(fileName));
- ui->PatchFWCB->setDisabled(true);
- ui->PatchFWCB->setChecked(false);
- ui->InvertColorButton->setDisabled(true);
- return;
+ QMessageBox::critical(this, tr("Error"), tr("The library image could not be loaded"));
}
- ui->ImageFileName->setText(fileName);
- ui->InvertColorButton->setEnabled(true);
- if (ui->imageLabel->width()!=128) {
- image=image.convertToFormat(QImage::Format_RGB32);
- QRgb col;
- int gray;
- int width = image.width();
- int height = image.height();
- for (int i = 0; i < width; ++i)
- {
- for (int j = 0; j < height; ++j)
- {
- col = image.pixel(i, j);
- gray = qGray(col);
- image.setPixel(i, j, qRgb(gray, gray, gray));
- }
- }
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height())));
- } else {
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height()).convertToFormat(QImage::Format_Mono)));
+ else{
+ imageSource = LIBRARY;
+ imageFile = fileName;
}
- ui->PatchFWCB->setEnabled(true);
}
+ updateUI();
}
void burnDialog::on_BurnFlashButton_clicked()
{
- if (hexType==2) {
+ if (hexType==FLASH_FILE_TYPE) {
QString fileName=ui->FWFileName->text();
if (!fileName.isEmpty()) {
g.flashDir( QFileInfo(fileName).dir().absolutePath() );
- g.lastFw( fileName );
- if (ui->PatchFWCB->isChecked()) {
- g.profile[g.id()].patchImage( true );
+ if (!ui->useFwImageCB->isChecked()) {
QImage image = ui->imageLabel->pixmap()->toImage().scaled(ui->imageLabel->width(), ui->imageLabel->height());
if (!image.isNull()) {
- QString tempDir = QDir::tempPath();
+ QString tempDir = QDir::tempPath();
QString tempFile;
if (getFileType(fileName) == FILE_TYPE_HEX)
tempFile = tempDir + "/flash.hex";
@@ -452,7 +430,6 @@ void burnDialog::on_BurnFlashButton_clicked()
QMessageBox::critical(this, tr("Warning"), tr("Custom image not found"));
}
} else {
- g.profile[g.id()].patchImage( false );
hexfileName->clear();
hexfileName->append(fileName);
}
@@ -461,7 +438,7 @@ void burnDialog::on_BurnFlashButton_clicked()
hexfileName->clear();
}
}
- if (hexType==1) {
+ if (hexType==EEPROM_FILE_TYPE) {
QString calib = g.profile[g.id()].stickPotCalib();
QString trainercalib = g.profile[g.id()].trainerCalib();
int potsnum=GetEepromInterface()->getCapability(Pots);
@@ -610,99 +587,9 @@ void burnDialog::on_cancelButton_clicked()
this->close();
}
-void burnDialog::on_InvertColorButton_clicked()
-{
- if (ui->imageLabel->pixmap()) {
- QImage image = ui->imageLabel->pixmap()->toImage();
- image.invertPixels();
- ui->imageLabel->setPixmap(QPixmap::fromImage(image));
- }
-}
-
void burnDialog::on_EEpromCB_toggled(bool checked)
{
- if (ui->EEpromCB->isChecked()) {
- *backup=true;
- } else {
- *backup=false;
- }
-}
-
-void burnDialog::on_PreferredImageCB_toggled(bool checked)
-{
- QString tmpFileName;
- if (checked) {
- QString ImageStr = g.profile[g.id()].splashFile();
- if (!ImageStr.isEmpty()) {
- QImage Image;
- Image.load( ImageStr );
- if (ui->imageLabel->width()!=128) {
- Image=Image.convertToFormat(QImage::Format_RGB32);
- QRgb col;
- int gray;
- int width = Image.width();
- int height = Image.height();
- for (int i = 0; i < width; ++i)
- {
- for (int j = 0; j < height; ++j)
- {
- col = Image.pixel(i, j);
- gray = qGray(col);
- Image.setPixel(i, j, qRgb(gray, gray, gray));
- }
- }
- } else {
- Image=Image.convertToFormat(QImage::Format_Mono);
- }
- ui->imageLabel->setPixmap(QPixmap::fromImage(Image));
- ui->InvertColorButton->setEnabled(true);
- ui->PreferredImageCB->setChecked(true);
- ui->ImageFileName->setDisabled(true);
- ui->ImageLoadButton->setDisabled(true);
- ui->libraryButton->setDisabled(true);
- ui->PatchFWCB->setEnabled(true);
- }
- } else {
- ui->imageLabel->clear();
- ui->ImageLoadButton->setEnabled(true);
- ui->libraryButton->setEnabled(true);
- tmpFileName = ui->ImageFileName->text();
- if (!tmpFileName.isEmpty()) {
- QImage image(tmpFileName);
- if (!image.isNull()) {
- if (ui->imageLabel->width()!=128) {
- image=image.convertToFormat(QImage::Format_RGB32);
- QRgb col;
- int gray;
- int width = image.width();
- int height = image.height();
- for (int i = 0; i < width; ++i)
- {
- for (int j = 0; j < height; ++j)
- {
- col = image.pixel(i, j);
- gray = qGray(col);
- image.setPixel(i, j, qRgb(gray, gray, gray));
- }
- }
- } else {
- image=image.convertToFormat(QImage::Format_Mono);
- }
- ui->imageLabel->setPixmap(QPixmap::fromImage(image.scaled(ui->imageLabel->width(), ui->imageLabel->height())));
- ui->InvertColorButton->setEnabled(true);
- ui->ImageFileName->setEnabled(true);
- ui->PatchFWCB->setDisabled(false);
- } else {
- ui->InvertColorButton->setDisabled(true);
- ui->PatchFWCB->setDisabled(true);
- ui->PatchFWCB->setChecked(false);
- }
- } else {
- ui->InvertColorButton->setDisabled(true);
- ui->PatchFWCB->setDisabled(true);
- ui->PatchFWCB->setChecked(false);
- }
- }
+ *backup = ui->EEpromCB->isChecked();
}
void burnDialog::shrink()
@@ -712,9 +599,5 @@ void burnDialog::shrink()
void burnDialog::on_EEbackupCB_clicked()
{
- if (ui->EEbackupCB->isChecked()) {
- *backup=true;
- } else {
- *backup=false;
- }
+ *backup = ui->EEbackupCB->isChecked();
}
diff --git a/companion/src/burndialog.h b/companion/src/burndialog.h
index 40068f3ac..1ffac2b92 100644
--- a/companion/src/burndialog.h
+++ b/companion/src/burndialog.h
@@ -19,6 +19,8 @@
#define ER9X_EEPROM_FILE_TYPE "ER9X_EEPROM_FILE"
#define EEPE_EEPROM_FILE_HEADER "EEPE EEPROM FILE"
#define EEPE_MODEL_FILE_HEADER "EEPE MODEL FILE"
+#define EEPROM_FILE_TYPE 1
+#define FLASH_FILE_TYPE 2
namespace Ui
@@ -36,18 +38,22 @@ public:
private slots:
void on_FlashLoadButton_clicked();
- void on_ImageLoadButton_clicked();
- void on_libraryButton_clicked();
void on_BurnFlashButton_clicked();
void on_cancelButton_clicked();
- void on_InvertColorButton_clicked();
void on_EEbackupCB_clicked();
- void on_PreferredImageCB_toggled(bool checked);
- void on_EEpromCB_toggled(bool checked);
- void checkFw(QString fileName);
+ void on_EEpromCB_toggled(bool checked);
bool checkeEprom(QString fileName);
+ void on_useProfileImageCB_clicked();
+ void on_useFwImageCB_clicked();
+ void on_useLibraryImageCB_clicked();
+ void on_useAnotherImageCB_clicked();
+
+ void checkFw(QString fileName);
+ void displaySplash();
+ void updateUI();
void shrink();
+
private:
Ui::burnDialog *ui;
QString * hexfileName;
@@ -55,6 +61,9 @@ private:
int hexType;
RadioData radioData;
bool burnraw;
+ enum ImageSource {FIRMWARE, PROFILE, LIBRARY, ANOTHER};
+ ImageSource imageSource;
+ QString imageFile;
};
#endif // BURNDIALOG_H
diff --git a/companion/src/burndialog.ui b/companion/src/burndialog.ui
index e86634e9a..772304390 100644
--- a/companion/src/burndialog.ui
+++ b/companion/src/burndialog.ui
@@ -7,7 +7,7 @@
0
0
440
- 418
+ 423
@@ -30,21 +30,8 @@
:/icon.png:/icon.png
- -
+
-
-
-
-
-
- Qt::Vertical
-
-
-
- 20
- 0
-
-
-
-
-
@@ -71,19 +58,6 @@
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
@@ -100,19 +74,6 @@
- -
-
-
- Qt::Horizontal
-
-
-
- 48
- 20
-
-
-
-
-
@@ -152,56 +113,22 @@
QFrame::Raised
-
-
-
-
-
- 0
- 0
-
-
-
-
- 128
- 64
-
-
-
-
- 212
- 64
-
-
-
- QFrame::Panel
-
-
- QFrame::Raised
-
-
-
-
-
- true
-
-
-
- -
-
+
-
+
true
- -
-
+
-
+
- Date & Time
+ Variant
- -
-
+
-
+
true
@@ -214,17 +141,17 @@
- -
-
-
- true
+
-
+
+
+ Date & Time
- -
-
-
- Variant
+
-
+
+
+ true
@@ -325,17 +252,10 @@
-
-
-
-
-
-
-
-
-
- Invert Color
-
-
-
- -
+
+
-
+
+
-
@@ -359,7 +279,7 @@
QFrame::Panel
- QFrame::Raised
+ QFrame::Plain
@@ -369,10 +289,50 @@
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
-
-
+
+
+ Use firmware start screen
+
+
+
+ -
+
+
+ Use another start screen
+
+
+
+ -
+
0
@@ -380,86 +340,14 @@
- Use image in settings
-
-
-
- -
-
-
- Substitute image in firmware
+ Use profile start screen
-
-
-
- Qt::Vertical
-
-
-
- 20
- 13
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 13
-
-
-
-
-
-
- -
-
-
-
-
-
- true
-
-
-
- 0
- 0
-
-
-
- true
-
-
-
- -
-
-
- false
-
+
- Load Image
-
-
-
- -
-
-
- Open Splash Library
-
-
- ...
-
-
-
- 16
- 16
-
+ Use library start screen
@@ -470,18 +358,37 @@
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 0
+
+
+
+
+ BurnFlashButton
FWFileName
FlashLoadButton
- ImageFileName
- ImageLoadButton
- libraryButton
+ DateField
+ SVNField
+ ModField
+ useProfileImageCB
+ useFwImageCB
+ useLibraryImageCB
+ useAnotherImageCB
EEbackupCB
+ patchcalib_CB
+ patchhw_CB
EEpromCB
cancelButton
- BurnFlashButton
diff --git a/companion/src/companion.cpp b/companion/src/companion.cpp
index 96a6d5597..37a988273 100644
--- a/companion/src/companion.cpp
+++ b/companion/src/companion.cpp
@@ -95,15 +95,18 @@ int main(int argc, char *argv[])
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
- if (g.profile[g.id()].firmware().isEmpty())
- g.profile[g.id()].firmware(default_firmware_variant.id);
+ if (g.profile[g.id()].fwType().isEmpty()){
+ g.profile[g.id()].fwType(default_firmware_variant.id);
+ g.profile[g.id()].fwName("");
+ }
+
- QPixmap pixmap = QPixmap(g.profile[g.id()].firmware().contains("taranis") ? ":/images/splasht.png" : ":/images/splash.png");
+ QPixmap pixmap = QPixmap(g.profile[g.id()].fwType().contains("taranis") ? ":/images/splasht.png" : ":/images/splash.png");
QSplashScreen *splash = new QSplashScreen(pixmap);
RegisterFirmwares();
- current_firmware_variant = GetFirmwareVariant(g.profile[g.id()].firmware());
+ current_firmware_variant = GetFirmwareVariant(g.profile[g.id()].fwType());
MainWindow *mainWin = new MainWindow();
if (g.showSplash()) {
diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc
index 1c4550d1a..c6246f314 100644
--- a/companion/src/companion.qrc
+++ b/companion/src/companion.qrc
@@ -168,131 +168,57 @@
images/library/00009.png
images/library/00010.png
images/library/00011.png
- images/library/00012.png
images/library/00013.png
images/library/00014.png
images/library/00015.png
images/library/00016.png
- images/library/01001.png
- images/library/01002.png
- images/library/01003.png
- images/library/01004.png
- images/library/01005.png
- images/library/01006.png
- images/library/01007.png
- images/library/01008.png
+ images/library/00017.png
+ images/library/00018.png
+ images/library/00019.png
+ images/library/00020.png
+ images/library/00021.png
+ images/library/00022.png
+ images/library/00023.png
+ images/library/00024.png
+ images/library/00051.png
+ images/library/00100.png
+ images/library/00101.png
+ images/library/00102.png
+ images/library/00103.png
+ images/library/00104.png
+ images/library/00105.png
+ images/library/00106.png
+ images/library/00201.png
+ images/library/00202.png
+ images/library/00203.png
+ images/library/00204.png
+ images/library/00301.png
+ images/library/00302.png
+ images/library/00303.png
+ images/library/00304.png
+ images/library/00401.png
+ images/library/00402.png
+ images/library/00403.png
+ images/library/00404.png
+ images/library/00501.png
images/library/10001.png
images/library/10002.png
images/library/10003.png
- images/library/10004.png
- images/library/10005.png
- images/library/10006.png
- images/library/10007.png
- images/library/10008.png
- images/library/10009.png
- images/library/10010.png
- images/library/10011.png
- images/library/10012.png
- images/library/10013.png
- images/library/10014.png
- images/library/10015.png
- images/library/10016.png
- images/library/10017.png
- images/library/10018.png
- images/library/10019.png
- images/library/10020.png
- images/library/10021.png
- images/library/10022.png
- images/library/10023.png
- images/library/10024.png
- images/library/10033.png
- images/library/10034.png
- images/library/10035.png
- images/library/10036.png
- images/library/10049.png
- images/library/10050.png
- images/library/10051.png
- images/library/10052.png
- images/library/10037.png
- images/library/10038.png
- images/library/10039.png
- images/library/10040.png
- images/library/10053.png
- images/library/10054.png
- images/library/10055.png
- images/library/10056.png
- images/library/10025.png
- images/library/10026.png
- images/library/10027.png
- images/library/10028.png
- images/library/10029.png
- images/library/10030.png
- images/library/10031.png
- images/library/10032.png
- images/library/10041.png
- images/library/10042.png
- images/library/10043.png
- images/library/10044.png
- images/library/10057.png
- images/library/10058.png
- images/library/10059.png
- images/library/10060.png
- images/library/10045.png
- images/library/10046.png
- images/library/10047.png
- images/library/10048.png
- images/library/10061.png
- images/library/10062.png
- images/library/10063.png
- images/library/10064.png
- images/library/10065.png
- images/library/10066.png
- images/library/10067.png
- images/library/10068.png
- images/library/10081.png
- images/library/10082.png
- images/library/10083.png
- images/library/10084.png
- images/library/10069.png
- images/library/10070.png
- images/library/10071.png
- images/library/10072.png
- images/library/10085.png
- images/library/10086.png
- images/library/10087.png
- images/library/10088.png
- images/library/10073.png
- images/library/10074.png
- images/library/10075.png
- images/library/10076.png
- images/library/10089.png
- images/library/10090.png
- images/library/10091.png
- images/library/10092.png
- images/library/10077.png
- images/library/10078.png
- images/library/10079.png
- images/library/10080.png
- images/library/10093.png
- images/library/10094.png
- images/library/10095.png
- images/library/10096.png
- images/library/10097.png
- images/library/10098.png
- images/library/10099.png
- images/library/10100.png
images/library/10101.png
images/library/10102.png
images/library/10103.png
- images/library/10104.png
- images/library/20001.png
- images/library/20002.png
- images/library/20003.png
- images/library/20004.png
- images/library/30001.png
- images/library/30002.png
- images/library/30003.png
- images/library/30004.png
+ images/library/10501.png
+ images/library/10502.png
+ images/library/10503.png
+ images/library/10504.png
+ images/library/10505.png
+ images/library/10506.png
+ images/library/10508.png
+ images/library/10601.png
+ images/library/10701.png
+ images/library/10702.png
+ images/library/10801.png
+ images/library/10802.png
themes/monochrome/16/paintbrush.png
themes/monochrome/16/open.png
themes/monochrome/16/edit.png
diff --git a/companion/src/customizesplashdialog.cpp b/companion/src/customizesplashdialog.cpp
index 1be93d4a5..42bf463da 100644
--- a/companion/src/customizesplashdialog.cpp
+++ b/companion/src/customizesplashdialog.cpp
@@ -41,7 +41,7 @@ bool Side::displayImage( QString fileName, Source pictSource )
if (fileName.isEmpty())
return false;
-
+
// Determine which picture format to use
if (pictSource == FW ){
FlashInterface flash(fileName);
@@ -49,60 +49,46 @@ bool Side::displayImage( QString fileName, Source pictSource )
return false;
else
image = flash.getSplash();
- *format = (flash.getSplashWidth()==WIDTH_TARANIS ? LCDTARANIS : LCD9X);
+ *format = (flash.getSplashWidth()==WIDTH_TARANIS ? LCDTARANIS : LCD9X);
}
else {
image.load(fileName);
if (pictSource== PICT)
*format = image.width()>WIDTH_9X ? LCDTARANIS : LCD9X;
else if (pictSource == PROFILE)
- *format = (g.profile[g.id()].firmware().contains("taranis")) ? LCDTARANIS : LCD9X;
+ *format = (g.profile[g.id()].fwType().contains("taranis")) ? LCDTARANIS : LCD9X;
}
if (image.isNull()) {
return false;
}
- // Prepare and display image
+ // Load image
if (*format==LCDTARANIS) {
- image=image.convertToFormat(QImage::Format_RGB32);
- QRgb col;
- int gray;
- int width = image.width();
- int height = image.height();
- for (int i = 0; i < width; ++i) {
- for (int j = 0; j < height; ++j) {
- col = image.pixel(i, j);
- gray = qGray(col);
- image.setPixel(i, j, qRgb(gray, gray, gray));
- }
- }
- imageLabel->setPixmap(QPixmap::fromImage(image.scaled(imageLabel->width()/2, imageLabel->height()/2)));
+ imageLabel->setPixmap( makePixMap( image, "taranis" ));
+ imageLabel->setFixedSize(WIDTH_TARANIS*2, HEIGHT_TARANIS*2);
}
- else
- imageLabel->setPixmap(QPixmap::fromImage(image.scaled(imageLabel->width()/2, imageLabel->height()/2).convertToFormat(QImage::Format_Mono)));
-
- if (*format == LCD9X)
- imageLabel->setFixedSize(WIDTH_9X*2, HEIGHT_9X*2);
- else
- imageLabel->setFixedSize(WIDTH_TARANIS*2, HEIGHT_TARANIS*2);
-
+ else {
+ imageLabel->setPixmap( makePixMap( image, "9x" ));
+ imageLabel->setFixedSize(WIDTH_9X*2, HEIGHT_9X*2);
+ }
+
switch (pictSource){
- case FW:
- fileNameEdit->setText(QObject::tr("FW: %1").arg(fileName));
- *saveToFileName = fileName;
- *source=FW;
- break;
- case PICT:
- fileNameEdit->setText(QObject::tr("Pict: %1").arg(fileName));
- *saveToFileName = fileName;
- *source=PICT;
- break;
- case PROFILE:
- fileNameEdit->setText(QObject::tr("Profile image"));
- *saveToFileName = fileName;
- *source=PROFILE;
- break;
- default:
- break;
+ case FW:
+ fileNameEdit->setText(QObject::tr("FW: %1").arg(fileName));
+ *saveToFileName = fileName;
+ *source=FW;
+ break;
+ case PICT:
+ fileNameEdit->setText(QObject::tr("Pict: %1").arg(fileName));
+ *saveToFileName = fileName;
+ *source=PICT;
+ break;
+ case PROFILE:
+ fileNameEdit->setText(QObject::tr("Profile image"));
+ *saveToFileName = fileName;
+ *source=PROFILE;
+ break;
+ default:
+ break;
}
saveButton->setEnabled(true);
libraryButton->setEnabled(true);
diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h
index 07919466c..6a85f8cf9 100644
--- a/companion/src/eeprominterface.h
+++ b/companion/src/eeprominterface.h
@@ -74,7 +74,7 @@ const uint8_t modn12x3[4][4]= {
#define C9X_MAX_ENCODERS 2
#define C9X_NUM_CHNOUT 32 // number of real output channels
#define C9X_NUM_CSW 32 // number of custom switches
-#define C9X_MAX_CUSTOM_FUNCTIONS 32 // number of functions assigned to switches
+#define C9X_MAX_CUSTOM_FUNCTIONS 64 // number of functions assigned to switches
#define C9X_NUM_MODULES 2
#define STK_RUD 1
@@ -856,7 +856,7 @@ class ModuleData {
void clear() { memset(this, 0, sizeof(ModuleData)); }
};
-#define C9X_MAX_SCRIPTS 3
+#define C9X_MAX_SCRIPTS 7
#define C9X_MAX_SCRIPT_INPUTS 10
class ScriptData {
public:
diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp
index 37f148900..ebbc010ec 100644
--- a/companion/src/firmwares/opentx/opentxeeprom.cpp
+++ b/companion/src/firmwares/opentx/opentxeeprom.cpp
@@ -20,7 +20,7 @@
#define MAX_CHANNELS(board, version) (IS_ARM(board) ? 32 : 16)
#define MAX_EXPOS(board, version) (IS_ARM(board) ? ((IS_TARANIS(board) && version >= 216) ? 64 : 32) : (IS_DBLRAM(board, version) ? 16 : 14))
#define MAX_CUSTOM_SWITCHES(board, version) (IS_ARM(board) ? 32 : (IS_DBLEEPROM(board, version) ? 15 : 12))
-#define MAX_CUSTOM_FUNCTIONS(board, version) (IS_ARM(board) ? 32 : (IS_DBLEEPROM(board, version) ? 24 : 16))
+#define MAX_CUSTOM_FUNCTIONS(board, version) (IS_ARM(board) ? (version >= 216 ? 64 : 32) : (IS_DBLEEPROM(board, version) ? 24 : 16))
#define MAX_CURVES(board, version) (IS_ARM(board) ? ((IS_TARANIS(board) && version >= 216) ? 32 : 16) : O9X_MAX_CURVES)
#define MAX_GVARS(board, version) ((IS_ARM(board) && version >= 216) ? 9 : 5)
@@ -164,7 +164,7 @@ class SourcesConversionTable: public ConversionTable {
if (IS_TARANIS(board) && version >= 216) {
for (int i=0; i<32; i++)
addConversion(RawSource(SOURCE_TYPE_VIRTUAL_INPUT, i), val++);
- for (int i=0; i<3; i++) {
+ for (int i=0; i<7; i++) {
for (int j=0; j<6; j++) {
addConversion(RawSource(SOURCE_TYPE_LUA_INPUT, i*16+j), val++);
}
@@ -1429,7 +1429,9 @@ class ArmCustomFunctionField: public TransformedField {
internalField.Append(new SwitchField<8>(fn.swtch, board, version));
internalField.Append(new ConversionField< UnsignedField<8> >((unsigned int &)fn.func, &functionsConversionTable, "Function", ::QObject::tr("OpenTX on this board doesn't accept this function")));
- if (IS_TARANIS(board))
+ if (IS_TARANIS(board) && version >= 216)
+ internalField.Append(new CharField<8>(_param, false));
+ else if (IS_TARANIS(board))
internalField.Append(new CharField<10>(_param, false));
else
internalField.Append(new CharField<6>(_param, false));
@@ -2208,7 +2210,7 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u
}
if (IS_TARANIS(board) && version >= 216) {
- for (int i=0; i<3; i++) {
+ for (int i=0; i<7; i++) {
ScriptData & script = modelData.scriptData[i];
internalField.Append(new ZCharField<10>(script.filename));
internalField.Append(new ZCharField<10>(script.name));
diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp
index 0b832e086..2f4b0409b 100644
--- a/companion/src/firmwares/opentx/opentxinterface.cpp
+++ b/companion/src/firmwares/opentx/opentxinterface.cpp
@@ -517,7 +517,7 @@ int OpenTxInterface::getCapability(const Capability capability)
return (IS_TARANIS(board) ? 22 : 9);
case CustomFunctions:
if (IS_ARM(board))
- return 32;
+ return 64;
else if (board==BOARD_GRUVIN9X||board==BOARD_M128)
return 24;
else
@@ -550,7 +550,7 @@ int OpenTxInterface::getCapability(const Capability capability)
case VoicesAsNumbers:
return (IS_ARM(board) ? 0 : 1);
case VoicesMaxLength:
- return (IS_ARM(board) ? (IS_TARANIS(board) ? 10 : 6) : 0);
+ return (IS_ARM(board) ? (IS_TARANIS(board) ? 8 : 6) : 0);
case MultiLangVoice:
return (IS_ARM(board) ? 1 : 0);
case SoundPitch:
diff --git a/companion/src/fwpreferencesdialog.cpp b/companion/src/fwpreferencesdialog.cpp
index 17c7c6caf..ec2585ddc 100644
--- a/companion/src/fwpreferencesdialog.cpp
+++ b/companion/src/fwpreferencesdialog.cpp
@@ -213,7 +213,7 @@ void fwPreferencesDialog::writeValues()
{
g.cpuId( ui->CPU_ID_LE->text() );
current_firmware_variant = getFirmwareVariant();
- g.profile[g.id()].firmware( current_firmware_variant.id );
+ g.profile[g.id()].fwType( current_firmware_variant.id );
}
void fwPreferencesDialog::populateFirmwareOptions(const FirmwareInfo * firmware)
@@ -290,7 +290,7 @@ void fwPreferencesDialog::on_checkFWUpdates_clicked()
FirmwareVariant variant = getFirmwareVariant();
if (g.profile[g.id()].burnFirmware()) {
current_firmware_variant = variant;
- g.profile[g.id()].firmware( variant.id );
+ g.profile[g.id()].fwType( variant.id );
}
MainWindow * mw = (MainWindow *)this->parent();
mw->checkForUpdates(true, variant.id);
@@ -305,7 +305,7 @@ void fwPreferencesDialog::on_fw_dnld_clicked()
if (!variant.firmware->getUrl(variant.id).isNull()) {
if (g.profile[g.id()].burnFirmware()) {
current_firmware_variant = getFirmwareVariant();
- g.profile[g.id()].firmware( current_firmware_variant.id );
+ g.profile[g.id()].fwType( current_firmware_variant.id );
}
mw->downloadLatestFW(current_firmware_variant.firmware, current_firmware_variant.id);
}
diff --git a/companion/src/generaledit.cpp b/companion/src/generaledit.cpp
index 6e96e0368..8cccc654c 100644
--- a/companion/src/generaledit.cpp
+++ b/companion/src/generaledit.cpp
@@ -20,7 +20,7 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
ui->setupUi(this);
this->setWindowIcon(CompanionIcon("open.png"));
- QString firmware_id = g.profile[g.id()].firmware();
+ QString firmware_id = g.profile[g.id()].fwType();
ui->tabWidget->setCurrentIndex( g.generalEditTab() );
QString name=g.profile[g.id()].name();
if (name.isEmpty()) {
@@ -74,7 +74,7 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
if (!name.isEmpty()) {
ui->profile_CB->addItem(name, i);
if (i==g.id()) {
- ui->profile_CB->setCurrentIndex(ui->profile_CB->count());
+ ui->profile_CB->setCurrentIndex(ui->profile_CB->count()-1);
}
}
}
diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp
index 99dec9a63..2c7f9fc0c 100644
--- a/companion/src/helpers.cpp
+++ b/companion/src/helpers.cpp
@@ -2,6 +2,7 @@
#include "appdata.h"
#include "helpers.h"
#include "simulatordialog.h"
+#include "flashinterface.h"
QString getPhaseName(int val, char * phasename)
{
@@ -946,3 +947,24 @@ void startSimulation(QWidget * parent, RadioData & radioData, int modelIdx)
QObject::tr("Simulator for this firmware is not yet available"));
}
}
+
+QPixmap makePixMap( QImage image, QString firmwareType )
+{
+ if (firmwareType.contains( "taranis" )) {
+ image = image.convertToFormat(QImage::Format_RGB32);
+ QRgb col;
+ int gray;
+ for (int i = 0; i < image.width(); ++i) {
+ for (int j = 0; j < image.height(); ++j) {
+ col = image.pixel(i, j);
+ gray = qGray(col);
+ image.setPixel(i, j, qRgb(gray, gray, gray));
+ }
+ }
+ image = image.scaled(SPLASHX9D_WIDTH, SPLASHX9D_HEIGHT);
+ }
+ else {
+ image = image.scaled(SPLASH_WIDTH, SPLASH_HEIGHT).convertToFormat(QImage::Format_Mono);
+ }
+ return(QPixmap::fromImage(image));
+}
diff --git a/companion/src/helpers.h b/companion/src/helpers.h
index fdebcb170..5d667e5d8 100644
--- a/companion/src/helpers.h
+++ b/companion/src/helpers.h
@@ -128,4 +128,6 @@ QString getFrSkySrc(int index);
void startSimulation(QWidget * parent, RadioData & radioData, int modelIdx);
+QPixmap makePixMap( QImage image, QString firmwareType );
+
#endif // HELPERS_H
diff --git a/companion/src/images/library/00001.png b/companion/src/images/library/00001.png
index 57c8485a9..43cd387dc 100644
Binary files a/companion/src/images/library/00001.png and b/companion/src/images/library/00001.png differ
diff --git a/companion/src/images/library/00002.png b/companion/src/images/library/00002.png
index d7f9c54b0..37b24b0d7 100644
Binary files a/companion/src/images/library/00002.png and b/companion/src/images/library/00002.png differ
diff --git a/companion/src/images/library/00003.png b/companion/src/images/library/00003.png
index 9f3c5d78e..a179deadf 100644
Binary files a/companion/src/images/library/00003.png and b/companion/src/images/library/00003.png differ
diff --git a/companion/src/images/library/00004.png b/companion/src/images/library/00004.png
index 60858b556..5982d425c 100644
Binary files a/companion/src/images/library/00004.png and b/companion/src/images/library/00004.png differ
diff --git a/companion/src/images/library/00005.png b/companion/src/images/library/00005.png
index 6d5a1d93d..34e83f860 100644
Binary files a/companion/src/images/library/00005.png and b/companion/src/images/library/00005.png differ
diff --git a/companion/src/images/library/00006.png b/companion/src/images/library/00006.png
index 64eca2f66..7a9064c93 100644
Binary files a/companion/src/images/library/00006.png and b/companion/src/images/library/00006.png differ
diff --git a/companion/src/images/library/00007.png b/companion/src/images/library/00007.png
index fa384d1e6..802e9885a 100644
Binary files a/companion/src/images/library/00007.png and b/companion/src/images/library/00007.png differ
diff --git a/companion/src/images/library/00008.png b/companion/src/images/library/00008.png
index ed7a1c01f..802e9885a 100644
Binary files a/companion/src/images/library/00008.png and b/companion/src/images/library/00008.png differ
diff --git a/companion/src/images/library/00009.png b/companion/src/images/library/00009.png
index 6d199bb6f..802e9885a 100644
Binary files a/companion/src/images/library/00009.png and b/companion/src/images/library/00009.png differ
diff --git a/companion/src/images/library/00010.png b/companion/src/images/library/00010.png
index 2b2081c88..0218d0570 100644
Binary files a/companion/src/images/library/00010.png and b/companion/src/images/library/00010.png differ
diff --git a/companion/src/images/library/00012.png b/companion/src/images/library/00012.png
index f054a15d8..64eca2f66 100644
Binary files a/companion/src/images/library/00012.png and b/companion/src/images/library/00012.png differ
diff --git a/companion/src/images/library/00017.png b/companion/src/images/library/00017.png
new file mode 100644
index 000000000..678355ae0
Binary files /dev/null and b/companion/src/images/library/00017.png differ
diff --git a/companion/src/images/library/00018.png b/companion/src/images/library/00018.png
new file mode 100644
index 000000000..fa384d1e6
Binary files /dev/null and b/companion/src/images/library/00018.png differ
diff --git a/companion/src/images/library/00019.png b/companion/src/images/library/00019.png
new file mode 100644
index 000000000..6d5a1d93d
Binary files /dev/null and b/companion/src/images/library/00019.png differ
diff --git a/companion/src/images/library/00020.png b/companion/src/images/library/00020.png
new file mode 100644
index 000000000..9f3c5d78e
Binary files /dev/null and b/companion/src/images/library/00020.png differ
diff --git a/companion/src/images/library/00021.png b/companion/src/images/library/00021.png
new file mode 100644
index 000000000..f054a15d8
Binary files /dev/null and b/companion/src/images/library/00021.png differ
diff --git a/companion/src/images/library/00022.png b/companion/src/images/library/00022.png
new file mode 100644
index 000000000..ed7a1c01f
Binary files /dev/null and b/companion/src/images/library/00022.png differ
diff --git a/companion/src/images/library/00023.png b/companion/src/images/library/00023.png
new file mode 100644
index 000000000..6d199bb6f
Binary files /dev/null and b/companion/src/images/library/00023.png differ
diff --git a/companion/src/images/library/00024.png b/companion/src/images/library/00024.png
new file mode 100644
index 000000000..2b2081c88
Binary files /dev/null and b/companion/src/images/library/00024.png differ
diff --git a/companion/src/images/library/00031.png b/companion/src/images/library/00031.png
new file mode 100644
index 000000000..4a92323e5
Binary files /dev/null and b/companion/src/images/library/00031.png differ
diff --git a/companion/src/images/library/00051.png b/companion/src/images/library/00051.png
new file mode 100644
index 000000000..c1f70cd82
Binary files /dev/null and b/companion/src/images/library/00051.png differ
diff --git a/companion/src/images/library/00100.png b/companion/src/images/library/00100.png
new file mode 100644
index 000000000..12fd5b70f
Binary files /dev/null and b/companion/src/images/library/00100.png differ
diff --git a/companion/src/images/library/00101.png b/companion/src/images/library/00101.png
new file mode 100644
index 000000000..277f90714
Binary files /dev/null and b/companion/src/images/library/00101.png differ
diff --git a/companion/src/images/library/00102.png b/companion/src/images/library/00102.png
new file mode 100644
index 000000000..5319738e6
Binary files /dev/null and b/companion/src/images/library/00102.png differ
diff --git a/companion/src/images/library/00103.png b/companion/src/images/library/00103.png
new file mode 100644
index 000000000..ededfb8ac
Binary files /dev/null and b/companion/src/images/library/00103.png differ
diff --git a/companion/src/images/library/00104.png b/companion/src/images/library/00104.png
new file mode 100644
index 000000000..c2649499d
Binary files /dev/null and b/companion/src/images/library/00104.png differ
diff --git a/companion/src/images/library/00105.png b/companion/src/images/library/00105.png
new file mode 100644
index 000000000..c109f03f1
Binary files /dev/null and b/companion/src/images/library/00105.png differ
diff --git a/companion/src/images/library/00106.png b/companion/src/images/library/00106.png
new file mode 100644
index 000000000..01476b196
Binary files /dev/null and b/companion/src/images/library/00106.png differ
diff --git a/companion/src/images/library/00201.png b/companion/src/images/library/00201.png
new file mode 100644
index 000000000..a5e6349a3
Binary files /dev/null and b/companion/src/images/library/00201.png differ
diff --git a/companion/src/images/library/10011.png b/companion/src/images/library/00202.png
similarity index 100%
rename from companion/src/images/library/10011.png
rename to companion/src/images/library/00202.png
diff --git a/companion/src/images/library/10007.png b/companion/src/images/library/00203.png
similarity index 100%
rename from companion/src/images/library/10007.png
rename to companion/src/images/library/00203.png
diff --git a/companion/src/images/library/10015.png b/companion/src/images/library/00204.png
similarity index 100%
rename from companion/src/images/library/10015.png
rename to companion/src/images/library/00204.png
diff --git a/companion/src/images/library/10094.png b/companion/src/images/library/00301.png
similarity index 100%
rename from companion/src/images/library/10094.png
rename to companion/src/images/library/00301.png
diff --git a/companion/src/images/library/10096.png b/companion/src/images/library/00302.png
similarity index 100%
rename from companion/src/images/library/10096.png
rename to companion/src/images/library/00302.png
diff --git a/companion/src/images/library/10070.png b/companion/src/images/library/00303.png
similarity index 100%
rename from companion/src/images/library/10070.png
rename to companion/src/images/library/00303.png
diff --git a/companion/src/images/library/00304.png b/companion/src/images/library/00304.png
new file mode 100644
index 000000000..936732b2e
Binary files /dev/null and b/companion/src/images/library/00304.png differ
diff --git a/companion/src/images/library/00401.png b/companion/src/images/library/00401.png
new file mode 100644
index 000000000..553abc70b
Binary files /dev/null and b/companion/src/images/library/00401.png differ
diff --git a/companion/src/images/library/00402.png b/companion/src/images/library/00402.png
new file mode 100644
index 000000000..ec94b1a34
Binary files /dev/null and b/companion/src/images/library/00402.png differ
diff --git a/companion/src/images/library/00403.png b/companion/src/images/library/00403.png
new file mode 100644
index 000000000..71e3824f6
Binary files /dev/null and b/companion/src/images/library/00403.png differ
diff --git a/companion/src/images/library/00404.png b/companion/src/images/library/00404.png
new file mode 100644
index 000000000..9715eb04c
Binary files /dev/null and b/companion/src/images/library/00404.png differ
diff --git a/companion/src/images/library/00501.png b/companion/src/images/library/00501.png
new file mode 100644
index 000000000..44bb7ad5a
Binary files /dev/null and b/companion/src/images/library/00501.png differ
diff --git a/companion/src/images/library/01001.png b/companion/src/images/library/01001.png
deleted file mode 100644
index 47fec20ff..000000000
Binary files a/companion/src/images/library/01001.png and /dev/null differ
diff --git a/companion/src/images/library/01002.png b/companion/src/images/library/01002.png
deleted file mode 100644
index e83381a48..000000000
Binary files a/companion/src/images/library/01002.png and /dev/null differ
diff --git a/companion/src/images/library/01003.png b/companion/src/images/library/01003.png
deleted file mode 100644
index 88f5676db..000000000
Binary files a/companion/src/images/library/01003.png and /dev/null differ
diff --git a/companion/src/images/library/01004.png b/companion/src/images/library/01004.png
deleted file mode 100644
index bc2a06103..000000000
Binary files a/companion/src/images/library/01004.png and /dev/null differ
diff --git a/companion/src/images/library/01005.png b/companion/src/images/library/01005.png
deleted file mode 100644
index b4aea5dfe..000000000
Binary files a/companion/src/images/library/01005.png and /dev/null differ
diff --git a/companion/src/images/library/01006.png b/companion/src/images/library/01006.png
deleted file mode 100644
index 448f590da..000000000
Binary files a/companion/src/images/library/01006.png and /dev/null differ
diff --git a/companion/src/images/library/01007.png b/companion/src/images/library/01007.png
deleted file mode 100644
index cb9a53702..000000000
Binary files a/companion/src/images/library/01007.png and /dev/null differ
diff --git a/companion/src/images/library/01008.png b/companion/src/images/library/01008.png
deleted file mode 100644
index da3346f7d..000000000
Binary files a/companion/src/images/library/01008.png and /dev/null differ
diff --git a/companion/src/images/library/10001.png b/companion/src/images/library/10001.png
index 51e85006a..8abdaba2a 100644
Binary files a/companion/src/images/library/10001.png and b/companion/src/images/library/10001.png differ
diff --git a/companion/src/images/library/10002.png b/companion/src/images/library/10002.png
index 47b108be9..ac46509c2 100644
Binary files a/companion/src/images/library/10002.png and b/companion/src/images/library/10002.png differ
diff --git a/companion/src/images/library/10003.png b/companion/src/images/library/10003.png
index ad62abd01..0fa584dbb 100644
Binary files a/companion/src/images/library/10003.png and b/companion/src/images/library/10003.png differ
diff --git a/companion/src/images/library/10004.png b/companion/src/images/library/10004.png
deleted file mode 100644
index 1a93226b7..000000000
Binary files a/companion/src/images/library/10004.png and /dev/null differ
diff --git a/companion/src/images/library/10005.png b/companion/src/images/library/10005.png
deleted file mode 100644
index b25163b8c..000000000
Binary files a/companion/src/images/library/10005.png and /dev/null differ
diff --git a/companion/src/images/library/10006.png b/companion/src/images/library/10006.png
deleted file mode 100644
index ca77bbd87..000000000
Binary files a/companion/src/images/library/10006.png and /dev/null differ
diff --git a/companion/src/images/library/10008.png b/companion/src/images/library/10008.png
deleted file mode 100644
index 9616e2c12..000000000
Binary files a/companion/src/images/library/10008.png and /dev/null differ
diff --git a/companion/src/images/library/10009.png b/companion/src/images/library/10009.png
deleted file mode 100644
index 1919fc94b..000000000
Binary files a/companion/src/images/library/10009.png and /dev/null differ
diff --git a/companion/src/images/library/10010.png b/companion/src/images/library/10010.png
deleted file mode 100644
index 0ef805645..000000000
Binary files a/companion/src/images/library/10010.png and /dev/null differ
diff --git a/companion/src/images/library/10012.png b/companion/src/images/library/10012.png
deleted file mode 100644
index 6007e75d4..000000000
Binary files a/companion/src/images/library/10012.png and /dev/null differ
diff --git a/companion/src/images/library/10013.png b/companion/src/images/library/10013.png
deleted file mode 100644
index dc8a5efc7..000000000
Binary files a/companion/src/images/library/10013.png and /dev/null differ
diff --git a/companion/src/images/library/10014.png b/companion/src/images/library/10014.png
deleted file mode 100644
index 6a306d3b2..000000000
Binary files a/companion/src/images/library/10014.png and /dev/null differ
diff --git a/companion/src/images/library/10016.png b/companion/src/images/library/10016.png
deleted file mode 100644
index d02cb5ceb..000000000
Binary files a/companion/src/images/library/10016.png and /dev/null differ
diff --git a/companion/src/images/library/10017.png b/companion/src/images/library/10017.png
deleted file mode 100644
index 13f6ed481..000000000
Binary files a/companion/src/images/library/10017.png and /dev/null differ
diff --git a/companion/src/images/library/10018.png b/companion/src/images/library/10018.png
deleted file mode 100644
index 552c96540..000000000
Binary files a/companion/src/images/library/10018.png and /dev/null differ
diff --git a/companion/src/images/library/10019.png b/companion/src/images/library/10019.png
deleted file mode 100644
index fcdc73964..000000000
Binary files a/companion/src/images/library/10019.png and /dev/null differ
diff --git a/companion/src/images/library/10020.png b/companion/src/images/library/10020.png
deleted file mode 100644
index c40348ee7..000000000
Binary files a/companion/src/images/library/10020.png and /dev/null differ
diff --git a/companion/src/images/library/10021.png b/companion/src/images/library/10021.png
deleted file mode 100644
index 69ea3ad14..000000000
Binary files a/companion/src/images/library/10021.png and /dev/null differ
diff --git a/companion/src/images/library/10022.png b/companion/src/images/library/10022.png
deleted file mode 100644
index cb746eb74..000000000
Binary files a/companion/src/images/library/10022.png and /dev/null differ
diff --git a/companion/src/images/library/10023.png b/companion/src/images/library/10023.png
deleted file mode 100644
index 784dbf355..000000000
Binary files a/companion/src/images/library/10023.png and /dev/null differ
diff --git a/companion/src/images/library/10024.png b/companion/src/images/library/10024.png
deleted file mode 100644
index 4066cd8e0..000000000
Binary files a/companion/src/images/library/10024.png and /dev/null differ
diff --git a/companion/src/images/library/10025.png b/companion/src/images/library/10025.png
deleted file mode 100644
index 8a1562e52..000000000
Binary files a/companion/src/images/library/10025.png and /dev/null differ
diff --git a/companion/src/images/library/10026.png b/companion/src/images/library/10026.png
deleted file mode 100644
index 704865b0c..000000000
Binary files a/companion/src/images/library/10026.png and /dev/null differ
diff --git a/companion/src/images/library/10027.png b/companion/src/images/library/10027.png
deleted file mode 100644
index b872dd0b2..000000000
Binary files a/companion/src/images/library/10027.png and /dev/null differ
diff --git a/companion/src/images/library/10028.png b/companion/src/images/library/10028.png
deleted file mode 100644
index 842a14dd5..000000000
Binary files a/companion/src/images/library/10028.png and /dev/null differ
diff --git a/companion/src/images/library/10029.png b/companion/src/images/library/10029.png
deleted file mode 100644
index 800465056..000000000
Binary files a/companion/src/images/library/10029.png and /dev/null differ
diff --git a/companion/src/images/library/10030.png b/companion/src/images/library/10030.png
deleted file mode 100644
index 705741cea..000000000
Binary files a/companion/src/images/library/10030.png and /dev/null differ
diff --git a/companion/src/images/library/10031.png b/companion/src/images/library/10031.png
deleted file mode 100644
index 41d3a526f..000000000
Binary files a/companion/src/images/library/10031.png and /dev/null differ
diff --git a/companion/src/images/library/10032.png b/companion/src/images/library/10032.png
deleted file mode 100644
index 1ed9a3801..000000000
Binary files a/companion/src/images/library/10032.png and /dev/null differ
diff --git a/companion/src/images/library/10033.png b/companion/src/images/library/10033.png
deleted file mode 100644
index 1e39ed5b4..000000000
Binary files a/companion/src/images/library/10033.png and /dev/null differ
diff --git a/companion/src/images/library/10034.png b/companion/src/images/library/10034.png
deleted file mode 100644
index cc8b37afb..000000000
Binary files a/companion/src/images/library/10034.png and /dev/null differ
diff --git a/companion/src/images/library/10035.png b/companion/src/images/library/10035.png
deleted file mode 100644
index 2e14bc941..000000000
Binary files a/companion/src/images/library/10035.png and /dev/null differ
diff --git a/companion/src/images/library/10036.png b/companion/src/images/library/10036.png
deleted file mode 100644
index e4eb4667f..000000000
Binary files a/companion/src/images/library/10036.png and /dev/null differ
diff --git a/companion/src/images/library/10037.png b/companion/src/images/library/10037.png
deleted file mode 100644
index 7e85d9fb4..000000000
Binary files a/companion/src/images/library/10037.png and /dev/null differ
diff --git a/companion/src/images/library/10038.png b/companion/src/images/library/10038.png
deleted file mode 100644
index 69425a5d3..000000000
Binary files a/companion/src/images/library/10038.png and /dev/null differ
diff --git a/companion/src/images/library/10039.png b/companion/src/images/library/10039.png
deleted file mode 100644
index 586fae0a5..000000000
Binary files a/companion/src/images/library/10039.png and /dev/null differ
diff --git a/companion/src/images/library/10040.png b/companion/src/images/library/10040.png
deleted file mode 100644
index a6f575c6f..000000000
Binary files a/companion/src/images/library/10040.png and /dev/null differ
diff --git a/companion/src/images/library/10041.png b/companion/src/images/library/10041.png
deleted file mode 100644
index d7c509449..000000000
Binary files a/companion/src/images/library/10041.png and /dev/null differ
diff --git a/companion/src/images/library/10042.png b/companion/src/images/library/10042.png
deleted file mode 100644
index 6f4aa2b68..000000000
Binary files a/companion/src/images/library/10042.png and /dev/null differ
diff --git a/companion/src/images/library/10043.png b/companion/src/images/library/10043.png
deleted file mode 100644
index 7ff6f4bc7..000000000
Binary files a/companion/src/images/library/10043.png and /dev/null differ
diff --git a/companion/src/images/library/10044.png b/companion/src/images/library/10044.png
deleted file mode 100644
index 0f5ec33dc..000000000
Binary files a/companion/src/images/library/10044.png and /dev/null differ
diff --git a/companion/src/images/library/10045.png b/companion/src/images/library/10045.png
deleted file mode 100644
index 4e195cbb4..000000000
Binary files a/companion/src/images/library/10045.png and /dev/null differ
diff --git a/companion/src/images/library/10046.png b/companion/src/images/library/10046.png
deleted file mode 100644
index 99cbb9bb7..000000000
Binary files a/companion/src/images/library/10046.png and /dev/null differ
diff --git a/companion/src/images/library/10047.png b/companion/src/images/library/10047.png
deleted file mode 100644
index 263ef7508..000000000
Binary files a/companion/src/images/library/10047.png and /dev/null differ
diff --git a/companion/src/images/library/10048.png b/companion/src/images/library/10048.png
deleted file mode 100644
index 4f1ddcb8f..000000000
Binary files a/companion/src/images/library/10048.png and /dev/null differ
diff --git a/companion/src/images/library/10049.png b/companion/src/images/library/10049.png
deleted file mode 100644
index 1b00b73b3..000000000
Binary files a/companion/src/images/library/10049.png and /dev/null differ
diff --git a/companion/src/images/library/10050.png b/companion/src/images/library/10050.png
deleted file mode 100644
index 13f2c3748..000000000
Binary files a/companion/src/images/library/10050.png and /dev/null differ
diff --git a/companion/src/images/library/10051.png b/companion/src/images/library/10051.png
deleted file mode 100644
index 00ef00a9e..000000000
Binary files a/companion/src/images/library/10051.png and /dev/null differ
diff --git a/companion/src/images/library/10052.png b/companion/src/images/library/10052.png
deleted file mode 100644
index 00adf5621..000000000
Binary files a/companion/src/images/library/10052.png and /dev/null differ
diff --git a/companion/src/images/library/10054.png b/companion/src/images/library/10054.png
deleted file mode 100644
index 149e35ada..000000000
Binary files a/companion/src/images/library/10054.png and /dev/null differ
diff --git a/companion/src/images/library/10055.png b/companion/src/images/library/10055.png
deleted file mode 100644
index 52ae8827b..000000000
Binary files a/companion/src/images/library/10055.png and /dev/null differ
diff --git a/companion/src/images/library/10056.png b/companion/src/images/library/10056.png
deleted file mode 100644
index 7c9be6730..000000000
Binary files a/companion/src/images/library/10056.png and /dev/null differ
diff --git a/companion/src/images/library/10057.png b/companion/src/images/library/10057.png
deleted file mode 100644
index ffe4fd58b..000000000
Binary files a/companion/src/images/library/10057.png and /dev/null differ
diff --git a/companion/src/images/library/10058.png b/companion/src/images/library/10058.png
deleted file mode 100644
index b8a0117fb..000000000
Binary files a/companion/src/images/library/10058.png and /dev/null differ
diff --git a/companion/src/images/library/10059.png b/companion/src/images/library/10059.png
deleted file mode 100644
index 3d5e9bfc0..000000000
Binary files a/companion/src/images/library/10059.png and /dev/null differ
diff --git a/companion/src/images/library/10060.png b/companion/src/images/library/10060.png
deleted file mode 100644
index 2837c5398..000000000
Binary files a/companion/src/images/library/10060.png and /dev/null differ
diff --git a/companion/src/images/library/10061.png b/companion/src/images/library/10061.png
deleted file mode 100644
index 2aec8a703..000000000
Binary files a/companion/src/images/library/10061.png and /dev/null differ
diff --git a/companion/src/images/library/10062.png b/companion/src/images/library/10062.png
deleted file mode 100644
index 810efb9a9..000000000
Binary files a/companion/src/images/library/10062.png and /dev/null differ
diff --git a/companion/src/images/library/10063.png b/companion/src/images/library/10063.png
deleted file mode 100644
index 2cd293505..000000000
Binary files a/companion/src/images/library/10063.png and /dev/null differ
diff --git a/companion/src/images/library/10064.png b/companion/src/images/library/10064.png
deleted file mode 100644
index 6354a2a18..000000000
Binary files a/companion/src/images/library/10064.png and /dev/null differ
diff --git a/companion/src/images/library/10065.png b/companion/src/images/library/10065.png
deleted file mode 100644
index 87010d65e..000000000
Binary files a/companion/src/images/library/10065.png and /dev/null differ
diff --git a/companion/src/images/library/10066.png b/companion/src/images/library/10066.png
deleted file mode 100644
index db4917113..000000000
Binary files a/companion/src/images/library/10066.png and /dev/null differ
diff --git a/companion/src/images/library/10067.png b/companion/src/images/library/10067.png
deleted file mode 100644
index f188c03a8..000000000
Binary files a/companion/src/images/library/10067.png and /dev/null differ
diff --git a/companion/src/images/library/10068.png b/companion/src/images/library/10068.png
deleted file mode 100644
index b70eb70d7..000000000
Binary files a/companion/src/images/library/10068.png and /dev/null differ
diff --git a/companion/src/images/library/10069.png b/companion/src/images/library/10069.png
deleted file mode 100644
index 3eb68b5b2..000000000
Binary files a/companion/src/images/library/10069.png and /dev/null differ
diff --git a/companion/src/images/library/10071.png b/companion/src/images/library/10071.png
deleted file mode 100644
index fa9c6cde7..000000000
Binary files a/companion/src/images/library/10071.png and /dev/null differ
diff --git a/companion/src/images/library/10072.png b/companion/src/images/library/10072.png
deleted file mode 100644
index 82189cd46..000000000
Binary files a/companion/src/images/library/10072.png and /dev/null differ
diff --git a/companion/src/images/library/10073.png b/companion/src/images/library/10073.png
deleted file mode 100644
index 37f11ea34..000000000
Binary files a/companion/src/images/library/10073.png and /dev/null differ
diff --git a/companion/src/images/library/10074.png b/companion/src/images/library/10074.png
deleted file mode 100644
index abf8c3ae2..000000000
Binary files a/companion/src/images/library/10074.png and /dev/null differ
diff --git a/companion/src/images/library/10075.png b/companion/src/images/library/10075.png
deleted file mode 100644
index e17abfdf7..000000000
Binary files a/companion/src/images/library/10075.png and /dev/null differ
diff --git a/companion/src/images/library/10076.png b/companion/src/images/library/10076.png
deleted file mode 100644
index 30bd5f62f..000000000
Binary files a/companion/src/images/library/10076.png and /dev/null differ
diff --git a/companion/src/images/library/10077.png b/companion/src/images/library/10077.png
deleted file mode 100644
index 5cdddbb0b..000000000
Binary files a/companion/src/images/library/10077.png and /dev/null differ
diff --git a/companion/src/images/library/10078.png b/companion/src/images/library/10078.png
deleted file mode 100644
index 3dc842400..000000000
Binary files a/companion/src/images/library/10078.png and /dev/null differ
diff --git a/companion/src/images/library/10079.png b/companion/src/images/library/10079.png
deleted file mode 100644
index 387dc81be..000000000
Binary files a/companion/src/images/library/10079.png and /dev/null differ
diff --git a/companion/src/images/library/10080.png b/companion/src/images/library/10080.png
deleted file mode 100644
index 46a46e9a4..000000000
Binary files a/companion/src/images/library/10080.png and /dev/null differ
diff --git a/companion/src/images/library/10081.png b/companion/src/images/library/10081.png
deleted file mode 100644
index 66019bb70..000000000
Binary files a/companion/src/images/library/10081.png and /dev/null differ
diff --git a/companion/src/images/library/10082.png b/companion/src/images/library/10082.png
deleted file mode 100644
index 5ba72eb8f..000000000
Binary files a/companion/src/images/library/10082.png and /dev/null differ
diff --git a/companion/src/images/library/10083.png b/companion/src/images/library/10083.png
deleted file mode 100644
index 4619aba26..000000000
Binary files a/companion/src/images/library/10083.png and /dev/null differ
diff --git a/companion/src/images/library/10084.png b/companion/src/images/library/10084.png
deleted file mode 100644
index d82770ff4..000000000
Binary files a/companion/src/images/library/10084.png and /dev/null differ
diff --git a/companion/src/images/library/10085.png b/companion/src/images/library/10085.png
deleted file mode 100644
index 644b1d006..000000000
Binary files a/companion/src/images/library/10085.png and /dev/null differ
diff --git a/companion/src/images/library/10086.png b/companion/src/images/library/10086.png
deleted file mode 100644
index 2f16b8b80..000000000
Binary files a/companion/src/images/library/10086.png and /dev/null differ
diff --git a/companion/src/images/library/10087.png b/companion/src/images/library/10087.png
deleted file mode 100644
index dedee12ff..000000000
Binary files a/companion/src/images/library/10087.png and /dev/null differ
diff --git a/companion/src/images/library/10088.png b/companion/src/images/library/10088.png
deleted file mode 100644
index b24fe1a05..000000000
Binary files a/companion/src/images/library/10088.png and /dev/null differ
diff --git a/companion/src/images/library/10089.png b/companion/src/images/library/10089.png
deleted file mode 100644
index 133c90972..000000000
Binary files a/companion/src/images/library/10089.png and /dev/null differ
diff --git a/companion/src/images/library/10090.png b/companion/src/images/library/10090.png
deleted file mode 100644
index d45f27e5b..000000000
Binary files a/companion/src/images/library/10090.png and /dev/null differ
diff --git a/companion/src/images/library/10091.png b/companion/src/images/library/10091.png
deleted file mode 100644
index 192d3304e..000000000
Binary files a/companion/src/images/library/10091.png and /dev/null differ
diff --git a/companion/src/images/library/10093.png b/companion/src/images/library/10093.png
deleted file mode 100644
index cff628eb3..000000000
Binary files a/companion/src/images/library/10093.png and /dev/null differ
diff --git a/companion/src/images/library/10095.png b/companion/src/images/library/10095.png
deleted file mode 100644
index 5c03253c8..000000000
Binary files a/companion/src/images/library/10095.png and /dev/null differ
diff --git a/companion/src/images/library/10097.png b/companion/src/images/library/10097.png
deleted file mode 100644
index 88aecde84..000000000
Binary files a/companion/src/images/library/10097.png and /dev/null differ
diff --git a/companion/src/images/library/10098.png b/companion/src/images/library/10098.png
deleted file mode 100644
index 0d4249608..000000000
Binary files a/companion/src/images/library/10098.png and /dev/null differ
diff --git a/companion/src/images/library/10099.png b/companion/src/images/library/10099.png
deleted file mode 100644
index 2d99e224f..000000000
Binary files a/companion/src/images/library/10099.png and /dev/null differ
diff --git a/companion/src/images/library/10100.png b/companion/src/images/library/10100.png
deleted file mode 100644
index 14001a79a..000000000
Binary files a/companion/src/images/library/10100.png and /dev/null differ
diff --git a/companion/src/images/library/10101.png b/companion/src/images/library/10101.png
index 1f21c62ea..073c3197b 100644
Binary files a/companion/src/images/library/10101.png and b/companion/src/images/library/10101.png differ
diff --git a/companion/src/images/library/10102.png b/companion/src/images/library/10102.png
index 28ef0617b..7bfefdce6 100644
Binary files a/companion/src/images/library/10102.png and b/companion/src/images/library/10102.png differ
diff --git a/companion/src/images/library/10103.png b/companion/src/images/library/10103.png
index 8fd5c2897..d44f974b5 100644
Binary files a/companion/src/images/library/10103.png and b/companion/src/images/library/10103.png differ
diff --git a/companion/src/images/library/10104.png b/companion/src/images/library/10104.png
deleted file mode 100644
index 17b0c12a0..000000000
Binary files a/companion/src/images/library/10104.png and /dev/null differ
diff --git a/companion/src/images/library/10501.png b/companion/src/images/library/10501.png
new file mode 100644
index 000000000..51e85006a
Binary files /dev/null and b/companion/src/images/library/10501.png differ
diff --git a/companion/src/images/library/10502.png b/companion/src/images/library/10502.png
new file mode 100644
index 000000000..47b108be9
Binary files /dev/null and b/companion/src/images/library/10502.png differ
diff --git a/companion/src/images/library/10503.png b/companion/src/images/library/10503.png
new file mode 100644
index 000000000..1ba8ec880
Binary files /dev/null and b/companion/src/images/library/10503.png differ
diff --git a/companion/src/images/library/10504.png b/companion/src/images/library/10504.png
new file mode 100644
index 000000000..e64ecb348
Binary files /dev/null and b/companion/src/images/library/10504.png differ
diff --git a/companion/src/images/library/10505.png b/companion/src/images/library/10505.png
new file mode 100644
index 000000000..a623d3376
Binary files /dev/null and b/companion/src/images/library/10505.png differ
diff --git a/companion/src/images/library/10506.png b/companion/src/images/library/10506.png
new file mode 100644
index 000000000..2fbda686e
Binary files /dev/null and b/companion/src/images/library/10506.png differ
diff --git a/companion/src/images/library/10508.png b/companion/src/images/library/10508.png
new file mode 100644
index 000000000..ed3ce466d
Binary files /dev/null and b/companion/src/images/library/10508.png differ
diff --git a/companion/src/images/library/10601.png b/companion/src/images/library/10601.png
new file mode 100644
index 000000000..782dd9653
Binary files /dev/null and b/companion/src/images/library/10601.png differ
diff --git a/companion/src/images/library/10092.png b/companion/src/images/library/10701.png
similarity index 100%
rename from companion/src/images/library/10092.png
rename to companion/src/images/library/10701.png
diff --git a/companion/src/images/library/10053.png b/companion/src/images/library/10702.png
similarity index 100%
rename from companion/src/images/library/10053.png
rename to companion/src/images/library/10702.png
diff --git a/companion/src/images/library/10801.png b/companion/src/images/library/10801.png
new file mode 100644
index 000000000..1ad61712b
Binary files /dev/null and b/companion/src/images/library/10801.png differ
diff --git a/companion/src/images/library/10802.png b/companion/src/images/library/10802.png
new file mode 100644
index 000000000..bbf26657e
Binary files /dev/null and b/companion/src/images/library/10802.png differ
diff --git a/companion/src/images/library/20001.png b/companion/src/images/library/20001.png
deleted file mode 100644
index aaed01ccc..000000000
Binary files a/companion/src/images/library/20001.png and /dev/null differ
diff --git a/companion/src/images/library/20002.png b/companion/src/images/library/20002.png
deleted file mode 100644
index 3f3d21866..000000000
Binary files a/companion/src/images/library/20002.png and /dev/null differ
diff --git a/companion/src/images/library/20003.png b/companion/src/images/library/20003.png
deleted file mode 100644
index 166fd4c94..000000000
Binary files a/companion/src/images/library/20003.png and /dev/null differ
diff --git a/companion/src/images/library/20004.png b/companion/src/images/library/20004.png
deleted file mode 100644
index df09efa35..000000000
Binary files a/companion/src/images/library/20004.png and /dev/null differ
diff --git a/companion/src/images/library/30001.png b/companion/src/images/library/30001.png
deleted file mode 100644
index a699fad95..000000000
Binary files a/companion/src/images/library/30001.png and /dev/null differ
diff --git a/companion/src/images/library/30002.png b/companion/src/images/library/30002.png
deleted file mode 100644
index b90ee4ca8..000000000
Binary files a/companion/src/images/library/30002.png and /dev/null differ
diff --git a/companion/src/images/library/30003.png b/companion/src/images/library/30003.png
deleted file mode 100644
index fe4548967..000000000
Binary files a/companion/src/images/library/30003.png and /dev/null differ
diff --git a/companion/src/images/library/30004.png b/companion/src/images/library/30004.png
deleted file mode 100644
index 4db2f79bb..000000000
Binary files a/companion/src/images/library/30004.png and /dev/null differ
diff --git a/companion/src/images/library/30005.png b/companion/src/images/library/30005.png
deleted file mode 100644
index ceeb0b358..000000000
Binary files a/companion/src/images/library/30005.png and /dev/null differ
diff --git a/companion/src/images/library/30006.png b/companion/src/images/library/30006.png
deleted file mode 100644
index de6493b1c..000000000
Binary files a/companion/src/images/library/30006.png and /dev/null differ
diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp
index e4bb27f80..596f6b78c 100644
--- a/companion/src/mainwindow.cpp
+++ b/companion/src/mainwindow.cpp
@@ -308,7 +308,7 @@ void MainWindow::downloadLatestFW(FirmwareInfo * firmware, const QString & firmw
if (!fileName.isEmpty()) {
downloadedFW = firmwareId;
needRename=true;
- downloadedFWFilename = fileName;
+ g.profile[g.id()].fwName( fileName );
if (!cpuid.isEmpty()) {
url.append("&cpuid=");
url.append(cpuid);
@@ -323,7 +323,7 @@ void MainWindow::downloadLatestFW(FirmwareInfo * firmware, const QString & firmw
void MainWindow::reply1Accepted()
{
QString errormsg;
- if (downloadedFWFilename.isEmpty()) {
+ if (g.profile[g.id()].fwName().isEmpty()) {
if (!(downloadedFW.isEmpty())) {
QFile file(downloadedFW);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { //reading HEX TEXT file
@@ -364,11 +364,11 @@ void MainWindow::reply1Accepted()
g.fwRev.set(downloadedFW, currentFWrev);
}
} else {
- QFile file(downloadedFWFilename);
+ QFile file(g.profile[g.id()].fwName());
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { //reading HEX TEXT file
QMessageBox::critical(this, tr("Error"),
tr("Error opening file %1:\n%2.")
- .arg(downloadedFWFilename)
+ .arg(g.profile[g.id()].fwName())
.arg(file.errorString()));
return;
}
@@ -399,13 +399,13 @@ void MainWindow::reply1Accepted()
return;
}
file.close();
- FlashInterface flash(downloadedFWFilename);
+ FlashInterface flash(g.profile[g.id()].fwName());
QString rev=flash.getSvn();
int pos=rev.lastIndexOf("-r");
if (pos>0) {
currentFWrev=rev.mid(pos+2).toInt();
if (g.profile[g.id()].renameFwFiles() && needRename) {
- QFileInfo fi(downloadedFWFilename);
+ QFileInfo fi(g.profile[g.id()].fwName());
QString path=fi.path()+QDir::separator ();
path.append(fi.completeBaseName());
path.append(rev.mid(pos));
@@ -413,14 +413,14 @@ void MainWindow::reply1Accepted()
path.append(fi.suffix());
QDir qd;
qd.remove(path);
- qd.rename(downloadedFWFilename,path);
- downloadedFWFilename=path;
+ qd.rename(g.profile[g.id()].fwName(),path);
+ g.profile[g.id()].fwName(path);
}
g.fwRev.set(downloadedFW, currentFWrev);
if (g.profile[g.id()].burnFirmware()) {
int ret = QMessageBox::question(this, "Companion", tr("Do you want to write the firmware to the transmitter now ?"), QMessageBox::Yes | QMessageBox::No);
if (ret == QMessageBox::Yes) {
- writeFlash(downloadedFWFilename);
+ writeFlash(g.profile[g.id()].fwName());
}
}
}
@@ -560,7 +560,7 @@ void MainWindow::reply1Finished(QNetworkReply * reply)
url.append("&cpuid=");
url.append(cpuid);
}
- downloadedFWFilename = fileName;
+ g.profile[g.id()].fwName( fileName );
g.flashDir(QFileInfo(fileName).dir().absolutePath());
downloadDialog * dd = new downloadDialog(this, url, fileName);
currentFWrev_temp = NewFwRev;
@@ -702,7 +702,7 @@ void MainWindow::loadProfile() //TODO Load all variables - Also HW!
g.id( profnum );
// TODO Get rid of this global variable - The profile.firmware is the real source
- current_firmware_variant = GetFirmwareVariant(g.profile[g.id()].firmware());
+ current_firmware_variant = GetFirmwareVariant(g.profile[g.id()].fwType());
foreach (QMdiSubWindow *window, mdiArea->subWindowList()) {
MdiChild *mdiChild = qobject_cast(window->widget());
diff --git a/companion/src/mainwindow.h b/companion/src/mainwindow.h
index f746b1eb8..8bfca1fa8 100644
--- a/companion/src/mainwindow.h
+++ b/companion/src/mainwindow.h
@@ -197,7 +197,6 @@ private:
QString installer_fileName;
QString downloadedFW;
- QString downloadedFWFilename;
downloadDialog * downloadDialog_forWait;
bool needRename;
diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp
index 099ba56ab..e06fe96a3 100644
--- a/companion/src/modeledit/telemetry.cpp
+++ b/companion/src/modeledit/telemetry.cpp
@@ -457,7 +457,7 @@ TelemetryPanel::~TelemetryPanel()
void TelemetryPanel::setup()
{
- QString firmware_id = g.profile[g.id()].firmware();
+ QString firmware_id = g.profile[g.id()].fwType();
lock=true;
diff --git a/companion/src/splashlibrary.cpp b/companion/src/splashlibrary.cpp
index 5685406b7..d35dd48a6 100644
--- a/companion/src/splashlibrary.cpp
+++ b/companion/src/splashlibrary.cpp
@@ -3,7 +3,6 @@
#include "appdata.h"
#include
#include "helpers.h"
-//#include "splashlabel.h"
#include "flashinterface.h"
#include "helpers.h"
@@ -23,7 +22,6 @@ splashLibrary::splashLibrary(QWidget *parent, QString * fileName) : QDialog(pare
foreach(splashLabel *sl, findChildren()) {
connect(sl, SIGNAL(buttonPressed(int)), this, SLOT(onButtonPressed(int)));
}
- resize(0, 0);
}
splashLibrary::~splashLibrary() {
@@ -40,7 +38,7 @@ void splashLibrary::setupPage(int page) {
if ((i + 20 * page) < imageList.size()) {
QImage image(imageList.at(i + 20 * page));
if (!image.isNull()) {
- sl[i]->setPixmap(QPixmap::fromImage(image.scaled(SPLASH_WIDTH, SPLASH_HEIGHT).convertToFormat(QImage::Format_Mono)));
+ sl[i]->setPixmap(makePixMap(image, g.profile[g.id()].fwType()));
sl[i]->setEnabled(true);
sl[i]->setId((i + 20 * page));
sl[i]->setStyleSheet("border:1px solid; border-color:#999999;");
@@ -104,10 +102,6 @@ void splashLibrary::getFileList() {
}
}
-void splashLibrary::shrink() {
- resize(0, 0);
-}
-
void splashLibrary::dclose() {
close();
}
diff --git a/companion/src/splashlibrary.h b/companion/src/splashlibrary.h
index 9da9d58e4..0d9123a74 100644
--- a/companion/src/splashlibrary.h
+++ b/companion/src/splashlibrary.h
@@ -17,7 +17,6 @@ public:
~splashLibrary();
private slots:
- void shrink() ;
void dclose();
void onButtonPressed(int button);
void on_nextPage_clicked();
diff --git a/companion/src/splashlibrary.ui b/companion/src/splashlibrary.ui
index 15e1b54a0..5ce1e2502 100644
--- a/companion/src/splashlibrary.ui
+++ b/companion/src/splashlibrary.ui
@@ -6,22 +6,16 @@
0
0
- 662
- 356
+ 650
+ 374
-
+
0
0
-
-
- 662
- 356
-
-
@@ -39,10 +33,16 @@
- 50
+ 34
0
+
+
+ 34
+ 16777215
+
+
...
@@ -54,12 +54,15 @@
- -
+
-
+
+ QLayout::SetNoConstraint
+
-
-
+
0
0
@@ -72,7 +75,7 @@
- 130
+ 214
66
@@ -105,7 +108,7 @@
-
-
+
0
0
@@ -113,55 +116,12 @@
130
- 66
+ 0
- 130
- 66
-
-
-
- true
-
-
- border:1px;
-
-
- QFrame::Panel
-
-
- QFrame::Plain
-
-
- 0
-
-
-
-
-
- true
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 130
- 66
-
-
-
-
- 130
+ 214
66
@@ -191,7 +151,7 @@
-
-
+
0
0
@@ -199,12 +159,12 @@
130
- 66
+ 0
- 130
+ 214
66
@@ -234,20 +194,20 @@
-
-
+
0
0
- 130
+ 0
66
- 130
+ 214
66
@@ -277,20 +237,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -320,20 +274,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -363,20 +311,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -406,20 +348,20 @@
-
-
+
0
0
- 130
+ 0
66
- 130
+ 214
66
@@ -449,20 +391,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -492,20 +428,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -535,20 +465,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -578,20 +502,20 @@
-
-
+
0
0
- 130
+ 0
66
- 130
+ 214
66
@@ -621,20 +545,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -664,20 +582,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -707,20 +619,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -750,20 +656,20 @@
-
-
+
0
0
- 130
+ 0
66
- 130
+ 214
66
@@ -793,20 +699,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -836,20 +736,14 @@
-
-
+
0
0
-
-
- 130
- 66
-
-
- 130
+ 214
66
@@ -879,7 +773,44 @@
-
-
+
+ 0
+ 0
+
+
+
+
+ 214
+ 66
+
+
+
+ true
+
+
+ border:1px;
+
+
+ QFrame::Panel
+
+
+ QFrame::Plain
+
+
+ 0
+
+
+
+
+
+ true
+
+
+
+ -
+
+
+
0
0
@@ -887,12 +818,12 @@
130
- 66
+ 0
- 130
+ 214
66
@@ -921,7 +852,7 @@
- -
+
-
false
@@ -934,10 +865,16 @@
- 50
+ 34
0
+
+
+ 34
+ 16777215
+
+
...
@@ -949,6 +886,32 @@
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts
index 1715ded6f..ab649090f 100644
--- a/companion/src/translations/companion_pl.ts
+++ b/companion/src/translations/companion_pl.ts
@@ -57,22 +57,22 @@
CurveGroup
-
+
Diff
Róźnicowość
-
+
Expo
Expo
-
+
Func
Funkcja
-
+
Curve
Krzywa
@@ -168,57 +168,57 @@
FS%1
-
+
ON
Włącz
-
+
Error
Błąd
-
+
Unable to find sound file %1!
Nie mogę odnaleźć pliku dźwiękowego %1!
-
+
&Delete
&Wykasuj
-
+
Delete
Wykasuj
-
+
&Copy
&Kopiuj
-
+
Ctrl+C
Ctrl+C
-
+
&Cut
&Wytnij
-
+
Ctrl+X
Ctrl+X
-
+
&Paste
&Wklej
-
+
Ctrl+V
Ctrl+V
@@ -2064,7 +2064,7 @@ Jesteś pewien ?
-
+
File loaded
Plik załadowany
@@ -2123,23 +2123,23 @@ Jesteś pewien ?
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Error
Błąd
-
-
-
+
+
+
Error opening file %1:
%2.
Błąd otwarcia pliku %1:
@@ -2309,21 +2309,56 @@ Chcesz pobrać teraz?
OpenTX Companion - FW: %1 - Profile: %2
OpenTX Companion - FW: %1 - Profil: %2
+
+
+ About...
+ O aplikacji...
+
+
+
+ Print...
+ Drukuj...
+
+
+
+ Simulate...
+ Symulacja...
+
+
+
+ Simulate current model
+ Symulacja aktualnego modelu
+
+
+
+ Load Backup...
+ Załaduj backup...
+
+
+
+ View Log File...
+ Obejrzyj plik logów...
+
+
+
+ Open and view log file
+ Otwórz i obejrzyj plik logów
+
Edit Settings
Edycja Ustawień
+
+
+ Settings...
+ Ustawienia...
+
Download firmware and voice files
Pobierz firmware i pliki dźwiękowe
-
-
- New Profile
- Nowy Profil
-
Create a new Radio Setting Profile
@@ -2334,6 +2369,78 @@ Chcesz pobrać teraz?
A monochrome black icon theme
Monochromatyczny czarny wygląd ikon
+
+
+
+ Open Models and Settings file
+ Otwórz plik Modeli i Ustawień
+
+
+
+ New Models+Settings
+ Nowe Modele+Ustawienia
+
+
+
+ Create a new Models and Settings file
+ Utwórz nowy plik Modeli i Ustawień
+
+
+
+ Open Models+Settings...
+ Otwórz Modele i Ustawienia...
+
+
+
+ Save Models+Settings...
+ Zapisz Modele i Ustawienia...
+
+
+
+
+ Save Models and Settings file
+ Zapisz plik Modeli i Ustawień
+
+
+
+ Save Models+Settings as...
+ Zapisz Modele+Ustawienia jako...
+
+
+
+ Cut Model
+ Wytnij Model
+
+
+
+ Cut current model to the clipboard
+ Wytnij aktualny model do schowka
+
+
+
+ Copy Model...
+ Kopiuj Model...
+
+
+
+ Copy current model to the clipboard
+ Wytnij aktualny model do schowka
+
+
+
+ Paste Model...
+ Wklej Model...
+
+
+
+ Paste model from clipboard
+ Wklaj Model ze schowka
+
+
+
+ The classic companion9x icon theme
+ Klasyczny zestaw ikon Companion
+
A monochrome white icon theme
@@ -2495,55 +2602,21 @@ Chcesz pobrać teraz?
Użyj Rosyjskiego w menu
-
- About
- O aplikacji
+
+
+ Radio Settings Profile
+ Profil Ustawień Radia
-
- Print
- Drukuj
+
+ Show recent Models+Settings documents
+ Pokaż ostatanie dokumenty Modeli i Ustawień
Print current model
Drukuj aktualny model
-
-
- Simulate
- Symulacja
-
-
-
- Simulate selected model
- Symulacja wybranego modelu
-
-
-
- loadBackup...
- Załaduj backup...
-
-
-
- Logs
- Logi
-
-
-
- Setting...
- Ustawienia...
-
-
-
- Downloads...
- Pobieranie...
-
-
-
- Check for updates...
- Sprawdź aktualizacje...
-
Check OpenTX and Companion updates
@@ -2554,16 +2627,6 @@ Chcesz pobrać teraz?
Edit Tx Splash Image...
Edytor erkanu startowego radia...
-
-
- edit the splash screen of your TX
- Edytuj ekran startowy swojego radia
-
-
-
- List programmers
- Lista programatorów
-
Fuses...
@@ -2579,11 +2642,6 @@ Chcesz pobrać teraz?
Open the OpenTX document page in a web browser
Otwórz stronę dokumentacji OpenTX w przeglądarce
-
-
- Configure connection software...
- Ustawienia oprogramowania łączącego...
-
Save Tx Models and Settings to file
@@ -2591,13 +2649,19 @@ Chcesz pobrać teraz?
- Contributors
- Współpracownicy
+ A tribute to those who have contributed to OpenTX and Companion
+ Hołd dla tych, którzy przyczynili się do rozwoju OpenTX i Companion
- A tribute to those who have contributed to OpenTX and Companion
- Hołd dla tych, którzy przyczynili się do rozwoju OpenTX i Companion
+ Contributors...
+ Współpracownicy...
+
+
+
+
+ Recent Models+Settings
+ Ostatnie Modele+Ustawienia
@@ -2609,11 +2673,6 @@ Chcesz pobrać teraz?
Set Icon Size
Ustaw wielkość ikon
-
-
- Radio Settings Profiles
- Profile Ustawień Radia
-
A new version of Companion is available (version %1)<br>Would you like to download it?
@@ -2667,11 +2726,6 @@ Chcesz pobrać teraz?
The icon size will be used the next time you start Companion.
Wybrana wiekość ikon będzie użyta po ponownym uruchomieniu Comapnion.
-
-
- Open
- Otwórz
-
@@ -2802,37 +2856,11 @@ Czy mimo wszystko zapisać?
About Companion
O aplikacji Companion
-
-
- Create a new file
- Utwórz nowy plik
-
-
-
- Open an existing file
- Otwórz istniejący plik
-
Load backup from file
Załaduj backup z pliku
-
-
-
- Save the document to disk
- Zapisz dokument na dysku
-
-
-
- Open log file
- Otwórz plik logów
-
-
-
- Show Companion changelog
- Zobacz zmiany w Companion
-
Write Models and Settings to transmitter
@@ -2848,56 +2876,11 @@ Czy mimo wszystko zapisać?
Write Firmware
Zapisz firmware
-
-
- Open...
- Otwórz...
-
-
-
- Save...
- Zapisz...
-
-
-
- Save As...
- Zapisz jako...
-
Exit
Zakończ
-
-
- Cut
- Wytnij
-
-
-
- Cut current selection to the clipboard
- Wytnij zaznaczenie do schowka
-
-
-
- Copy...
- Kopiuj...
-
-
-
- Copy current selection to the clipboard
- Wytnij zaznaczenie do schowka
-
-
-
- Paste...
- Wklej...
-
-
-
- Paste clipboard into current selection
- Wytnij zaznaczenie do schowka
-
Monochrome
@@ -2923,11 +2906,71 @@ Czy mimo wszystko zapisać?
Use system language in menus
Użyj języka systemu w menu
+
+
+ Download...
+ Pobieranie...
+
+
+
+ Check for Updates...
+ Sprawdź aktualizacje...
+
+
+
+ Companion Changes...
+ Zmiany w Companion...
+
+
+
+ Show Companion change log
+ Pokaż log zmian Companion
+
+
+
+ Firmware Changes...
+ Zmiany w Firmware...
+
+
+
+ Show firmware change log
+ Pokaż log zmian Firmware
+
+
+
+ Compare Models...
+ Porównaj modele...
+
+
+
+ Edit the splash image of your TX
+ Edytuj ekran startowy swojego radia
+
+
+
+ List programmers...
+ Lista programistów...
+
Write firmware to transmitter
Zapisz firmware do radia
+
+
+ Add Radio Profile
+ Dodaj profil radia
+
+
+
+ Configure Communications...
+ Ustaw komunikację...
+
+
+
+ Configure software for communicating with the transmitter
+ Ustaw oprogramowanie komunikacyjne z radiem
+
Write Models and Settings from file to Tx
@@ -2964,46 +3007,26 @@ Czy mimo wszystko zapisać?
Wczytaj Firmware z radia
-
- Configure software for reading from and writing to the transmitter
- Ustawienia oprogramowania do odczytu i zapisu radia
-
-
-
+
Write
Zapis
-
-
+
+ %2
+ %2
+
+
+
+
Invalid Models and Settings File %1
Błędny plik %1 Modeli i Ustawień
-
+
Invalid binary Models and Settings File %1
Błędny binarny plik %1 Modeli i Ustawień
-
-
- ChangeLog...
- Zmiany...
-
-
-
- Firmware ChangeLog...
- Zmiany firmware...
-
-
-
- Show firmware changelog
- Zobacz zmiany w firmware
-
-
-
- Compare...
- Porównaj...
-
Compare models
@@ -3034,22 +3057,6 @@ Czy mimo wszystko zapisać?
Classical
Klasyczny
-
-
- The classical Companion icon theme
- Klasyczny zestaw ikon Companion
-
-
-
- New
- Nowy
-
-
-
-
- Recent Files
- Poprzednie pliki
-
Set Menu Language
@@ -3062,13 +3069,13 @@ Czy mimo wszystko zapisać?
Plik
-
-
+
+
Edit
Edycja
-
+
Settings
Ustawienia
@@ -3079,42 +3086,27 @@ Czy mimo wszystko zapisać?
-
+
Help
Pomoc
-
-
- Show a selection list of recent documents
- Pokaż listę wyboru poprzednich dokumentów
-
-
-
- Radio Profiles
- Profile Radia
-
Show a selection list of radio settings profiles
Pokaż listę wyboru profili ustawiań radia
-
+
Ready
Gotowe
-
- &%1: %2
- &%1: %2
-
-
-
+
Unable to find file %1!
Nie mogę znaleźć pliku %1!
-
+
Error reading file %1:
%2.
Błąd odczytu pliku %1:
@@ -3149,16 +3141,17 @@ Czy mimo wszystko zapisać?
-
-
-
-
+
+
+
+
+
Error
Błąd
-
+
Unable to find file %1!
Nie mogę odnaleźć pliku %1!
@@ -3166,7 +3159,7 @@ Czy mimo wszystko zapisać?
-
+
Error opening file %1:
%2.
Błąd otwarcia pliku %1:
@@ -3228,7 +3221,7 @@ Czy mimo wszystko zapisać?
-
+
Error reading file %1:
%2.
Błąd odczytu pliku %1:
@@ -3258,58 +3251,58 @@ Zapisać?
-
-
+
+
Taranis radio not found
Nie odnaleziono Radia Taranis
-
-
+
+
Impossible to identify the radio on your system, please verify the eeprom disk is connected.
Identyfikacja radia w Twoim systemie nie jest możliwa, sprawdź dysk eeprom podpięty do komputera.
-
-
-
+
+
+
Backup EEPROM From Tx
Backup EEPROM z radia
-
+
Cannot check eeprom compatibility! Continue anyway?
Nie mogę sprawdzić kompatybilności EEprom! Kontynuować ?
-
-
+
+
Warning
Ostrzeżenie
-
+
Firmware in radio is of a different family of eeprom written, check file and preferences!
Firmware w radiu jest różny od zapisanego eepromu, sprawdź plik i ustawienia!
-
+
Firmware in flash is outdated, please upgrade!
Firmware w radiu jest przestarzały. Proszę zaktualizować!
-
+
Write EEPROM To Tx
Zapis EEPROM do radia
-
- Open
- Otwórz
+
+ Open backup Models and Settings file
+ Otwórz plik backupu Modeli i Ustawień
-
+
Invalid binary backup File %1
nieprawidłowy binarny plik %1
@@ -4112,70 +4105,70 @@ p, li { white-space: pre-wrap; }
QObject
-
+
Rud
SK
-
+
Ele
SW
-
+
Thr
Gaz
-
+
Ail
Lotki
-
-
+
+
P1
Potencjometr 1
-
-
+
+
P2
Potencjometr 2
-
-
+
+
P3
Potencjometr 3
-
+
S1
Potencjometr 1
-
+
S2
Potencjometr 2
-
+
LS
Lewy suwak
-
+
RS
Prawy suwak
@@ -4202,14 +4195,14 @@ p, li { white-space: pre-wrap; }
-
+
REa
Pokrętło :a
-
+
REb
Pokrętło :b
@@ -4694,26 +4687,26 @@ p, li { white-space: pre-wrap; }
-
+
----
-
+
THR
THR
-
+
ON
Włącz
-
+
OFF
Wyłącz
@@ -5160,7 +5153,7 @@ p, li { white-space: pre-wrap; }
-
+
Warning
Ostrzeżenie
@@ -5170,94 +5163,94 @@ p, li { white-space: pre-wrap; }
EEPROM zapisany z tymi ostrzeżeniami:
-
-
+
+
FM%1
FP%1
FM%1
-
+
Input%1
Wejście %1
-
+
English
Angielski
-
+
French
Francuski
-
+
Italian
Włoski
-
+
German
Niemiecki
-
+
Czech
Czeski
-
+
Slovak
Słowacki
-
+
Spanish
Hiszpański
-
+
Portuguese
Portugalski
-
+
Polish
Polski
-
+
Finnish
Fiński
-
+
No
Nie
-
+
RotEnc A
Pokrętło :A
-
+
Rot Enc B
Pokrętło :B
-
+
Rot Enc C
Pokrętło :C
-
+
Rot Enc D
Pokrętło :D
-
+
Rot Enc E
Pokrętło :E
@@ -5280,22 +5273,22 @@ p, li { white-space: pre-wrap; }
ASpd
-
+ ASpd
dTE
-
+ dTE
Cel-
-
+ Cel-
Vfs-
-
+ Vfs-
@@ -5340,22 +5333,22 @@ p, li { white-space: pre-wrap; }
ABS
-
+ ABS
THs
-
+ THs
TH%
-
+ TH%
THt
-
+ THt
@@ -5574,138 +5567,138 @@ p, li { white-space: pre-wrap; }
<font color=red><b>Niespójny parametr</b></font>
-
+
Rotary Encoder
Pokrętło
-
+
!Flight mode %1
!Faza lotu %1
-
+
Flight mode %1
Faza lotu %1
-
+
Yellow
Żółty
-
+
Orange
Pomarańczowy
-
+
Red
Czerwony
-
+
Winged Shadow How High
-
+
Winged Shadow How High (not supported)
Winged Shadow How High (nie obsługiwane)
-
+
FrSky Sensor Hub
Hub sensora FrSky
-
-
+
+
None
Żaden
-
+
Imperial
Imperialne
-
+
Metric
Metryczne
-
+
Extra Fine
Bardzo dokładne
-
+
Fine
Dokładne
-
+
Medium
Średni
-
+
Coarse
Gruby
-
+
Exponential
Eksponencjalny
-
+
Count Up
Licz
-
+
Count Down
Odliczaj
-
+
%1:%2,
-
+
: %1 Channels, %2usec Delay
:Kanały %1, opóźnienie %2usX
-
+
Flight modes(%1)
Fazy lotu(%1)
-
+
Flight mode(%1)
Faza lotu (%1)
-
+
Rudder
SK
-
+
Elevator
SW
-
+
Throttle
Gaz
-
+
Aileron
Lotki
@@ -5716,43 +5709,43 @@ p, li { white-space: pre-wrap; }
-
-
+
+
---
-
+
Rud Trim
Trymer SK
-
+
Ele Trim
Trymer SW
-
+
Thr Trim
Trymer gazu
-
+
Ail Trim
Trymer lotek
-
+
Rot Enc
Pokrętło
-
+
Swedish
Szwedzki
-
+
CH%1
Kan %1
@@ -5780,7 +5773,7 @@ p, li { white-space: pre-wrap; }
-
+
Timer1
@@ -5788,21 +5781,21 @@ p, li { white-space: pre-wrap; }
-
+
Timer2
-
+
All
Wszystkie
-
+
Telemetry
Telemetria
@@ -5835,66 +5828,66 @@ p, li { white-space: pre-wrap; }
-
+
Value
Wartość
-
+
Source
Źródło
-
+
GVAR
Zmienna
-
+
Increment
Zwiększanie
-
+
Own value
Własny Wartość
-
+
Flight mode %1 value
Flight phase %1 value
Wartość Fazy lotu FL%1
-
+
Keys
Przyciski
-
+
Sticks
Drążki
-
+
Keys + Sticks
Przyciski i Drążki
-
+
-GV%1
-ZG%1
-
+
GV%1
ZG%1
-
+
Simulator for this firmware is not yet available
Nie jest dostępny symulator dla tego firmware
@@ -5972,17 +5965,17 @@ Zespół OpenTX/Companion.
Użyj trymerów dla Fazy Lotu %1 + Własne trymery jako offset
-
+
FW: %1
FW:%1
-
+
Pict: %1
Obrazek:%1
-
+
Profile image
Obrazek Profilu
@@ -6219,27 +6212,27 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
TRN
-
+ TRN
GEA
-
+ GEA
ID0
-
+ ID0
ID1
-
+ DI1
ID2
-
+ ID2
@@ -6314,13 +6307,13 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
SD
-
+ SD
SC
-
+ SC
@@ -6334,25 +6327,25 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
S2
-
+ S2
SG
-
+ SG
RS
-
+ RS
SH
-
+ SH
@@ -6366,38 +6359,38 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
S1
-
+ S1
SB
-
+ SB
SA
-
+ SA
SE
-
+ SE
SF
-
+ SF
LS
-
+ LS
@@ -6873,25 +6866,25 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
appPreferencesDialog
-
+
Simulator capture folder
Katalog zapisu symulatora
-
+
Remember simulator switch values
Zapamiętaj ustawienia przełączników w symulatorze
-
-
-
-
+
+
+
+
Open Folder
Otwórz katalog
-
+
User Splash Screens
Użyj ekranu powitalnego
@@ -6901,47 +6894,52 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również
Edycja Ustawień
-
+
Application Settings
Ustawienia Aplikacji
-
+
+ Only show user splash images
+ Pokaż tylko ekrany powitalne użytkownika
+
+
+
+ Show user and companion splash images
+ Pokaż ekrany powitalne użytkownika i Companion
+
+
+
Simulator Settings
Ustawienia Symulatora
-
+
Blue
Niebieskie
-
+
Green
Zielone
-
+
Red
Czerwone
-
+
Orange
Pomarańczowe
-
+
Yellow
Żółte
-
- Radio Settings
- Ustawienia Radia
-
-
-
+
Mode selection:
Mode 1:
@@ -6964,27 +6962,27 @@ Mode 4:
-
+
Mode 1 (RUD ELE THR AIL)
Mod 1 (SK.SW.Gaz.Lot)
-
+
Mode 2 (RUD THR ELE AIL)
Mod 2 (SK.Gaz.SW.Lot)
-
+
Mode 3 (AIL ELE THR RUD)
-
+
Mode 4 (AIL THR ELE RUD)
Mod 4 (Lot.Gaz.SW.SK)
-
+
Channel order
This is used by the templated to determine which channel goes to what number output.
@@ -6993,313 +6991,317 @@ This is used by the templated to determine which channel goes to what number out
To ustawienie jest używane przez szablony, określa jakie wyjście przypisane jest do kanału.
-
+
R E T A
K W G L
-
+
R E A T
K W L G
-
+
R T E A
-
+
R T A E
K G L W
-
+
R A E T
K L W G
-
+
R A T E
K L G W
-
+
E R T A
W K G L
-
+
E R A T
W K L G
-
+
E T R A
W G K L
-
+
E T A R
W G L K
-
+
E A R T
W L K G
-
+
E A T R
W L G K
-
+
T R E A
G K W L
-
+
T R A E
G K L W
-
+
T E R A
G W K L
-
+
T E A R
G W L K
-
+
T A R E
G L K W
-
+
T A E R
G L W K
-
+
A R E T
L K W G
-
+
A R T E
L R G W
-
+
A E R T
L W K G
-
+
A E T R
L W G K
-
+
A T R E
L G K W
-
+
A T E R
L G W K
-
+
Default Stick Mode
Bazowy mod drążków
-
- Settings Profile
- Ustawienia Profilu
-
-
-
+
Splash Screen
Ekran startowy
-
+
Channel Order
Kolejność kanałów
-
+
Append version number to FW file name
Dodaj numer Firmware do nazwy pliku
-
+
SD Structure path
Struktura karty SD
+ Firmware Variant
+ Wariant Firmware
+
+
+
Select Image
Wybierz obrazek
-
+
+ Firmware File
+ Plik Firmware
+
+
+
Offer to write FW to Tx after download
Zaproponuj zapisanie FirmWare do radia po pobraniu
-
+
+ Radio Settings Profile
+ Profil Ustawień Radia
+
+
+
+ Profile Name
+ Nazwa profilu
+
+
+
Remove Profile
Usuń Profil
-
+
Clear Image
Wyczyść obrazek
-
Firmware
- Firmware
+ Firmware
-
- Include companion splashes
- Załącz ekrany powitalne
-
-
-
- Only user defined splashes
- Tylko własne ekrany powitalne
-
-
-
+
Splash Screen Library
Biblioteka ekranół powitalnych
-
+
Files to keep
Pkili to zapamiętania
-
+
Simulator BackLight
Podświetlenie symularota
-
+
Automatic Backup Folder
Automatyczny Katalog Backupów
-
+
Only capture to clipboard
Przechwyć tylko do schowka
-
+
Joystick
Joystick
-
+
Find Executable
Znajdź plik wykonywalny
-
+
Google Earth Executable
Plik wykonywalny Google Earth
-
+
Calibrate
Kalibracja
-
+
Enable
Aktywowany
-
+
Show splash screen when Companion starts
Pokaz ekran startowy przy uruchamianiu Companion
-
+
Automatic check for OpenTX firmware updates
Automatycznie sprawdź aktualizacje firmware OpenTX
-
+
Automatic check for Companion updates
Automatycznie sprawdź aktualizacje Companion
-
+
Offer to use wizard for new models
Zaproponuj użycie konfiguratora dla nowych modeli
-
+
Enable automatic backup before writing firmware
Uaktywnij automatyczny backup przed zapisem firmware
-
+
Select your snapshot folder
Katalog zrzutów
-
-
+
+
No joysticks found
Brak oysticka
-
+
Select your library folder
Wybierz katalog bibliteki
-
+
Select your Models and Settings backup folder
Wybierz folder do backupowania Modeli i Ustawień
-
+
Select Google Earth executable
Wybierz wykonywalny plik Google Earth
-
+
Select the folder replicating your SD structure
Wybierz folder do zreplikowania struktury Twojej karty SD
-
+
Not possible to remove profile
Usunięcie profilu jest niemożliwe
-
+
The default profile can not be removed.
Podstawowy profil nie moze być usunięty.
-
+
Open Image to load
Otwórz obrazek do załadowania
-
+
Images (%1)
Obrazki (%1)
@@ -7683,250 +7685,292 @@ m2560 dla platformy V4
Własne logo
-
-
+
Write to TX
Zapisz do radia
-
+
<html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html>
<html><head/><body><p>Zmiana parametrów kalibracji przy użyciu aktualnego profilu</p></body></html>
-
+
Patch calibration setting from profile
Zamień ustawienia kalibracji wartościami z profilu
-
+
<html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html>
<html><head/><body><p>Zmień ustawiania parametrów HW przy pomocy wartości z aktualnego profilu</p></body></html>
-
+
Patch HW setting from profile
Zmień ustawiania parametrów HW wartościami z profilu
-
+
Date & Time
Data i Czas
-
+
+ Use firmware start screen
+ Użyj ekranu startowego z firmware
+
+
+
+ Use another start screen
+ Użyj innego ekranu startowego
+
+
+
+ Use profile start screen
+ Użyj ekranu startowego z profilu
+
+
+
+ Use library start screen
+ Użyj ekranu startowego z biblioteki
+
+
+
SVN
-
+
Variant
Wariant
-
Invert Color
- Odwróć kolory
+ Odwróć kolory
-
Load Image
- Otwórz logo
+ Otwórz logo
-
Open Splash Library
- Otwórz bibliotekę obrazków
+ Otwórz bibliotekę obrazków
-
- ...
-
-
-
-
Substitute image in firmware
- Zmień logo w firmware
+ Zmień logo w firmware
-
-
+
+
Browse for file
Przeglądaj pliki
-
+
Allows Companion to write to older version of the firmware
Pozwól Companion na zapis do starszej wersji firmware
-
+
Backup and restore Models and Settings
Zbakupuj i odtwórz Modele i Ustawienia
-
Use image in settings
- Użyj Logo w ustawieniach
+ Użyj Logo w ustawieniach
-
+
Check Firmware compatibility
Sprawdź kompatybilność firmware
-
+
Current Profile
Aktualny profil
-
+
Cancel
Przerwij
-
+
Write firmware to TX
Zapisz firmware do radia
-
+
Current profile
Aktualny profil
-
- Open
- Otwórz
-
-
-
-
-
-
-
-
+
+
+
+
+
+
Warning
Ostrzeżenie
-
%1 is not a known firmware
- %1 nie jest znanym firmware
+ %1 nie jest znanym firmware
-
Burn anyway !
- Wypiecz mimo wszystko !
+ Wypiecz mimo wszystko !
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Error
Błąd
-
+
Unable to find file %1!
Nie mogę odnaleźć pliku %1!
-
-
-
+
+
+
Error opening file %1:
%2.
Błąd otwarcia pliku %1:
%2.
-
+
Write Models and Settings to TX
Zapisz Modele i Ustawienia do radia
-
+
Write Models and Settings in %1 to TX
Zapisz Modele i Ustawienia w %1 do radia
-
+
+ Open Firmware File
+ Otwórz plik Firmware
+
+
+
Choose file to load Models and Settings from
Wybierz plik Modeli i Ustawien do wczytania
-
-
-
+
+ %1 may not be a valid firmware file
+ %1 moze nie być prawidłowym plikiem firmware
+
+
+
+
+
Invalid binary Models and Settings File %1, Proceed anyway ?
Nieprawidłowy plik Modeli i Ustawień : %1. Kontynuować ?
-
+
Error reading file %1:
%2.
Błąd odczytu pliku %1:
%2.
-
- Open Image to load
- Otwórz plik z logo
+
+ The firmware file is not valid.
+ Plik firmware jest błedny.
-
+
+ There is no start screen image in the firmware file.
+ Brak obrazka ekranu startowego w firmware.
+
+
+
+ The profile image %1 does not contain an image.
+ Obraz profilu %1 nie zawiera obrazka.
+
+
+
+ Open image file to use as Tx start screen
+ Otwórz plik obrazka by użyć go jako ekran startowy radia
+
+
+
+ Image could not be loaded from %1
+ Obrazek nie moze być załadowany z %1
+
+
+
+ The library image could not be loaded
+ Obrazek z biblioteki nie może być załadowany
+
+
+ Open Image to load
+ Otwórz plik z logo
+
+
+
Images (%1)
Obrazki (%1)
-
-
Cannot load %1.
- Nie mogę załadować %1.
+ Nie mogę załadować %1.
-
+
Cannot save customized firmware
Nie mogę zapisać przystosowanego firmware
-
+
Custom image not found
Własny obrazek nie odnaleziony
-
+
No firmware selected
Brak wyboru firmware
-
+
Wrong radio calibration data in profile, Settings not patched
Błędna kalibracja radia w profilu, Ustawienia nie spatchowane
-
+
Wrong radio setting data in profile, Settings not patched
Błędne ustawienia radia w profilu, Ustawienia nie spatchowane
-
-
+
+
Cannot write file %1:
%2.
Nie mogę zapisać pliku %1:
%2.
-
+
Error writing file %1:
%2.
Błąd zapisu pliku %1:
@@ -8501,118 +8545,118 @@ m2560 dla platformy V4
-
+
Invert
Odwróć
-
-
+
+
Load FW
Otwórz firmware
-
-
+
+
Load Pict
Otwórz obrazek
-
+
Load Profile
Załaduj profil
-
-
+
+
Save
Zapisz
-
+
Open Splash Library
Otwórz bibliotekę obrazków
-
-
-
+
+
+
...
-
- Open
- Otwórz
-
-
-
-
-
-
+
+
+
+
Error
Błąd
-
- Cannot load embedded FW image from %1.
- Nie mogę załadować wstawionego obrazu FW z %1.
-
-
-
+
Cannot load the image file %1.
Nie mogę załadować pliku obrazka %1.
-
+
Cannot load the profile image %1.
Nie mogę załadować obrazu Profilu %1.
-
+
Cannot load the library image %1.
Nie mogę załadować obrazu biblioteki %1.
-
+
File Saved
Plik Zapisany
-
+
The image was saved to the file %1
Obraz został zapisany do pliku %1
-
+
Image Refresh Error
Błąd odświeżenia obrazka
-
+
Failed to refresh image from file %1
Nieudane odswieżenie obrazka z pliku %1
-
+
File Save Error
Błąd zapisu pliku
-
+
Failed to write image to %1
Nieudany zapis obrazka do %1
-
+
Open Image to load
Otwórz obrazek do załadowania
-
+
+ Open Firmware File
+ Otwórz plik Firmware
+
+
+
+ Can not load embedded image from firmware file %1.
+ Nie mogę załądować wbudowanego obrazka z pliku Firmware %1.
+
+
+
Images (%1)
Obrazki (%1)
@@ -10621,32 +10665,32 @@ Mode 4:
splashLibrary
-
+
...
-
+
Splash Library - page %1 of %2
Biblioteka obrazków - strona %1 z %2
-
+
Warning
Ostrzeżenie
-
+
Invalid image in library %1
Nieprawidłowy obrazek w bibliotece %1
-
+
Information
Informacja
-
+
No valid image found in library, check your settings
Nie znaleziono prawodłowego obrazka w biblitece, sprawdź ustawienia
diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts
index 9b2636f07..091cd0560 100644
--- a/companion/src/translations/companion_sv.ts
+++ b/companion/src/translations/companion_sv.ts
@@ -57,7 +57,7 @@
CurveGroup
-
+
Diff
Diff
@@ -143,7 +143,7 @@
CustomFunctionsPanel
-
+
Switch
Brytare
@@ -163,17 +163,17 @@
Effekt
-
+
CF%1
-
+
-
+
ON
På
-
+
Error
Fel
@@ -183,7 +183,7 @@
Kan inte hitta ljudfilen %1!
-
+
&Delete
&Ta bort
@@ -601,7 +601,7 @@ Om fältet lämnas tomt så är filtret aktivt hela tiden.
Allmänna inställningar
-
+
General settings used throught the transmitter.
These will be relevant for all models in the same EEPROM.
Allmänna inställningar för sändaren
@@ -1541,7 +1541,7 @@ Mode 4:
Spänning
-
+
Warning
Varning
@@ -1557,12 +1557,12 @@ Mode 4:
Felaktig information i profilen, hårdvaruinställningar lästes inte in
-
+
Do you want to store calibration in %1 profile<br>overwriting existing calibration?
Vill du skriva över existerande kalibreringsdata<br>i profilen %1 med de nuvarande?
-
+
Calibration and HW parameters saved.
Kalibrering ojch hårdvaruinställningar sparades.
@@ -1677,7 +1677,7 @@ Mode 4:
PPMSim
-
+
If you enable FAI, you loose the vario, the play functions, the telemetry screen.
This function cannot be disabled by the radio.
Are you sure ?
@@ -1844,25 +1844,25 @@ FAI-funktionen kan inte slås av i sändaren.
InputsPanel
-
+
Move Up
Flytta uppåt
-
-
+
+
Ctrl+Up
Ctrl+Up
-
-
+
+
Move Down
Flytta nedåt
-
-
+
+
Ctrl+Down
Ctrl+Down
@@ -1887,12 +1887,12 @@ FAI-funktionen kan inte slås av i sändaren.
Brytare(%1)
-
+
Clear All Settings
Radera alla inställningar
-
+
Not enough available inputs!
För få filter är tillgängliga!
@@ -2064,39 +2064,39 @@ FAI-funktionen kan inte slås av i sändaren.
MainWindow
-
-
-
-
+
+
+
+
File loaded
Filen har laddats
-
+
-
-
+
+
Save As
Spara Som
-
-
+
+
No updates available at this time.
Inga updateringar finns tillgängliga.
-
-
-
-
+
+
+
+
Unable to check for updates.
Det gick inte att söka efter uppdateringar.
-
+
Executable (*.exe)
Program (*.exe)
@@ -2106,110 +2106,96 @@ FAI-funktionen kan inte slås av i sändaren.
Vill du starta installationsprogrammet?
-
+
Do you want to write the firmware to the transmitter now ?
Vill du skriva firmware till sändaren nu?
-
+
A new version of %1 firmware is available (current %2 - newer %3).
Do you want to download it now ?
En ny version finns tillgänglig av %1 fimware (Din version %2 - Ny version %3).
Vill du ladda ned den nya versionen nu ?
-
Open
- Öppna
+ Öppna
-
+
File saved
Filen sparades
-
+
Copyright
Copyright
-
New
- Ny
+ Ny
-
Open...
- Öppna...
+ Öppna...
-
Save...
- Spara...
+ Spara...
-
Save As...
- Spara Som...
+ Spara Som...
-
+
Exit
Avsluta
-
Cut
- Klipp Ut
+ Klipp Ut
-
Cut current selection to the clipboard
- Klipp ut markeringens innehåll till klippbordet
+ Klipp ut markeringens innehåll till klippbordet
-
Copy...
- Kopiera...
+ Kopiera...
-
Copy current selection to the clipboard
- Kopiera markeringens innehåll till klippbordet
+ Kopiera markeringens innehåll till klippbordet
-
Paste...
- Klistra In...
+ Klistra In...
-
Paste clipboard into current selection
- Klistra in klippbokens innehåll i det valda avsnittet
+ Klistra in klippbokens innehåll i det valda avsnittet
-
+
Classical
Klassiskt
-
The classical Companion icon theme
- Det klassiska Companion-temat
+ Det klassiska Companion-temat
-
The new Companion 2 icon theme
- Det nya Companion2-temat
+ Det nya Companion2-temat
-
Companion2
- Companion2
+ Companion2
-
+
Monochrome
Monokromt
@@ -2234,137 +2220,119 @@ Vill du ladda ned den nya versionen nu ?
Använd systemspråket i menyerna
-
About
- Om
+ Om
-
Print
- Skriv ut
+ Skriv ut
-
+
Print current model
Skriv ut modell
-
Simulate
- Simulera
+ Simulera
-
Simulate selected model
- Simulera modell
+ Simulera modell
loadBackup...
Ladda backup från fil...
-
Logs
- Loggar
+ Loggar
-
Setting...
- Inställningar...
+ Inställningar...
-
Downloads...
- Nedladdningar...
+ Nedladdningar...
-
Check for updates...
- Sök efter uppdateringar...
+ Sök efter uppdateringar...
-
+
Edit Tx Splash Image...
Startbildsredigerare...
-
edit the splash screen of your TX
- Editera startbilder för din sändare
+ Editera startbilder för din sändare
-
List programmers
- Programmerare
+ Programmerare
-
+
Fuses...
Säkringar...
-
Configure connection software...
- Inställningar för kommunikation...
+ Inställningar för kommunikation...
-
+
Save Tx Models and Settings to file
Spara sändarens Modeller och Inställningar till fil
-
Contributors
- Bidragande
+ Bidragande
-
+
A tribute to those who have contributed to OpenTX and Companion
Ett tack till alla de som bidragit till OpenTX och Companion
-
+
Settings
Inställningar
-
+
Read/Write
Läs/Skriv
-
-
&%1 %2
- &%1 %2
+ &%1 %2
&New
&Ny
-
Create a new file
- Skapa ny fil
+ Skapa ny fil
&Open...
&Öppna...
-
Open an existing file
- Öppna en existerande fil
+ Öppna en existerande fil
&Save
&Spara
-
-
Save the document to disk
- Spara dokumentet till fil
+ Spara dokumentet till fil
Save &As...
@@ -2379,12 +2347,12 @@ Vill du ladda ned den nya versionen nu ?
&Sök efter uppdateringar...
-
+
Display previous message again at startup ?
Skall föregående varning visas igen vid uppstart ?
-
+
Firmware does not longer fit in the Tx, due to selected firmware options
Firmware får inte rum i minnet på grund av att för många funktioner aktiverats
@@ -2394,12 +2362,12 @@ Vill du ladda ned den nya versionen nu ?
Tillfälligt fel i byggservern. Försök igen senare
-
+
Firmware does not fit in the Tx, due to selected firmware options
Firmware får inte rum i minnet på grund av att för många funktioner aktiverats
-
+
Firmware %1 does not seem to have ever been downloaded.
Version %2 is available.
Do you want to download it now ?
@@ -2408,12 +2376,12 @@ Version %2 finns tillgänglig.
Vill du ladda ned den nu ?
-
+
Write Models and settings from %1 to the Tx?
Skriv Modeller och Inställningar från %1 till sändaren?
-
+
Conversion failed
Konverteringen misslyckades
@@ -2428,7 +2396,7 @@ Vill du ladda ned den nu ?
Säkerhetskopieringen misslyckades
-
+
OpenTX Companion - FW: %1 - Profile: %2
OpenTX Companion - FW: %1 - Profil: %2
@@ -2437,7 +2405,7 @@ Vill du ladda ned den nu ?
&Inställningar...
-
+
Edit Settings
Redigera Inställningar
@@ -2459,7 +2427,7 @@ Vill du ladda ned den nu ?
&Avsluta
-
+
Exit the application
Avsluta programmet
@@ -2496,16 +2464,15 @@ Vill du ladda ned den nu ?
Ctrl+Alt+R
-
Configure software for reading from and writing to the transmitter
- Inställningar för mjukvaran som kommunicerar med sändaren
+ Inställningar för mjukvaran som kommunicerar med sändaren
&List programmers
&Programmerare
-
+
List available programmers
Lista upp tillgängliga prorammerare
@@ -2552,10 +2519,8 @@ Vill du ladda ned den nu ?
Visa information om programmet
-
-
Recent Files
- Senaste Filer
+ Senaste Filer
&File
@@ -2570,22 +2535,22 @@ Vill du ladda ned den nu ?
Companion - Editor för Modeller och Inställningar - %1
-
+
Checking for updates
Letar efter uppdateringar
-
+
A new release of Companion is available please check the OpenTX website!
En ny version av Companion finns tillgänglig. Var god kontrollera OpenTX webbsida!
-
+
Ignore this version (r%1)?
Ladda inte ned versionen (r%1)?
-
+
OpenTX Home Page: <a href='%1'>%1</a>
OpenTX Hemsida: <a href='%1'>%1</a>
@@ -2621,16 +2586,15 @@ Vill du ladda ned den nu ?
Redigera programmets inställningar
-
Show Companion changelog
- Visa en lista med förändringar av Companion
+ Visa en lista med förändringar av Companion
&Write Models and Settings To Tx
&Skriv Modeller och Inställningar till sändaren
-
+
Write Models and Settings to transmitter
Skriv Modeller och Inställningar till sändaren
@@ -2648,8 +2612,84 @@ Vill du ladda ned den nu ?
Write Firmware
Skriv Firmware
+
+
+ New Models+Settings
+ Ny Modeller+Inställningar
+
+ Create a new Models and Settings file
+ Skapa en ny Modeller och Inställningar-fil
+
+
+
+ Open Models+Settings...
+ Öppna MOdeller+Inställningar...
+
+
+
+ Save Models+Settings...
+ Spara Modeller+Inställningar...
+
+
+
+
+ Save Models and Settings file
+ Spara Modeller och Inställningar-fil
+
+
+
+ Save Models+Settings as...
+ Spara Modeller+Inställningar som...
+
+
+
+ Cut Model
+ Klipp ut Modell
+
+
+
+ Cut current model to the clipboard
+ Klipp ut vald modell till klippbordet
+
+
+
+ Copy Model...
+ Kopera Modell...
+
+
+
+ Copy current model to the clipboard
+ Kopiera vald modell till klippbordet
+
+
+
+ Paste Model...
+ Klistra in Modell...
+
+
+
+ Paste model from clipboard
+ Klistra in modell från klippbordet
+
+
+
+ The classic companion9x icon theme
+ Det klassiska companion9x-temat
+
+
+
+ Yerico
+ Yerico
+
+
+
+ Yellow round honey sweet icon theme
+ Yellow round honey sweet icon theme
+
+
+
Write firmware to transmitter
Skriv firmware till sändaren
@@ -2697,24 +2737,40 @@ Vill du ladda ned den nu ?
-
+
File
Arkiv
-
+
Edit
Redigera
-
-
+
+
Help
Hjälp
-
+
+
+ Radio Settings Profile
+ Radioprofil
+
+
+
+ Show recent Models+Settings documents
+ Visa senaste Modeller+Inställningar-dokument
+
+
+
+ Show a selection list of radio settings profiles
+ Visa en lista med radioprofiler
+
+
+
Ready
Redo
@@ -2723,17 +2779,17 @@ Vill du ladda ned den nu ?
&Bidragsgivare...
-
+
Display previous warning again at startup ?
SKall föregående varning visas igen vid uppstart ?
-
+
-
+
-
-
+
+
@@ -2745,21 +2801,21 @@ Vill du ladda ned den nu ?
Fel
-
+
Cannot write file %1:
%2.
Filen %1 kunde inte skrivas:
%2.
-
+
New release available
En ny version finns tillgänglig
-
-
-
+
+
+
Error opening file %1:
@@ -2768,68 +2824,72 @@ Vill du ladda ned den nu ?
%2.
-
+
Compilation server termporary failure, try later
Tillfälligt fel i byggservern. Försök igen senare
-
-
+
+
Compilation server too busy, try later
Byggservern är upptagen. Försök igen senare
-
-
+
+
Unknown server failure, try later
Okänt server-fel. Försök igen senare
-
Compare...
- Jämför...
+ Jämför...
-
+
Compare models
Jämför modeller
-
-
+
+
Backup is impossible
Säkerhetskopiering kan inte utföras
-
-
+
+
The backup dir set in preferences does not exist
Foldern för säkerhetskopior existerar inte
-
+
Warning
Varning
-
Firmware Profiles
- Profiler för Firmware
+ Profiler för Firmware
&Read/Write
&Läs/Skriv
-
+
Write
Skriv
-
+
+ %2
+ %2
+
+
+
+
Unable to find file %1!
Kan inte hitta filen %1 !
@@ -2845,7 +2905,7 @@ Vill du ladda ned den nu ?
ladda&Backup...
-
+
Load backup from file
Ladda backup från fil
@@ -2858,46 +2918,45 @@ Vill du ladda ned den nu ?
Ctrl+G
-
Open log file
- Öppna loggfil
+ Öppna loggfil
-
-
+
+
-
+
Taranis radio not found
Hittade inte någon Taranis-sändare
-
-
+
+
Impossible to identify the radio on your system, please verify the eeprom disk is connected.
Det går inte att identifiera sändaren. Verifiera att EEPOROM-skivan är ansluteten.
-
+
Yes
Ja
-
+
A new version of Companion is available (version %1)<br>Would you like to download it?
An ny version av Companion finns tillgänglig (version %1)<br>Vill du ladda ned den?
-
-
+
+
Compilation server requires registration, please check OpenTX web site
Byggservern kräver registrering. Var god kontrollera OpenTX webbsida
-
+
No
Nej
@@ -2915,34 +2974,40 @@ Vill du ladda ned den nu ?
Vill du ladda ned firmware %1 nu ?
-
+
Release notes contain very important informations. Do you want to see them now ?
Release notes innehåller väldigt viktig information. Vill du läsa dem nu?
-
+
The selected language will be used the next time you start Companion.
Språket som valts kommer att användas nästa gång Companion startas.
-
-
+
+
OK
OK
-
+
The new theme will be loaded the next time you start Companion.
De nya ikonerna kommer att användas nästa gång Companion startas.
-
+
The icon size will be used the next time you start Companion.
Ikonernas storlek kommer att justeras nästa gång Companion startas.
-
+
+
+ Open Models and Settings file
+ Öppna Modeller och Inställningar-fil
+
+
+
Firmware updates
Firmware-uppdatering
@@ -2954,14 +3019,14 @@ Vill du ladda ned den nu ?
-
+
Read Models and Settings From Tx
Läs Modeller och Inställningar från sändaren
-
+
The file %1
has not been recognized as a valid Models and Settings file
Write anyway ?
@@ -2974,13 +3039,13 @@ Starta skrivningen i alla fall ?
-
+
Backup Models and Settings From Tx
Säkerhetskopiera Modeller och Inställningar från sändaren
-
+
Cannot check Models and Settings compatibility! Continue anyway?
Det går inte att verifiera att Modeller och Inställningar är kompatibla. Fortsätt i alla fall?
@@ -2996,12 +3061,12 @@ Starta skrivningen i alla fall ?
-
+
Write Models and Settings To Tx
Skriv Modeller och Inställningar till sändaren
-
+
Write Firmware To Tx
Skriv firmware till sändaren
@@ -3037,7 +3102,7 @@ Starta skrivningen i alla fall ?
Det gick inte att säkerhetskopiera sändarens Modeller och Inställningar. Skrikvningen av firmware avbröts
-
+
Save transmitter Models and Settings to File
Spara sändarens Modeller och Inställningar till en fil
@@ -3047,12 +3112,12 @@ Starta skrivningen i alla fall ?
Det går inte att identifiera sändaren.
-
+
Read Tx Firmware to File
Läs Sändarens Firmware till Fil
-
+
About Companion
Om Companion
@@ -3065,28 +3130,24 @@ Starta skrivningen i alla fall ?
Ladda ned firmware och röstfiler. Definera profildata.
-
Check for new version of Companion
- Sök efter ny version av Companion
+ Sök efter ny version av Companion
Show Companion contributors list
Visa vilka som bidragit till Companion
-
ChangeLog...
- Förändringar...
+ Förändringar...
-
Firmware ChangeLog...
- Firmware-förändringar...
+ Firmware-förändringar...
-
Show firmware changelog
- Visa firmware-förändringar
+ Visa firmware-förändringar
Configure transmitter start screen...
@@ -3097,12 +3158,11 @@ Starta skrivningen i alla fall ?
Inställningar för &kommunikation...
-
New Profile
- Ny Profil
+ Ny Profil
-
+
Create a new Radio Setting Profile
Lägg till en ny profil med radio-inställningar
@@ -3115,7 +3175,7 @@ Starta skrivningen i alla fall ?
Det flerfärgade klassiska Companion-temat
-
+
A monochrome black icon theme
Ett monokromt svart tema
@@ -3207,6 +3267,16 @@ Starta skrivningen i alla fall ?
Use English in menus
Använd Engelska i menyerna
+
+
+ Finnish
+ Finska
+
+
+
+ Use Finnish in menus
+ Använd Finska i menyerna
+
French
@@ -3278,12 +3348,102 @@ Starta skrivningen i alla fall ?
Använd Ryska i menyerna
-
+
+ About...
+ Om...
+
+
+
+ Print...
+ Skriv Ut...
+
+
+
+ Simulate...
+ Simulera...
+
+
+
+ Simulate current model
+ Simulera vald modell
+
+
+
Load Backup...
Ladda backup från fil...
-
+
+ View Log File...
+ Visa loggfil...
+
+
+
+ Open and view log file
+ Öppna och visa loggfil
+
+
+
+ Settings...
+ Inställningar...
+
+
+
+ Download...
+ Nedladdning...
+
+
+
+ Check for Updates...
+ Sök efter uppdateringar...
+
+
+
+ Check OpenTX and Companion updates
+ Sök efter uppdateringar av Companion och OpenTX
+
+
+
+ Companion Changes...
+ Förändringar i Companion...
+
+
+
+ Show Companion change log
+ Visa en lista med förändringar av Companion
+
+
+
+ Firmware Changes...
+ OpenTX-förändringar...
+
+
+
+ Show firmware change log
+ Visa en lista med förändringar av OpenTX
+
+
+
+ Compare Models...
+ Jämför modeller...
+
+
+
+ Edit the splash image of your TX
+ Editera startbilden' för din sändare
+
+
+
+ List programmers...
+ Visa programmerare...
+
+
+
+ Add Radio Profile
+ Lägg till Radioprofil
+
+
+
Manuals and other Documents
Manualer och andra Dokument
@@ -3293,7 +3453,28 @@ Starta skrivningen i alla fall ?
Öppna OpenTX dokumentsida i en webbläsare
-
+
+ Configure Communications...
+ Kommunikations-inställningar...
+
+
+
+ Configure software for communicating with the transmitter
+ Ställ in mjukvara för kommunikation med sändaren
+
+
+
+ Contributors...
+ Bidragande...
+
+
+
+
+ Recent Models+Settings
+ Senaste Modell+Inställnings-filer
+
+
+
Set Icon Theme
Ställ in Ikontema
@@ -3307,12 +3488,11 @@ Starta skrivningen i alla fall ?
&Inställningar
-
Radio Settings Profiles
- Profiler för Radioinställningar
+ Profiler för Radioinställningar
-
+
Invalid Models and Settings File %1
Filen innehåller inte Modeller och Inställningar: %1
@@ -3326,7 +3506,7 @@ Starta skrivningen i alla fall ?
MdiChild
-
+
@@ -3334,14 +3514,15 @@ Starta skrivningen i alla fall ?
-
+
-
-
+
+
+
@@ -3349,36 +3530,36 @@ Starta skrivningen i alla fall ?
Fel
-
+
Editing model %1:
Redigera modell %1:
-
+
Unable to find file %1!
Kan inte hitta filen %1 !
-
-
+
+
Error reading file %1:
%2.
Fel vid inläsning från filen %1:
%2.
-
+
-
+
Error opening file %1:
%2.
Fel vid öppning av filen %1:
%2.
-
+
@@ -3404,12 +3585,12 @@ Starta skrivningen i alla fall ?
%2.
-
+
free bytes
bytes lediga
-
+
Invalid EEPROM File %1
Ogiltig modelldatafil %1
@@ -3420,48 +3601,48 @@ Starta skrivningen i alla fall ?
Ogiltig binär modelldatafil %1
-
+
%1 has been modified.
Do you want to save your changes?
%1 har förändrats.
Vill du spara förändringarna?
-
+
Cannot write temporary file!
En temporär fil kunde inte skrivas!
-
+
Backup is impossible
Säkerhetskopierin kan ej utföras
-
+
-
+
Companion
Companion
-
+
The backup dir set in preferences does not exist
Den katalog som konfigurerats för säkerhetskopiering existerar inte
-
-
-
+
+
+
Backup EEPROM From Tx
Säkerhetskopiera modelldata från sändaren
-
+
Cannot check eeprom compatibility! Continue anyway?
Det går inte att veriifiera att modelldata är kompatibla. Fortsätt i alla fall?
-
+
Warning
Varning
@@ -3477,9 +3658,13 @@ Vill du spara förändringarna?
Firmware i flashminnet är föråldrat. Var god uppgradera!
-
+
+ Open backup Models and Settings file
+ Öppna Modeller och Inställningar-fil
+
+
Open
- Öppna
+ Öppna
@@ -3487,16 +3672,16 @@ Vill du spara förändringarna?
Den binära backupfilen är felaktig %1
-
-
-
+
+
+
Taranis radio not found
Taranis-sändaren hittades ej
-
-
-
+
+
+
Impossible to identify the radio on your system, please verify the eeprom disk is connected.
Det går inte att identifiera sändaren. Verifiera att EEPOROM-skivan är ansluteten.
@@ -3506,7 +3691,7 @@ Vill du spara förändringarna?
Skriv EEPROM till sändaren
-
+
Do you want to use model wizard?
Vill du använda modell-guiden?
@@ -4295,7 +4480,7 @@ p, li { white-space: pre-wrap; }
ModulePanel
-
+
Trainer Output
TrainerUttag
@@ -4313,7 +4498,7 @@ p, li { white-space: pre-wrap; }
QObject
-
+
P1
@@ -4359,17 +4544,15 @@ p, li { white-space: pre-wrap; }
T2
-
th9x
- th9x
+ th9x
-
er9x
- er9x
+ er9x
-
+
Trainer
Trainer
@@ -4457,10 +4640,8 @@ p, li { white-space: pre-wrap; }
Timer2
-
-
-
-
+
+
Warning
Varning
@@ -4470,19 +4651,16 @@ p, li { white-space: pre-wrap; }
Modelldata sparades, men med dessa varningar:
-
ersky9x
- ersky9x
+ ersky9x
-
-
-
+
Simulator for this firmware is not yet available
Det finns ännu ingen simulator för denna typ av firmware
-
+
REa
@@ -4738,7 +4916,7 @@ p, li { white-space: pre-wrap; }
PPM%1
-
+
THR
GAS
@@ -4972,7 +5150,7 @@ p, li { white-space: pre-wrap; }
Det går inte att använda Expo på en specialkurva i open9x
-
+
Support for frsky telemetry mod
Stöd för FrSky telemeri
@@ -5088,12 +5266,12 @@ p, li { white-space: pre-wrap; }
Stöd för FrSky PXX-protokoll
-
+
OpenTX for FrSky Taranis Rev4a
OpenTX för FrSky Taranis Rev4a
-
+
@@ -5232,21 +5410,21 @@ p, li { white-space: pre-wrap; }
X%1
-
+
+
-
GV%1
GV%1
-
-
+
+
---
----
-
+
Rud Trim
Rod.Trim
@@ -5316,8 +5494,8 @@ p, li { white-space: pre-wrap; }
Eget värde
-
-
+
+
-GV%1
-GV%1
@@ -5334,18 +5512,18 @@ p, li { white-space: pre-wrap; }
-
+
PPM values displayed in us
PPM-värden visade i ms
-
+
Bluetooth interface
Blåtandsinterface
-
-
+
+
S1
S1
@@ -5697,7 +5875,7 @@ p, li { white-space: pre-wrap; }
Ökning
-
+
Yellow
Gul
@@ -5933,7 +6111,7 @@ p, li { white-space: pre-wrap; }
!Kurva(%1)
-
+
FM%1
FM%1
@@ -5983,6 +6161,11 @@ p, li { white-space: pre-wrap; }
Portuguese
Portugisiska
+
+
+ Finnish
+ Finska
+
!Flight mode %1
@@ -5999,7 +6182,7 @@ p, li { white-space: pre-wrap; }
Flygläge %1 värde
-
+
openTx only accepts %1 points in all curves
openTX accepterar bar %1 punkter i alla kurvor
@@ -6023,14 +6206,14 @@ p, li { white-space: pre-wrap; }
OpenTX accepterar inte detta antal kanaler
-
+
Your radio probably uses a wrong firmware,
eeprom size is 4096 but only the first 2048 are used
Din sändare har antagligen laddats med felaktig programvara.
eeprom-storleken är 4096, men enbart den första hälften används
-
+
Support for MAVLINK devices
Stöd för MAVLINK-enheter
@@ -6063,12 +6246,12 @@ eeprom-storleken är 4096, men enbart den första hälften används
-
+
Use alternative SQT5 font
Använd SQT5-typsnittet
-
+
@@ -6121,24 +6304,24 @@ eeprom-storleken är 4096, men enbart den första hälften används
-
+
Disable HELI menu and cyclic mix support
Slå av HELI-menyn och stöd för cykliska mixar
-
-
+
+
Disable TEMPLATES menu
Slå av menyn för Mallar
-
-
+
+
Disable Global variables
Slå av Globala Variabler
-
+
Possibility to enable FAI MODE at field
Möjlighet att slå på FAI-LÄGE före pflygning
@@ -6181,7 +6364,7 @@ Gruppen bakom OpenTX/Companion.
Använd trim från flygläge %1 + Eget trim som offset
-
+
FW: %1
FW: %1
@@ -6342,6 +6525,296 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
Automatiska
+
+ SimulatorDialog
+
+
+
+ Warning
+ Varning
+
+
+
+ Joystick enabled but not configured correctly
+ Joysticken påslagen, men ej rätt inställd
+
+
+
+ Cannot open joystick, joystick disabled
+ Joysticken kan inte hittas. Joysticken stängs av
+
+
+
+ Simulating Tx (%1)
+ Simulerar sändare (%1)
+
+
+
+ Firmware %1 error: %2
+ Firmware %1 fel: %2
+
+
+
+ SimulatorDialog9X
+
+
+ Companion Simulator
+ Companion Simulator
+
+
+
+
+
+
+ Right Double Click to Reset
+ Höger dubbelklick nollställer
+
+
+
+ THR
+ GAS
+
+
+
+ RUD
+ ROD
+
+
+
+ ELE
+ HÖJ
+
+
+
+ AIL
+ SKE
+
+
+
+
+ Hold X
+ Håll X
+
+
+
+
+ Fix X
+ Fixera X
+
+
+
+
+ Fix Y
+ Fixera Y
+
+
+
+
+ Hold Y
+ Håll Y
+
+
+
+
+
+
+ TextLabel
+ Textettikett
+
+
+
+ TRN
+ TRN
+
+
+
+ GEA
+ LAN
+
+
+
+ ID0
+ ID0
+
+
+
+ ID1
+ ID1
+
+
+
+ ID2
+ ID2
+
+
+
+ BEEP
+ Summer
+
+
+
+ P1
+ P1
+
+
+
+
+
+ 0 %
+ 0 %
+
+
+
+ P2
+ P2
+
+
+
+ P3
+ P3
+
+
+
+ 9x Simulator
+ Simulator för 9x
+
+
+
+ Outputs
+ Utgångar
+
+
+
+ SimulatorDialogTaranis
+
+
+ Companion Simulator
+ Companion Simulator
+
+
+
+
+ Hold Y
+ Håll Y
+
+
+
+
+ Fix Y
+ Fixera Y
+
+
+
+
+ Fix X
+ Fixera X
+
+
+
+
+ Hold X
+ Håll X
+
+
+
+
+ SD
+ SD
+
+
+
+
+ SC
+ SC
+
+
+
+
+
+
+ Right Double Click to Reset
+ Höger dubbelklick nollställer
+
+
+
+
+ S2
+ S2
+
+
+
+
+ SG
+ SG
+
+
+
+
+ RS
+ RS
+
+
+
+
+ SH
+ SH
+
+
+
+
+
+
+ TextLabel
+ Textettikett
+
+
+
+
+ S1
+ S1
+
+
+
+
+ SB
+ SB
+
+
+
+
+ SA
+ SA
+
+
+
+
+ SE
+ SE
+
+
+
+
+
+ SF
+ SF
+
+
+
+
+ LS
+ LS
+
+
+
+ Taranis Simulator
+ Taranissimulator
+
+
+
+ Outputs
+ Utgångar
+
+
Telemetry
@@ -6685,7 +7158,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
mAmpere (mA)
-
+
Range
Räckvidd
@@ -6741,7 +7214,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
Telemetriskärm %1
-
+
Winged Shadow How High
Winged Shadow How High
@@ -6809,7 +7282,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
Programmets Inställningar
-
+
Simulator capture folder
Lagra simulatorbilder i
@@ -6822,27 +7295,37 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
-
+
Open Folder
Öppna katalog
-
+
User Splash Screens
Egna Startbilder
-
+
Edit Settings
Redigera Inställningar
-
+
Application Settings
Programmet
-
+
+ Only show user splash images
+ Enbart användarens bilder
+
+
+
+ Show user and companion splash images
+ Både användarens bilder och Companion-bilder
+
+
+
Simulator Settings
Simulatorn
@@ -6872,12 +7355,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
Gul
-
Radio Settings
- Radion
+ Radion
-
+
Mode selection:
Mode 1:
@@ -7067,17 +7549,21 @@ Detta används av mallen för att koppla kanal till output-nummer.
S G H R
-
+
Default Stick Mode
Spaktilldelning
-
- Settings Profile
- Profil
+
+ Firmware File
+ Firmware
-
+ Settings Profile
+ Profil
+
+
+
Splash Screen
Startbild
@@ -7097,42 +7583,54 @@ Detta används av mallen för att koppla kanal till output-nummer.
Sökväg till SD-struktur
-
+
+ Firmware Variant
+ Firmware-typ
+
+
+
Select Image
Välj Bild
-
+
Offer to write FW to Tx after download
Skriv FW till Tx efter nedladdning
-
+
+ Radio Settings Profile
+ Radioprofile
+
+
+
+ Profile Name
+ Profilnamn
+
+
+
Remove Profile
Ta bort Profil
-
+
Clear Image
Ta bort Bild
-
Firmware
- Firmware
+ Firmware
-
Include companion splashes
- Användarens bilder och Companion-bilder
+ Användarens bilder och Companion-bilder
-
Only user defined splashes
- Enbart användarens bilder
+ Enbart användarens bilder
-
+
Splash Screen Library
Bibliotek för startbilder
@@ -7207,38 +7705,38 @@ Detta används av mallen för att koppla kanal till output-nummer.
Säkerhetskopiera innan firmware-skrivning
-
+
Select your snapshot folder
Välj katalog för snapshots av Tx-simulatorn
-
-
+
+
No joysticks found
Ingen joystick hittades
-
+
Select your library folder
Välj bibliotekskatalog
-
+
Select your Models and Settings backup folder
Välj folder för automatisk säkerhetskopiering
-
+
Select Google Earth executable
Sökväg till Google Earth
-
+
Select the folder replicating your SD structure
Välj katalog med en kopia av din SD-struktur
-
+
Not possible to remove profile
Det går inte att ta bort profilen
@@ -7256,7 +7754,7 @@ Detta används av mallen för att koppla kanal till output-nummer.
Det går inte att ladda %1.
-
+
Open Image to load
Öppna bild för laddning
@@ -7531,7 +8029,7 @@ OBS. Fyll enbart i detta fällt om du är säker på vad du gör. Ingen kontroll
Sökväg till AVRDUDE
-
+
Select Location
@@ -7617,7 +8115,7 @@ m2560 för v4.1-kort
Inställningar för Programmerare
-
+
DFU-UTIL Configuration
Inställningar för DFU-UTIL
@@ -7632,7 +8130,7 @@ m2560 för v4.1-kort
Inställningar för AVRDUDE
-
+
Companion
Companion
@@ -7646,12 +8144,12 @@ m2560 för v4.1-kort
Välj Sändarens Startbild
-
+
Date & Time
Dag & Tid
-
+
SVN
Subversion
@@ -7661,102 +8159,95 @@ m2560 för v4.1-kort
Tillåter Companon att skriva till äldre firmware-versioner
-
Load Image
- Ladda Bild
+ Ladda Bild
-
Open Splash Library
- Öppna bildbibliotek
+ Öppna bildbibliotek
-
...
- ...
+ ...
-
Substitute image in firmware
- Byt ut bilden i firmware-filen
+ Byt ut bilden i firmware-filen
-
-
+
Write to TX
Skriv till sändaren
-
Use image in settings
- Använd bilden från inställningarna
+ Använd bilden från inställningarna
-
Invert Color
- Invertera Bilden
+ Invertera Bilden
-
+
Check Firmware compatibility
Kontrollera att firmware-filen är kompatibel
-
+
Cancel
Avbryt
-
+
Write firmware to TX
Skriv firmware till sändaren
-
Open
- Öppna
+ Öppna
-
-
+
+
-
-
+
+
Warning
Varning
-
Burn anyway !
- Starta bränningen!
+ Starta bränningen!
-
Open Image to load
- Öppna bilden som skall laddas
+ Öppna bilden som skall laddas
-
+
Images (%1)
Bilder (%1)
-
+
-
-
-
+
+
+
+
+
+
Error
Fel
-
+
Write Models and Settings to TX
Skriv Modeller och Inställningar till sändaren
@@ -7766,25 +8257,23 @@ m2560 för v4.1-kort
Skriv Modeller och Inställningar från %1 till sändaren
-
+
Choose file to load Models and Settings from
Välj fil att ladda Modeller och Inställningar från
-
+
Invalid binary Models and Settings File %1, Proceed anyway ?
Ogiltig binärfil med Modeller och Inställningar: %1. Fortsätt i alla fall ?
-
-
Cannot load %1.
- Det går inte att ladda %1.
+ Det går inte att ladda %1.
-
+
Cannot save customized firmware
Det gick inte att spara den modifierade firmware-filen
@@ -7794,12 +8283,12 @@ m2560 för v4.1-kort
Bildfilen hittades inte
-
+
No firmware selected
Ingen firmware har valts
-
+
Wrong radio calibration data in profile, Settings not patched
Felaktig information i profilen, sändarens-kalibrering kunde inte läsas in
@@ -7809,12 +8298,11 @@ m2560 för v4.1-kort
Felaktig information i profilen, sändarens inställningar kunde inte läsas in
-
%1 is not a known firmware
- %1 är inte en fimware-fil
+ %1 är inte en fimware-fil
-
+
<html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html>
<html><head/><body><p>Uppdatera kalibrerings-parametrarna med data från nuvarande profil</p></body></html>
@@ -7834,8 +8322,8 @@ m2560 för v4.1-kort
Uppdatera med HW-inställningar från profilen
-
-
+
+
Browse for file
Välj fil
@@ -7850,12 +8338,42 @@ m2560 för v4.1-kort
Nuvarande Profil
-
+
+ Use firmware start screen
+ Använd firmware-startskärmen
+
+
+
+ Use another start screen
+ Använd en annan startskärm
+
+
+
+ Use profile start screen
+ Använd profilens startskärm
+
+
+
+ Use library start screen
+ Använd biblioteks-startskärm
+
+
+
Current profile
Nuvarande profil
-
+
+ Open Firmware File
+ Öppna firmware-fil
+
+
+
+ %1 may not be a valid firmware file
+ %1 är kanske inte en giltig firmware-fil
+
+
+
Unable to find file %1!
Kan inte hitta filen %1 !
@@ -7876,7 +8394,37 @@ m2560 för v4.1-kort
%2.
-
+
+ The firmware file is not valid.
+ Firmware-filen är inte giltig.
+
+
+
+ There is no start screen image in the firmware file.
+ Firmware-filen innehåller inte någon startbild.
+
+
+
+ The profile image %1 does not contain an image.
+ Profil-bilden %1 innehåller inte någon startbild.
+
+
+
+ Open image file to use as Tx start screen
+ Öppna bildfil för användning som radions startsskärm
+
+
+
+ Image could not be loaded from %1
+ Det gick inte att ladda en bild från %1
+
+
+
+ The library image could not be loaded
+ Bild-biblioteket kunde inte öppnas
+
+
+
Cannot write file %1:
%2.
@@ -7891,7 +8439,7 @@ m2560 för v4.1-kort
%2.
-
+
Variant
Variant
@@ -7899,12 +8447,16 @@ m2560 för v4.1-kort
compareDialog
-
Dialog
- Dialog
+ Dialog
-
+
+ Compare Models
+ Jämför Modeller
+
+
+
Drag first model here
Dra hit första modellen
@@ -7929,7 +8481,7 @@ m2560 för v4.1-kort
Skriv till fil
-
+
General Model Settings
Generella modell-inställningar
@@ -8418,7 +8970,7 @@ m2560 för v4.1-kort
Dialog
-
+
People who have contributed to this project
De som har bidragit till detta projekt
@@ -8428,12 +8980,12 @@ m2560 för v4.1-kort
Programmerare
-
+
Companion Release Notes
Companion Release Notes
-
+
Thank you all !!!
Tack till er alla !!!
@@ -8448,7 +9000,7 @@ m2560 för v4.1-kort
Bidragande
-
+
OpenTX Release Notes
OpenTX Release Notes
@@ -8461,58 +9013,66 @@ m2560 för v4.1-kort
Startbildsredigerare
-
-
+
+
Invert
Invertera
-
-
+
+
Load FW
Ladda FW
-
-
+
+
Load Pict
Ladda Bild
-
-
+
+
Load Profile
Ladda Profil
-
-
+
+
Save
Spara
-
-
+
+
Open Splash Library
Öppna bildbibliotek
-
Open
- Öppna
+ Öppna
-
+
-
+
Error
Fel
-
Cannot load embedded FW image from %1.
- Det gick inte att ladda bild från FW-filen %1.
+ Det gick inte att ladda bild från FW-filen %1.
+
+
+
+ Open Firmware File
+ Öppna firmware-fil
+
+
+
+ Can not load embedded image from firmware file %1.
+ Det gick inte att ladda bild från firmware-filen %1.
@@ -8525,7 +9085,7 @@ m2560 för v4.1-kort
Det gick inte att ladda profilbilden %1.
-
+
Cannot load the library image %1.
Det gick inte att ladda biblioteks-bilden %1.
@@ -8564,7 +9124,7 @@ m2560 för v4.1-kort
Det finns ingen bild att byta i firmware-filen
-
+
Open Image to load
Öppna bild för laddning
@@ -8586,9 +9146,10 @@ m2560 för v4.1-kort
Det gick inte att spara bilden i filen %1
-
-
-
+
+
+
+
...
...
@@ -8601,7 +9162,7 @@ m2560 för v4.1-kort
Nedladdning:
-
+
Unable to save the file %1: %2.
Kan ej spara filen %1: %2.
@@ -8624,7 +9185,7 @@ m2560 för v4.1-kort
Säkringar
-
+
Read Fuses
Läs in säkringarna
@@ -8760,7 +9321,12 @@ p, li { white-space: pre-wrap; }
fwPreferencesDialog
-
+
+ Downloads
+ Nedladdningar
+
+
+
@@ -8907,16 +9473,15 @@ Används av mallarna för att koppla ihop kanaler med numrerade utgångar.Skriv FW till Tx efter nedladdning
-
Downloads and Profiles
- Nedladdning och Profiler
+ Nedladdning och Profiler
Save Profile
Spara Profil
-
+
Menu Language
Menyspråk
@@ -8967,7 +9532,7 @@ Används av mallarna för att koppla ihop kanaler med numrerade utgångar.Sök efter uppdateringar
-
+
Last downloaded release: %1
Senast nedladdade release: %1
@@ -9009,7 +9574,7 @@ Används av mallarna för att koppla ihop kanaler med numrerade utgångar.
joystickDialog
-
+
Configure Joystick
Ställ in Joystick
@@ -9158,7 +9723,7 @@ Används av mallarna för att koppla ihop kanaler med numrerade utgångar.OK
-
+
Move sticks and pots in every direction making full movement
Press next when finished
Rör spakar och pottentiometrar. Ge fulla utslag.
@@ -9209,7 +9774,7 @@ Tryck på Avbryt för att avburyta kalibreringen
Dubblerad koppling av spak
-
+
@@ -9241,7 +9806,7 @@ Tryck på Avbryt för att avburyta kalibreringen
Companion Logg-läsare
-
+
Filename
Filnamn
@@ -9251,7 +9816,7 @@ Tryck på Avbryt för att avburyta kalibreringen
Öppna Loggfil
-
+
Zoom
Zoom
@@ -9266,7 +9831,7 @@ Tryck på Avbryt för att avburyta kalibreringen
Y
-
+
Telemetry logs
Telemetriloggar
@@ -9276,7 +9841,7 @@ Tryck på Avbryt för att avburyta kalibreringen
Tid
-
+
Error
Fel
@@ -9288,7 +9853,7 @@ Tryck på Avbryt för att avburyta kalibreringen
%2.
-
+
Select your log file
Välj loggfil
@@ -9311,7 +9876,7 @@ Tryck på Avbryt för att avburyta kalibreringen
mdiChild
-
+
Simulate Tx
Simulera sändare
@@ -9324,7 +9889,7 @@ Tryck på Avbryt för att avburyta kalibreringen
Guide för modellkonfiguaration
-
+
Engine
Motor
@@ -9738,7 +10303,7 @@ Tryck på Avbryt för att avburyta kalibreringen
Dubbla Sidoroder (med 2 servon)
-
+
Apply configuration ?
Tillämpa inställningarna?
@@ -10155,62 +10720,48 @@ Mode 4:
Firmware-info
-
Last downloaded release: %1
- Senast nedladdade release: %1
+ Senast nedladdade release: %1
-
-
No joysticks found
- Ingen joystick hittades
+ Ingen joystick hittades
-
Select your Models and Settings backup folder
- Välj folder för automatisk säkerhetskopiering
+ Välj folder för automatisk säkerhetskopiering
-
Select Google Earth executable
- Sökväg till Google Earth
+ Sökväg till Google Earth
-
Open Image to load
- Öppna bild för laddning
+ Öppna bild för laddning
-
Images (%1)
- Bilder (%1)
+ Bilder (%1)
-
-
Error
- Fel
+ Fel
-
The selected firmware has never been downloaded by Companion.
- Firmware-filen har aldrig laddats ned av Companion.
+ Firmware-filen har aldrig laddats ned av Companion.
-
The selected firmware cannot be downloaded by Companion.
- Firmware-filen kan inte laddas ned av Companion.
+ Firmware-filen kan inte laddas ned av Companion.
-
-
Cannot load %1.
- %1 kunde inte laddas.
+ %1 kunde inte laddas.
-
Image stored in settings
- Bilden lagras i inställningar
+ Bilden lagras i inställningar
@@ -10261,12 +10812,11 @@ Mode 4:
säkerhetskopiera innan skrivning
-
Select your library folder
- Välj bibliotekskatalog
+ Välj bibliotekskatalog
-
+
Export Profile
Exportera Profil
@@ -10293,19 +10843,16 @@ May be different from firmware language
Får skilja från språket för mjukvaran
-
Export profile As
- Exportera profil som
+ Exportera profil som
-
Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ?
- Det finns redan en profil i position %1,. Den kommer att skrivas över.<br> Är du säker ?
+ Det finns redan en profil i position %1,. Den kommer att skrivas över.<br> Är du säker ?
-
Open Profile to import
- Öppna profil för import
+ Öppna profil för import
@@ -10331,14 +10878,12 @@ Får skilja från språket för mjukvaran
Använd bara clipboard
-
Select your snapshot folder
- Välj katalog för snapshots
+ Välj katalog för snapshots
-
Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ?
- Profilnamn saknas, profilplats %1 kommer att raderas.<br> Är du säker?
+ Profilnamn saknas, profilplats %1 kommer att raderas.<br> Är du säker?
@@ -10361,9 +10906,8 @@ Får skilja från språket för mjukvaran
Sökväg till SD-struktur
-
Select the folder replicating your SD structure
- Välj katalog som härmar din SD-struktur
+ Välj katalog som härmar din SD-struktur
@@ -10374,7 +10918,7 @@ Får skilja från språket för mjukvaran
Dialog
-
+
Close
Stäng
@@ -10389,7 +10933,7 @@ Får skilja från språket för mjukvaran
Skriv till fil
-
+
Setup for:
Inställningar för:
@@ -10816,434 +11360,327 @@ Får skilja från språket för mjukvaran
simulatorDialog
-
P1
- P1
+ P1
-
P2
- P2
+ P2
-
P3
- P3
+ P3
-
THR
- GAS
+ GAS
-
RUD
- ROD
+ ROD
-
ELE
- HÖJ
+ HÖJ
-
AIL
- SKE
+ SKE
-
-
Hold X
- Håll X
+ Håll X
-
-
Fix X
- Fixera X
+ Fixera X
-
-
Fix Y
- Fixera Y
+ Fixera Y
-
-
Hold Y
- Håll Y
+ Håll Y
-
-
-
-
TextLabel
- Textettikett
+ Textettikett
-
TRN
- TRN
+ TRN
-
GEA
- LAN
+ LAN
-
ID0
- ID0
+ ID0
-
ID1
- ID1
+ ID1
-
ID2
- ID2
+ ID2
-
BEEP
- Summer
+ Summer
-
-
-
-
Right Double Click to Reset
- Höger dubbelklick nollställer
+ Höger dubbelklick nollställer
-
Companion Simulator
- Companion Simulator
+ Companion Simulator
-
9x Simulator
- Simulator för 9x
+ Simulator för 9x
-
Outputs
- Utgångar
+ Utgångar
-
LS1
- LB1
+ LB1
-
LS2
- LB2
+ LB2
-
LS3
- LB3
+ LB3
-
LS4
- LB4
+ LB4
-
LS5
- LB5
+ LB5
-
LS6
- LB6
+ LB6
-
LS7
- LB7
+ LB7
-
LS8
- LB8
+ LB8
-
LS9
- LB9
+ LB9
-
LSA
- LBA
+ LBA
-
LSB
- LBB
+ LBB
-
LSC
- LBC
+ LBC
-
LSD
- LBD
+ LBD
-
LSE
- LBE
+ LBE
-
LSF
- LBF
+ LBF
-
LSG
- LBG
+ LBG
-
LSH
- LBH
+ LBH
-
LSI
- LBI
+ LBI
-
LSJ
- LBJ
+ LBJ
-
LSK
- LBK
+ LBK
-
LSL
- LBL
+ LBL
-
LSM
- LBM
+ LBM
-
LSN
- LBN
+ LBN
-
LSO
- LBO
+ LBO
-
LSP
- LBP
+ LBP
-
LSQ
- LBQ
+ LBQ
-
LSR
- LBR
+ LBR
-
LSS
- LBS
+ LBS
-
LST
- LBT
+ LBT
-
LSU
- LBU
+ LBU
-
LSV
- LBV
+ LBV
-
LSW
- LBW
+ LBW
-
CH1
- KN1
+ KN1
-
CH9
- KN9
+ KN9
-
CH2
- KN2
+ KN2
-
CH10
- KN10
+ KN10
-
CH3
- KN3
+ KN3
-
CH11
- KN11
+ KN11
-
CH4
- KN4
+ KN4
-
CH12
- KN12
+ KN12
-
CH5
- KN5
+ KN5
-
CH13
- KN13
+ KN13
-
CH6
- KN6
+ KN6
-
CH14
- KN14
+ KN14
-
CH7
- KN7
+ KN7
-
CH15
- KN15
+ KN15
-
CH8
- KN8
+ KN8
-
CH16
- KN16
+ KN16
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-100.1
- -100.1
+ -100.1
-
-
Warning
- Varning
+ Varning
-
Joystick enabled but not configured correctly
- Joysticken påslagen, men ej rätt inställd
+ Joysticken påslagen, men ej rätt inställd
-
Cannot open joystick, joystick disabled
- Joysticken kan inte hittas. Joysticken stängs av
+ Joysticken kan inte hittas. Joysticken stängs av
-
Firmware %1 error: %2
- Firmware %1 fel: %2
+ Firmware %1 fel: %2
-
Simulating Tx (%1)
- Simulerar sändare (%1)
+ Simulerar sändare (%1)
-
Simulating
- Simulerar
+ Simulerar
-
-
-
0 %
- 0 %
+ 0 %
-
- Flight mode: %1(%2)
- - Fligmod: %1(%2)
+ - Fligmod: %1(%2)
splashLibrary
-
-
+
+
...
...
@@ -11253,7 +11690,7 @@ Får skilja från språket för mjukvaran
Bildbibliotek - Sida %1 av %2
-
+
Warning
Varning
@@ -11276,428 +11713,312 @@ Får skilja från språket för mjukvaran
xsimulatorDialog
-
-
SE
- SE
+ SE
-
-
SA
- SA
+ SA
-
-
SB
- SB
+ SB
-
-
-
-
Right Double Click to Reset
- Höger dubbelklick nollställer
+ Höger dubbelklick nollställer
-
-
-
-
TextLabel
- Textettikett
+ Textettikett
-
-
Hold X
- Håll X
+ Håll X
-
-
Fix X
- Fixera X
+ Fixera X
-
-
Fix Y
- Fixera Y
+ Fixera Y
-
-
Hold Y
- Håll Y
+ Håll Y
-
-
SH
- SH
+ SH
-
-
SG
- SG
+ SG
-
Companion Simulator
- Companion Simulator
+ Companion Simulator
-
-
SD
- SD
+ SD
-
-
SC
- SC
+ SC
-
Outputs
- Utgångar
+ Utgångar
-
CH1
- KN1
+ KN1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-100.1
- -100.1
+ -100.1
-
CH9
- KN9
+ KN9
-
CH2
- KN2
+ KN2
-
CH10
- KN10
+ KN10
-
CH3
- KN3
+ KN3
-
CH11
- KN11
+ KN11
-
CH4
- KN4
+ KN4
-
CH12
- KN12
+ KN12
-
CH5
- KN5
+ KN5
-
CH13
- KN13
+ KN13
-
CH6
- KN6
+ KN6
-
CH14
- KN14
+ KN14
-
CH7
- KN7
+ KN7
-
CH15
- KN15
+ KN15
-
CH8
- KN8
+ KN8
-
CH16
- KN16
+ KN16
-
LSK
- LBK
+ LBK
-
LSC
- LBC
+ LBC
-
LSD
- LBD
+ LBD
-
LS7
- LB7
+ LB7
-
LSL
- LBL
+ LBL
-
LSB
- LBB
+ LBB
-
LS1
- LB1
+ LB1
-
LSH
- LBH
+ LBH
-
LSG
- LBG
+ LBG
-
LSE
- LBE
+ LBE
-
LSF
- LBF
+ LBF
-
LS8
- LB8
+ LB8
-
LS9
- LB9
+ LB9
-
LSA
- LBA
+ LBA
-
LSM
- LBM
+ LBM
-
LSJ
- LBJ
+ LBJ
-
LSI
- LBI
+ LBI
-
LS4
- LB4
+ LB4
-
LS5
- LB5
+ LB5
-
LS2
- LB2
+ LB2
-
LS3
- LB3
+ LB3
-
LS6
- LB6
+ LB6
-
LSN
- LBN
+ LBN
-
LSO
- LBO
+ LBO
-
LSP
- LBP
+ LBP
-
LSQ
- LBQ
+ LBQ
-
LSR
- LBR
+ LBR
-
LSS
- LBS
+ LBS
-
LST
- LBT
+ LBT
-
LSU
- LBU
+ LBU
-
LSV
- LBV
+ LBV
-
LSW
- LBW
+ LBW
-
-
Warning
- Varning
+ Varning
-
Joystick enabled but not configured correctly
- Joysticken påslagen, men ej rätt inställd
+ Joysticken påslagen, men ej rätt inställd
-
Cannot open joystick, joystick disabled
- Joysticken kan inte hittas. Joysticken stängs av
+ Joysticken kan inte hittas. Joysticken stängs av
-
Firmware %1 error: %2
- Firmware %1 fel: %2
+ Firmware %1 fel: %2
-
Simulating Tx (%1)
- Simulerar sändare (%1)
+ Simulerar sändare (%1)
-
Simulating
- Simulerar
+ Simulerar
-
-
-
SF
- SF
+ SF
-
-
S2
- S2
+ S2
-
-
RS
- RS
+ RS
-
-
S1
- S1
+ S1
-
-
LS
- LS
+ LS
-
Taranis Simulator
- Taranissimulator
+ Taranissimulator
-
- Flight mode: %1(%2)
- - Fligmod: %1(%2)
+ - Fligmod: %1(%2)
diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp
index 5d2fb1be9..8e9f4a741 100644
--- a/radio/src/audio_arm.cpp
+++ b/radio/src/audio_arm.cpp
@@ -117,132 +117,260 @@ const char * audioFilenames[] = {
};
uint64_t sdAvailableSystemAudioFiles = 0;
-uint8_t sdAvailablePhaseAudioFiles[MAX_PHASES] = { 0 };
-uint8_t sdAvailableMixerAudioFiles[MAX_MIXERS] = { 0 };
+uint32_t sdAvailablePhaseAudioFiles = 0;
+uint64_t sdAvailableSwitchAudioFiles = 0;
+uint64_t sdAvailableLogicalSwitchAudioFiles = 0;
-void refreshSystemAudioFiles()
+#define MASK_SYSTEM_AUDIO_FILE(index) ((uint64_t)1 << index)
+#define MASK_PHASE_AUDIO_FILE(index, event) ((uint32_t)1 << (2*index+event))
+#define MASK_SWITCH_AUDIO_FILE(index) ((uint64_t)1 << index)
+#define MASK_LOGICAL_SWITCH_AUDIO_FILE(index, event) ((uint64_t)1 << (2*index+event))
+
+bool isFileAvailable(const char * filename)
{
FILINFO info;
-#if _USE_LFN
TCHAR lfn[_MAX_LFN + 1];
info.lfname = lfn;
info.lfsize = sizeof(lfn);
-#endif
+ return f_stat(filename, &info) == FR_OK;
+}
- char filename[32] = SYSTEM_SOUNDS_PATH "/";
- strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
+char * getAudioPath(char * path)
+{
+ strcpy(path, SOUNDS_PATH "/");
+ strncpy(path+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
+ return path + sizeof(SOUNDS_PATH);
+}
+
+char * getSystemAudioPath(char * path)
+{
+ char * str = getAudioPath(path);
+ strcpy(str, SYSTEM_SUBDIR "/");
+ return str + sizeof(SYSTEM_SUBDIR);
+}
+
+void getSystemAudioFile(char * filename, int index)
+{
+ char * str = getSystemAudioPath(filename);
+ strcpy(str, audioFilenames[index]);
+ strcat(str, SOUNDS_EXT);
+}
+
+void referenceSystemAudioFiles()
+{
+ char path[AUDIO_FILENAME_MAXLEN+1];
+ FILINFO fno;
+ DIR dir;
+ char *fn; /* This function is assuming non-Unicode cfg. */
+ TCHAR lfn[_MAX_LFN + 1];
+ fno.lfname = lfn;
+ fno.lfsize = sizeof(lfn);
+
+ uint64_t availableAudioFiles = 0;
assert(sizeof(audioFilenames)==AU_FRSKY_FIRST*sizeof(char *));
assert(sizeof(sdAvailableSystemAudioFiles)*8 >= AU_FRSKY_FIRST);
- uint64_t availableAudioFiles = 0;
+ char * filename = getSystemAudioPath(path);
+ *(filename-1) = '\0';
- for (uint32_t i=0; iid, 2);
+ char * result = strcat_modelname(path+sizeof(SOUNDS_PATH), g_eeGeneral.currModel);
+ *result++ = '/';
+ *result = '\0';
return result;
}
-void refreshModelAudioFiles()
+void getPhaseAudioFile(char * filename, int index, unsigned int event)
{
- FILINFO info;
+ char * str = getModelPath(filename);
+ char * tmp = strcat_phasename(str, index);
+ strcpy(tmp, suffixes[event]);
+ strcat(tmp, SOUNDS_EXT);
+}
+
+void getSwitchAudioFile(char * filename, int index)
+{
+ char * str = getModelPath(filename);
+ int len = STR_VSWITCHES[0];
+ strncpy(str, &STR_VSWITCHES[1+len*index], len);
+ str += len-1;
+ if (*str == '\300') {
+ strcpy(str, "-up");
+ str += 3;
+ }
+ else if (*str == '-') {
+ strcpy(str, "-mid");
+ str += 4;
+ }
+ else if (*str == '\301') {
+ strcpy(str, "-down");
+ str += 5;
+ }
+ else {
+ str += 1;
+ }
+ strcat(str, SOUNDS_EXT);
+}
+
+void getLogicalSwitchAudioFile(char * filename, int index, unsigned int event)
+{
+ char * str = getModelPath(filename);
+ int len = STR_VSWITCHES[0];
+ strncpy(str, &STR_VSWITCHES[1+len*(index+SWSRC_FIRST_CSW-1)], len);
+ str += len;
+ strcpy(str, suffixes[event]);
+ strcat(str, SOUNDS_EXT);
+}
+
+void referenceModelAudioFiles()
+{
+ char path[AUDIO_FILENAME_MAXLEN+1];
+ FILINFO fno;
+ DIR dir;
+ char *fn; /* This function is assuming non-Unicode cfg. */
TCHAR lfn[_MAX_LFN + 1];
- info.lfname = lfn;
- info.lfsize = sizeof(lfn);
+ fno.lfname = lfn;
+ fno.lfsize = sizeof(lfn);
- char filename[AUDIO_FILENAME_MAXLEN+1] = SOUNDS_PATH "/";
- strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
-
- if (sdMounted()) {
- char *buf = strcat_modelname(&filename[sizeof(SOUNDS_PATH)], g_eeGeneral.currModel);
- *buf++ = '/';
+ sdAvailablePhaseAudioFiles = 0;
+ sdAvailableSwitchAudioFiles = 0;
+ sdAvailableLogicalSwitchAudioFiles = 0;
- for (uint32_t i=0; i-[on|off].wav
+ for (int i=0; i-[up|mid|down].wav
+ for (int i=0; i-[on|off].wav
+ for (int i=0; i> 24);
uint8_t index = (i >> 16) & 0xFF;
uint8_t event = i & 0xFF;
#if 0
- printf("isAudioFileAvailable(%08x)\n", i); fflush(stdout);
+ printf("isAudioFileReferenced(%08x)\n", i); fflush(stdout);
#endif
if (category == SYSTEM_AUDIO_CATEGORY) {
- if (sdAvailableSystemAudioFiles & ((uint64_t)1 << event)) {
- strcpy(filename, SYSTEM_SOUNDS_PATH "/");
- strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
- strcpy(filename+sizeof(SYSTEM_SOUNDS_PATH), audioFilenames[i]);
- strcat(filename+sizeof(SYSTEM_SOUNDS_PATH), SOUNDS_EXT);
+ if (sdAvailableSystemAudioFiles & MASK_SYSTEM_AUDIO_FILE(event)) {
+ getSystemAudioFile(filename, event);
return true;
}
}
else if (category == PHASE_AUDIO_CATEGORY) {
- if (sdAvailablePhaseAudioFiles[index] & ((uint32_t)1 << event)) {
- strcpy(filename, SOUNDS_PATH "/");
- strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
- char *str = strcat_modelname(filename+sizeof(SOUNDS_PATH), g_eeGeneral.currModel);
- *str++ = '/';
- char * tmp = strcat_phasename(str, index);
- if (tmp != str) {
- strcpy(tmp, suffixes[event]);
- strcat(tmp, SOUNDS_EXT);
- return true;
- }
+ if (sdAvailablePhaseAudioFiles & MASK_PHASE_AUDIO_FILE(index, event)) {
+ getPhaseAudioFile(filename, index, event);
+ return true;
}
}
- else if (category == MIXER_AUDIO_CATEGORY) {
- if (sdAvailableMixerAudioFiles[index] & ((uint32_t)1 << event)) {
- strcpy(filename, SOUNDS_PATH "/");
- strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
- char *str = strcat_modelname(filename+sizeof(SOUNDS_PATH), g_eeGeneral.currModel);
- *str++ = '/';
- char * tmp = strcat_mixername(str, index);
- if (tmp != str) {
- strcpy(tmp, suffixes[event]);
- strcat(tmp, SOUNDS_EXT);
- return true;
- }
+ else if (category == SWITCH_AUDIO_CATEGORY) {
+ if (sdAvailableSwitchAudioFiles & MASK_SWITCH_AUDIO_FILE(index)) {
+ getSwitchAudioFile(filename, index);
+ return true;
+ }
+ }
+ else if (category == LOGICAL_SWITCH_AUDIO_CATEGORY) {
+ if (sdAvailableLogicalSwitchAudioFiles & MASK_LOGICAL_SWITCH_AUDIO_FILE(index, event)) {
+ getLogicalSwitchAudioFile(filename, index, event);
+ return true;
}
}
return false;
}
+
+tmr10ms_t timeAutomaticPromptsSilence = 0;
+
+void playModelEvent(uint8_t category, uint8_t index, uint8_t event)
+{
+ char filename[AUDIO_FILENAME_MAXLEN+1];
+ if ((get_tmr10ms()-timeAutomaticPromptsSilence > 50) && isAudioFileReferenced((category << 24) + (index << 16) + event, filename)) {
+ audioQueue.playFile(filename);
+ }
+}
#else
-#define isAudioFileAvailable(i, f) false
+
+#define isAudioFileReferenced(i, f) false
+
#endif
+// TODO should be generated and in flash rather than in ram
int16_t alawTable[256];
int16_t ulawTable[256];
@@ -757,10 +885,6 @@ void AudioQueue::reset()
void audioEvent(uint8_t e, uint16_t f)
{
-#if defined(SDCARD)
- char filename[AUDIO_FILENAME_MAXLEN+1];
-#endif
-
#if defined(HAPTIC)
haptic.event(e); //do this before audio to help sync timings
#endif
@@ -773,7 +897,8 @@ void audioEvent(uint8_t e, uint16_t f)
if (g_eeGeneral.beepMode>0 || (g_eeGeneral.beepMode==0 && e>=AU_TRIM_MOVE) || (g_eeGeneral.beepMode>=-1 && e<=AU_ERROR)) {
#if defined(SDCARD)
- if (e < AU_FRSKY_FIRST && isAudioFileAvailable(e, filename)) {
+ char filename[AUDIO_FILENAME_MAXLEN+1];
+ if (e < AU_FRSKY_FIRST && isAudioFileReferenced(e, filename)) {
audioQueue.playFile(filename);
}
else
@@ -982,16 +1107,13 @@ void audioEvent(uint8_t e, uint16_t f)
void pushPrompt(uint16_t prompt, uint8_t id)
{
#if defined(SDCARD)
-
- char filename[] = SYSTEM_SOUNDS_PATH "/0000" SOUNDS_EXT;
- strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
-
+ char filename[AUDIO_FILENAME_MAXLEN+1];
+ char * str = getSystemAudioPath(filename);
+ strcpy(str, "0000" SOUNDS_EXT);
for (int8_t i=3; i>=0; i--) {
- filename[sizeof(SYSTEM_SOUNDS_PATH)+i] = '0' + (prompt%10);
+ str[i] = '0' + (prompt%10);
prompt /= 10;
}
-
audioQueue.playFile(filename, 0, id);
-
#endif
}
diff --git a/radio/src/audio_arm.h b/radio/src/audio_arm.h
index 9b45187b0..3f5ee974c 100644
--- a/radio/src/audio_arm.h
+++ b/radio/src/audio_arm.h
@@ -277,16 +277,21 @@ void audioStart();
#define AUDIO_HEARTBEAT()
-#define SYSTEM_AUDIO_CATEGORY 0
-#define MODEL_AUDIO_CATEGORY 1
-#define PHASE_AUDIO_CATEGORY 2
-#define MIXER_AUDIO_CATEGORY 3
+enum AutomaticPromptsCategories {
+ SYSTEM_AUDIO_CATEGORY,
+ MODEL_AUDIO_CATEGORY,
+ PHASE_AUDIO_CATEGORY,
+ SWITCH_AUDIO_CATEGORY,
+ LOGICAL_SWITCH_AUDIO_CATEGORY,
+};
-#define AUDIO_EVENT_OFF 0
-#define AUDIO_EVENT_ON 1
-#define AUDIO_EVENT_BG 2
+enum AutomaticPromptsEvents {
+ AUDIO_EVENT_OFF,
+ AUDIO_EVENT_ON,
+ AUDIO_EVENT_MID,
+};
-extern void pushPrompt(uint16_t prompt, uint8_t id=0);
+void pushPrompt(uint16_t prompt, uint8_t id=0);
#define I18N_PLAY_FUNCTION(lng, x, ...) void lng ## _ ## x(__VA_ARGS__, uint8_t id)
#define PLAY_FUNCTION(x, ...) void x(__VA_ARGS__, uint8_t id)
@@ -300,15 +305,26 @@ extern void pushPrompt(uint16_t prompt, uint8_t id=0);
#define AUDIO_RESET() audioQueue.reset()
#if defined(SDCARD)
- #define PLAY_PHASE_OFF(phase) do { char filename[AUDIO_FILENAME_MAXLEN+1]; if (isAudioFileAvailable((PHASE_AUDIO_CATEGORY << 24) + (phase << 16) + AUDIO_EVENT_OFF, filename)) audioQueue.playFile(filename); } while (0)
- #define PLAY_PHASE_ON(phase) do { char filename[AUDIO_FILENAME_MAXLEN+1]; if (isAudioFileAvailable((PHASE_AUDIO_CATEGORY << 24) + (phase << 16) + AUDIO_EVENT_ON, filename)) audioQueue.playFile(filename); } while (0)
+ extern tmr10ms_t timeAutomaticPromptsSilence;
+ void playModelEvent(uint8_t category, uint8_t index, uint8_t event=0);
+ #define PLAY_PHASE_OFF(phase) playModelEvent(PHASE_AUDIO_CATEGORY, phase, AUDIO_EVENT_OFF)
+ #define PLAY_PHASE_ON(phase) playModelEvent(PHASE_AUDIO_CATEGORY, phase, AUDIO_EVENT_ON)
+ #define PLAY_SWITCH_MOVED(sw) playModelEvent(SWITCH_AUDIO_CATEGORY, sw)
+ #define PLAY_LOGICAL_SWITCH_OFF(sw) playModelEvent(LOGICAL_SWITCH_AUDIO_CATEGORY, sw, AUDIO_EVENT_OFF)
+ #define PLAY_LOGICAL_SWITCH_ON(sw) playModelEvent(LOGICAL_SWITCH_AUDIO_CATEGORY, sw, AUDIO_EVENT_ON)
+ #define SKIP_AUTOMATIC_PROMPTS() timeAutomaticPromptsSilence = get_tmr10ms()
#else
#define PLAY_PHASE_OFF(phase)
#define PLAY_PHASE_ON(phase)
+ #define PLAY_SWITCH_MOVED(sw)
+ #define PLAY_LOGICAL_SWITCH_OFF(sw)
+ #define PLAY_LOGICAL_SWITCH_ON(sw)
+ #define SKIP_AUTOMATIC_PROMPTS()
#endif
-extern void refreshSystemAudioFiles();
-extern void refreshModelAudioFiles();
-extern bool isAudioFileAvailable(uint32_t i, char * filename);
+void referenceSystemAudioFiles();
+void referenceModelAudioFiles();
+
+bool isAudioFileReferenced(uint32_t i, char * filename/*at least AUDIO_FILENAME_MAXLEN+1 long*/);
#endif
diff --git a/radio/src/audio_avr.h b/radio/src/audio_avr.h
index 6302c13f4..691305655 100644
--- a/radio/src/audio_avr.h
+++ b/radio/src/audio_avr.h
@@ -157,5 +157,9 @@ void audioDefevent(uint8_t e);
#define PLAY_PHASE_OFF(phase)
#define PLAY_PHASE_ON(phase)
+#define PLAY_SWITCH_MOVED(sw)
+#define PLAY_LOGICAL_SWITCH_OFF(sw)
+#define PLAY_LOGICAL_SWITCH_ON(sw)
+#define SKIP_AUTOMATIC_PROMPTS()
#endif
diff --git a/radio/src/buzzer.h b/radio/src/buzzer.h
index cbb4d5717..6d901bbbb 100644
--- a/radio/src/buzzer.h
+++ b/radio/src/buzzer.h
@@ -102,6 +102,10 @@ void beep(uint8_t val);
#define PLAY_PHASE_OFF(phase)
#define PLAY_PHASE_ON(phase)
+ #define PLAY_SWITCH_MOVED(sw)
+ #define PLAY_LOGICAL_SWITCH_OFF(sw)
+ #define PLAY_LOGICAL_SWITCH_ON(sw)
+ #define SKIP_AUTOMATIC_PROMPTS()
#endif
#if !defined(CPUARM)
diff --git a/radio/src/eeprom_conversions.cpp b/radio/src/eeprom_conversions.cpp
index f12353cb0..e575f4c1c 100644
--- a/radio/src/eeprom_conversions.cpp
+++ b/radio/src/eeprom_conversions.cpp
@@ -144,7 +144,7 @@ PACK(typedef struct {
int8_t swtch;
uint8_t func;
PACK(union {
- char name[LEN_CFN_NAME];
+ char name[10];
struct {
int16_t val;
int16_t ext1;
@@ -193,7 +193,7 @@ PACK(typedef struct {
int8_t points[NUM_POINTS];
LogicalSwitchData_v215 customSw[NUM_CSW];
- CustomFnData_v215 funcSw[NUM_CFN];
+ CustomFnData_v215 funcSw[32];
SwashRingData swashR;
PhaseData_v215 phaseData[MAX_PHASES];
@@ -593,7 +593,7 @@ void ConvertModel_215_to_216(ModelData &model)
}
if (fn.func == FUNC_PLAY_TRACK || fn.func == FUNC_BACKGND_MUSIC) {
- memcpy(fn.play.name, oldModel.funcSw[i].param.name, LEN_CFN_NAME);
+ memcpy(fn.play.name, oldModel.funcSw[i].param.name, 8);
}
else {
fn.all.val = oldModel.funcSw[i].param.composite.val;
diff --git a/radio/src/eeprom_raw.cpp b/radio/src/eeprom_raw.cpp
index 718fe3558..5050f7cbb 100644
--- a/radio/src/eeprom_raw.cpp
+++ b/radio/src/eeprom_raw.cpp
@@ -404,7 +404,7 @@ void eeLoadModel(uint8_t id)
#endif
#if defined(CPUARM) && defined(SDCARD)
- refreshModelAudioFiles();
+ referenceModelAudioFiles();
#endif
LOAD_MODEL_BITMAP();
diff --git a/radio/src/eeprom_rlc.cpp b/radio/src/eeprom_rlc.cpp
index f6f62502e..190dcdbe8 100644
--- a/radio/src/eeprom_rlc.cpp
+++ b/radio/src/eeprom_rlc.cpp
@@ -978,7 +978,7 @@ void eeLoadModel(uint8_t id)
#endif
#if defined(CPUARM) && defined(SDCARD)
- refreshModelAudioFiles();
+ referenceModelAudioFiles();
#endif
LOAD_MODEL_BITMAP();
diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp
index 18614a044..bd2e542c2 100644
--- a/radio/src/gui/menu_model.cpp
+++ b/radio/src/gui/menu_model.cpp
@@ -5155,8 +5155,8 @@ void onModelCustomScriptMenu(const char *result)
ScriptData &sd = g_model.scriptsData[s_currIdx];
if (result == STR_UPDATE_LIST) {
- if (!listSdFiles(SCRIPTS_PATH, MIXES_EXT, sizeof(sd.file), NULL)) {
- POPUP_WARNING(STR_NO_BITMAPS_ON_SD);
+ if (!listSdFiles(SCRIPTS_PATH, SCRIPTS_EXT, sizeof(sd.file), NULL)) {
+ POPUP_WARNING(STR_NO_SCRIPTS_ON_SD);
s_menu_flags = 0;
}
}
@@ -5203,7 +5203,7 @@ void menuModelCustomScriptOne(uint8_t event)
lcd_putsiAtt(SCRIPT_ONE_2ND_COLUMN_POS, y, STR_VCSWFUNC, 0, attr);
if (attr && event==EVT_KEY_BREAK(KEY_ENTER) && !READ_ONLY()) {
s_editMode = 0;
- if (listSdFiles(SCRIPTS_PATH, MIXES_EXT, sizeof(sd.file), sd.file, LIST_NONE_SD_FILE)) {
+ if (listSdFiles(SCRIPTS_PATH, SCRIPTS_EXT, sizeof(sd.file), sd.file, LIST_NONE_SD_FILE)) {
menuHandler = onModelCustomScriptMenu;
}
else {
diff --git a/radio/src/lua.cpp b/radio/src/lua.cpp
index 0e18824fa..1a2ab9e1a 100644
--- a/radio/src/lua.cpp
+++ b/radio/src/lua.cpp
@@ -935,10 +935,10 @@ void luaLoadModelScript(uint8_t index)
sid.state = SCRIPT_NOFILE;
if (ZEXIST(sd.file)) {
- char filename[sizeof(SCRIPTS_PATH)+sizeof(sd.file)+sizeof(MIXES_EXT)] = SCRIPTS_PATH "/";
+ char filename[sizeof(SCRIPTS_PATH)+sizeof(sd.file)+sizeof(SCRIPTS_EXT)] = SCRIPTS_PATH "/";
strncpy(filename+sizeof(SCRIPTS_PATH), sd.file, sizeof(sd.file));
filename[sizeof(SCRIPTS_PATH)+sizeof(sd.file)] = '\0';
- strcat(filename+sizeof(SCRIPTS_PATH), MIXES_EXT);
+ strcat(filename+sizeof(SCRIPTS_PATH), SCRIPTS_EXT);
luaLoad(filename, sid);
}
}
diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h
index 94b6cbb9e..39608c17b 100644
--- a/radio/src/myeeprom.h
+++ b/radio/src/myeeprom.h
@@ -74,8 +74,8 @@
#define MAX_MIXERS 64
#define MAX_EXPOS 64
#define NUM_CSW 32 // number of custom switches
- #define NUM_CFN 32 // number of functions assigned to switches
- #define MAX_SCRIPTS 3
+ #define NUM_CFN 64 // number of functions assigned to switches
+ #define MAX_SCRIPTS 7
#define MAX_INPUTS 32
#elif defined(CPUARM)
#define MAX_MODELS 60
@@ -84,7 +84,7 @@
#define MAX_MIXERS 64
#define MAX_EXPOS 32
#define NUM_CSW 32 // number of custom switches
- #define NUM_CFN 32 // number of functions assigned to switches
+ #define NUM_CFN 64 // number of functions assigned to switches
#elif defined(CPUM2560) || defined(CPUM2561)
#define MAX_MODELS 30
#define NUM_CHNOUT 16 // number of real output channels CH1-CH16
@@ -323,8 +323,9 @@ enum BacklightMode {
#define SPLASH_MODE uint8_t splashMode:1; uint8_t spare4:2
#endif
-#if defined(PCBTARANIS)
#define POTS_POS_COUNT 6
+
+#if defined(PCBTARANIS)
PACK(typedef struct {
uint8_t count;
uint8_t steps[POTS_POS_COUNT-1];
@@ -822,7 +823,7 @@ enum AdjustGvarFunctionParam {
#if defined(CPUARM)
#if defined(PCBTARANIS)
- #define LEN_CFN_NAME 10
+ #define LEN_CFN_NAME 8
#else
#define LEN_CFN_NAME 6
#endif
diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp
index 36d95d213..cbca81765 100644
--- a/radio/src/opentx.cpp
+++ b/radio/src/opentx.cpp
@@ -1314,7 +1314,6 @@ getvalue_t getValue(uint8_t i)
volatile GETSWITCH_RECURSIVE_TYPE s_last_switch_used = 0;
volatile GETSWITCH_RECURSIVE_TYPE s_last_switch_value = 0;
-/* recursive function. stack as of today (16/03/2012) grows by 8bytes at each call, which is ok! */
#if defined(CPUARM)
uint32_t cswDelays[NUM_CSW];
@@ -1327,27 +1326,66 @@ tmr10ms_t switchesMidposStart[6] = { 0 };
uint32_t switchesPos = 0;
tmr10ms_t potsLastposStart[NUM_XPOTS];
uint8_t potsPos[NUM_XPOTS];
+
+uint32_t check2PosSwitchPosition(EnumKeys sw)
+{
+ uint32_t result;
+ uint32_t index;
+
+ if (switchState(sw))
+ index = sw - SW_SA0;
+ else
+ index = sw - SW_SA0 + 1;
+
+ result = (1 << index);
+
+ if (!(switchesPos & result)) {
+ PLAY_SWITCH_MOVED(index);
+ }
+
+ return result;
+}
+
#define DELAY_SWITCH_3POS 10/*100ms*/
-#define CHECK_2POS(sw) newPos |= (switchState(sw ## 0) ? (1 << (sw ## 0 - SW_SA0)) : (1 << (sw ## 0 - SW_SA0 + 1)))
-#define CHECK_3POS(idx, sw) if (switchState(sw ## 0)) { \
- newPos |= (1 << (sw ## 0 - SW_SA0)); \
- switchesMidposStart[idx] = 0; \
- } \
- else if (switchState(sw ## 2)) { \
- newPos |= (1 << (sw ## 0 - SW_SA0 + 2)); \
- switchesMidposStart[idx] = 0; \
- } \
- else if ((switchesPos & (1 << (sw ## 0 - SW_SA0 + 1))) || (switchesMidposStart[idx] && (tmr10ms_t)(get_tmr10ms() - switchesMidposStart[idx]) > DELAY_SWITCH_3POS)) { \
- newPos |= (1 << (sw ## 0 - SW_SA0 + 1)); \
- switchesMidposStart[idx] = 0; \
- } \
- else { \
- if (!switchesMidposStart[idx]) { \
- switchesMidposStart[idx] = get_tmr10ms(); \
- } \
- newPos |= (switchesPos & (0x7 << (sw ## 0 - SW_SA0))); \
- }
-void getSwitchesPosition()
+uint32_t check3PosSwitchPosition(uint8_t idx, EnumKeys sw, bool startup)
+{
+ uint32_t result;
+ uint32_t index;
+
+ if (switchState(sw)) {
+ index = sw - SW_SA0;
+ result = (1 << index);
+ switchesMidposStart[idx] = 0;
+ }
+ else if (switchState(EnumKeys(sw+2))) {
+ index = sw - SW_SA0 + 2;
+ result = (1 << index);
+ switchesMidposStart[idx] = 0;
+ }
+ else if (startup || (switchesPos & (1 << (sw - SW_SA0 + 1))) || (switchesMidposStart[idx] && (tmr10ms_t)(get_tmr10ms() - switchesMidposStart[idx]) > DELAY_SWITCH_3POS)) {
+ index = sw - SW_SA0 + 1;
+ result = (1 << index);
+ switchesMidposStart[idx] = 0;
+ }
+ else {
+ index = sw - SW_SA0 + 1;
+ if (!switchesMidposStart[idx]) {
+ switchesMidposStart[idx] = get_tmr10ms();
+ }
+ result = (switchesPos & (0x7 << (sw - SW_SA0)));
+ }
+
+ if (!(switchesPos & result)) {
+ PLAY_SWITCH_MOVED(index);
+ }
+
+ return result;
+}
+
+#define CHECK_2POS(sw) newPos |= check2PosSwitchPosition(sw ## 0)
+#define CHECK_3POS(idx, sw) newPos |= check3PosSwitchPosition(idx, sw ## 0, startup)
+
+void getSwitchesPosition(bool startup)
{
uint32_t newPos = 0;
CHECK_3POS(0, SW_SA);
@@ -1366,13 +1404,17 @@ void getSwitchesPosition()
if (calib->count>0 && calib->countcount);
uint8_t previousPos = potsPos[i] >> 4;
+ uint8_t previousStoredPos = potsPos[i] & 0x0F;
if (pos != previousPos) {
potsLastposStart[i] = get_tmr10ms();
- potsPos[i] = (pos << 4) | (potsPos[i] & 0x0f);
+ potsPos[i] = (pos << 4) | previousStoredPos;
}
- else if ((tmr10ms_t)(get_tmr10ms() - potsLastposStart[i]) > DELAY_SWITCH_3POS) {
+ else if (startup || (tmr10ms_t)(get_tmr10ms() - potsLastposStart[i]) > DELAY_SWITCH_3POS) {
potsLastposStart[i] = 0;
- potsPos[i] = (pos << 4) | (pos);
+ potsPos[i] = (pos << 4) | pos;
+ if (previousStoredPos != pos) {
+ PLAY_SWITCH_MOVED(SWSRC_LAST_SWITCH+i*POTS_POS_COUNT+pos);
+ }
}
}
}
@@ -1381,16 +1423,14 @@ void getSwitchesPosition()
#define SWITCH_POSITION(sw) (switchesPos & (1<<(sw)))
#define POT_POSITION(sw) ((potsPos[(sw)/POTS_POS_COUNT] & 0x0f) == ((sw) % POTS_POS_COUNT))
#else
-#define getSwitchesPosition()
+#define getSwitchesPosition(...)
#define SWITCH_POSITION(idx) switchState((EnumKeys)(SW_BASE+(idx)))
#endif
int16_t csLastValue[NUM_CSW];
#define CS_LAST_VALUE_INIT -32768
-// param swtch may be (negativ sign ignored)
-// 0 --> no source
-// 1 .. 9 (or max switches) --> returns switch value including 3pos
-// others internal switches etc.
+
+/* recursive function. stack as of today (16/03/2012) grows by 8bytes at each call, which is ok! */
bool getSwitch(int8_t swtch)
{
bool result;
@@ -1610,10 +1650,14 @@ bool getSwitch(int8_t swtch)
}
#endif
- if (result)
+ if (result) {
+ if (!(s_last_switch_value&mask)) PLAY_LOGICAL_SWITCH_ON(cs_idx);
s_last_switch_value |= mask;
- else
+ }
+ else {
+ if (s_last_switch_value&mask) PLAY_LOGICAL_SWITCH_OFF(cs_idx);
s_last_switch_value &= ~mask;
+ }
}
}
@@ -1644,53 +1688,24 @@ int8_t getMovedSwitch()
}
}
#else
- // saves about 50 bytes flash
// return delivers 1 to 3 for ID1 to ID3
// 4..8 for all other switches if changed to true
// -4..-8 for all other switches if changed to false
// 9 for Trainer switch if changed to true; Change to false is ignored
-
- swstate_t mask=0x80;
+ swstate_t mask = 0x80;
for (uint8_t i=NUM_PSWITCH; i>1; i--) {
bool prev;
- // mask= (1<<(i-2));
- prev=(switches_states & mask);
+ prev = (switches_states & mask);
// don't use getSwitch here to always get the proper value, even getSwitch manipulates
- // bool next = getSwitch(i);
- bool next = switchState((EnumKeys)(SW_BASE+i-1));
- if (prev!=next) {
- if (((i3)) || next==true)
- result = next ? i : -i;
- if ((i<=3) && (result==0)) result=1;
- switches_states ^= mask;
- }
- mask>>=1;
- } //endfor
-
-/*
- for (uint8_t i=NUM_PSWITCH; i>0; i--) {
- bool prev;
- swstate_t mask = 0;
- if (i <= 3) {
- prev = ((switches_states & 0x03) == (i-1));
- }
- else {
- mask = (1<<(i-2));
- prev = (switches_states & mask);
- }
- // don't use getSwitch here to always get the proper value, because getSwitch manipulates
- // bool next = getSwitch(i);
bool next = switchState((EnumKeys)(SW_BASE+i-1));
if (prev != next) {
- if (i!=NUM_PSWITCH || next==true)
+ if (((i3)) || next==true)
result = next ? i : -i;
- if (mask)
- switches_states ^= mask;
- else {
- switches_states = (switches_states & 0xFC) | (i-1);
- }
+ if (i<=3 && result==0) result = 1;
+ switches_states ^= mask;
}
- } //endfor */
+ mask >>= 1;
+ }
#endif
if ((tmr10ms_t)(get_tmr10ms() - s_move_last_time) > 10)
@@ -2303,6 +2318,8 @@ void checkAll()
#endif
clearKeyEvents();
+
+ SKIP_AUTOMATIC_PROMPTS();
}
#if defined(MODULE_ALWAYS_SEND_PULSES)
@@ -2351,30 +2368,39 @@ void checkTHR()
if (g_model.disableThrottleWarning) return;
getADC();
evalInputs(e_perout_mode_notrainer); // let do evalInputs do the job
+
int16_t v = calibratedStick[thrchn];
if (v<=(THRCHK_DEADBAND-1024)) return; // prevent warning if throttle input OK
+
// first - display warning; also deletes inputs if any have been before
MESSAGE(STR_THROTTLEWARN, STR_THROTTLENOTIDLE, STR_PRESSANYKEYTOSKIP, AU_THROTTLE_ALERT);
- while (1) {
- SIMU_SLEEP(1);
- getADC();
+ while (1) {
+
+ SIMU_SLEEP(1);
- evalInputs(e_perout_mode_notrainer); // let do evalInputs do the job
- v = calibratedStick[thrchn];
- if (pwrCheck()==e_power_off || keyDown() || v<=(THRCHK_DEADBAND-1024))
- break;
+ getADC();
+
+ evalInputs(e_perout_mode_notrainer); // let do evalInputs do the job
+ v = calibratedStick[thrchn];
+
+ if (pwrCheck()==e_power_off || keyDown() || v<=(THRCHK_DEADBAND-1024))
+ break;
- checkBacklight();
- wdt_reset();
- }//endwhile
+ checkBacklight();
+
+ wdt_reset();
+ }
#endif
}
void checkAlarm() // added by Gohst
{
- if (g_eeGeneral.disableAlarmWarning) return;
- if (IS_SOUND_OFF()) ALERT(STR_ALARMSWARN, STR_ALARMSDISABLED, AU_ERROR);
+ if (g_eeGeneral.disableAlarmWarning)
+ return;
+
+ if (IS_SOUND_OFF())
+ ALERT(STR_ALARMSWARN, STR_ALARMSDISABLED, AU_ERROR);
}
void checkSwitches()
@@ -2405,19 +2431,21 @@ void checkSwitches()
for (uint8_t i=0; i> 6;
- if(potMode) {
+ if (potMode) {
perOut(e_perout_mode_normal, 0);
bad_pots = 0;
- for (uint8_t i=0; i> 3)) > 2)) {
- warn = true;
- bad_pots |= (1<> 3)) > 2)) {
+ warn = true;
+ bad_pots |= (1<> (i*2)];
@@ -2455,7 +2483,7 @@ void checkSwitches()
lcd_putcAtt(60+i*(2*FW+FW/2)+FW, 4*FH+3, c, attr);
}
}
- if(potMode) {
+ if (potMode) {
for (uint8_t i=0; i (getValue(MIXSRC_FIRST_POT+i) >> 3) ? 126 : 127);
break;
- case 2:
- case 3:
+ case 2:
+ case 3:
lcd_putc(60+i*(5*FW)+2*FW+2, 6*FH-2, g_model.potPosition[i] > (getValue(MIXSRC_FIRST_POT+i) >> 3) ? '\300' : '\301');
break;
}
@@ -2484,11 +2512,11 @@ void checkSwitches()
for (uint8_t i=0; i0?(i+3):(states&0x3)+1), attr);
+ attr = (states & (1 << (i+1))) == (switches_states & (1 << (i+1))) ? 0 : INVERS;
+ if (!(g_model.nSwToWarn & (1<0?(i+3):(states&0x3)+1), attr);
x += 3*FW+FW/2;
}
#endif
@@ -2947,11 +2975,14 @@ void resetAll()
#if defined(FRSKY)
resetTelemetry();
#endif
- for (uint8_t i=0; iHIGH signals start of mixer interrupt
#endif
- static tmr10ms_t lastTMR;
+ static tmr10ms_t lastTMR = 0;
tmr10ms_t tmr10ms = get_tmr10ms();
- uint8_t tick10ms = (tmr10ms >= lastTMR ? tmr10ms - lastTMR : 1); // handle tick10ms overrun
- //@@@ open.20.fsguruh: correct overflow handling costs a lot of code; happens only each 11 min;
+ uint8_t tick10ms = (tmr10ms >= lastTMR ? tmr10ms - lastTMR : 1);
+ // handle tick10ms overrun
+ // correct overflow handling costs a lot of code; happens only each 11 min;
// therefore forget the exact calculation and use only 1 instead; good compromise
+
+#if !defined(CPUARM)
lastTMR = tmr10ms;
+#endif
getADC();
- getSwitchesPosition();
+ getSwitchesPosition(lastTMR == 0);
+
+#if defined(CPUARM)
+ lastTMR = tmr10ms;
+#endif
#if defined(PCBSKY9X) && !defined(REVA) && !defined(SIMU)
Current_analogue = (Current_analogue*31 + s_anaFilt[8] ) >> 5 ;
diff --git a/radio/src/opentx.h b/radio/src/opentx.h
index 87bbf18e9..786d0d069 100644
--- a/radio/src/opentx.h
+++ b/radio/src/opentx.h
@@ -1639,8 +1639,7 @@ uint8_t zlen(const char *str, uint8_t size);
bool zexist(const char *str, uint8_t size);
char * strcat_zchar(char * dest, char * name, uint8_t size, const char *defaultName, uint8_t defaultNameSize, uint8_t defaultIdx);
#define strcat_modelname(dest, idx) strcat_zchar(dest, modelHeaders[idx].name, LEN_MODEL_NAME, STR_MODEL, PSIZE(TR_MODEL), idx+1)
-#define strcat_phasename(dest, idx) strcat_zchar(dest, g_model.phaseData[idx].name, LEN_FP_NAME, NULL, 0, 0)
-#define strcat_mixername(dest, idx) strcat_zchar(dest, g_model.mixData[idx].name, LEN_EXPOMIX_NAME, NULL, 0, 0)
+#define strcat_phasename(dest, idx) strcat_zchar(dest, g_model.phaseData[idx].name, LEN_FP_NAME, STR_FP, PSIZE(TR_FP), idx+1)
#define ZLEN(s) zlen(s, sizeof(s))
#define ZEXIST(s) zexist(s, sizeof(s))
#endif
diff --git a/radio/src/sdcard.h b/radio/src/sdcard.h
index 4e6c446d7..ccbad5fa6 100644
--- a/radio/src/sdcard.h
+++ b/radio/src/sdcard.h
@@ -44,7 +44,7 @@
#define LOGS_PATH ROOT_PATH "LOGS" // no trailing slash = important
#define SOUNDS_PATH ROOT_PATH "SOUNDS/en" // no trailing slash = important
#define SOUNDS_PATH_LNG_OFS (sizeof(SOUNDS_PATH)-3)
-#define SYSTEM_SOUNDS_PATH SOUNDS_PATH "/SYSTEM" // no trailing slash = important
+#define SYSTEM_SUBDIR "SYSTEM" // no trailing slash = important
#define BITMAPS_PATH ROOT_PATH "BMP"
#define SCRIPTS_PATH ROOT_PATH "SCRIPTS"
@@ -53,7 +53,6 @@
#define SOUNDS_EXT ".wav"
#define BITMAPS_EXT ".bmp"
#define SCRIPTS_EXT ".lua"
-#define MIXES_EXT ".mix"
#define TEXT_EXT ".txt"
extern FATFS g_FATFS_Obj;
diff --git a/radio/src/simpgmspace.cpp b/radio/src/simpgmspace.cpp
index ba52639a3..b00c96be7 100644
--- a/radio/src/simpgmspace.cpp
+++ b/radio/src/simpgmspace.cpp
@@ -300,7 +300,7 @@ void *main_thread(void *)
eeReadAll(); // load general setup and selected model
#if defined(CPUARM) && defined(SDCARD)
- refreshSystemAudioFiles();
+ referenceSystemAudioFiles();
#endif
if (g_eeGeneral.backlightMode != e_backlight_mode_off) backlightOn(); // on Tx start turn the light on
@@ -473,9 +473,10 @@ char *convertSimuPath(const char *path)
FRESULT f_stat (const TCHAR * name, FILINFO *)
{
+ char *path = convertSimuPath(name);
struct stat tmp;
- // printf("f_stat(%s)\n", path); fflush(stdout);
- return stat(convertSimuPath(name), &tmp) ? FR_INVALID_NAME : FR_OK;
+ TRACE("f_stat(%s)", path);
+ return stat(path, &tmp) ? FR_INVALID_NAME : FR_OK;
}
FRESULT f_mount (BYTE, FATFS*)
diff --git a/radio/src/targets/sky9x/diskio.cpp b/radio/src/targets/sky9x/diskio.cpp
index d7f60e900..8d9ff5cfc 100644
--- a/radio/src/targets/sky9x/diskio.cpp
+++ b/radio/src/targets/sky9x/diskio.cpp
@@ -1014,7 +1014,7 @@ void sdMountPoll()
case SD_ST_DATA:
if (!usbPlugged() && f_mount(0, &g_FATFS_Obj) == FR_OK) {
- refreshSystemAudioFiles();
+ referenceSystemAudioFiles();
Card_state = SD_ST_MOUNTED;
}
break;
@@ -1082,7 +1082,7 @@ void sdInit()
Card_state = SD_ST_DATA;
if (f_mount(0, &g_FATFS_Obj) == FR_OK) {
- refreshSystemAudioFiles();
+ referenceSystemAudioFiles();
Card_state = SD_ST_MOUNTED;
}
diff --git a/radio/src/targets/taranis/diskio.cpp b/radio/src/targets/taranis/diskio.cpp
index b1d2dea7e..d9586804f 100644
--- a/radio/src/targets/taranis/diskio.cpp
+++ b/radio/src/targets/taranis/diskio.cpp
@@ -969,7 +969,7 @@ FIL g_telemetryFile = {0};
void sdInit()
{
if (f_mount(0, &g_FATFS_Obj) == FR_OK) {
- refreshSystemAudioFiles();
+ referenceSystemAudioFiles();
#if defined(DEBUG)
f_open(&g_telemetryFile, LOGS_PATH "/sport.log", FA_OPEN_ALWAYS | FA_WRITE);
diff --git a/radio/src/targets/taranis/trainer_driver.cpp b/radio/src/targets/taranis/trainer_driver.cpp
index 9319cc18b..f4b4e548c 100644
--- a/radio/src/targets/taranis/trainer_driver.cpp
+++ b/radio/src/targets/taranis/trainer_driver.cpp
@@ -124,7 +124,7 @@ extern "C" void TIM3_IRQHandler()
val = (uint16_t)(capture - lastCapt) / 2 ;
lastCapt = capture;
- // We prcoess g_ppmInsright here to make servo movement as smooth as possible
+ // We process g_ppmInsright here to make servo movement as smooth as possible
// while under trainee control
if ((val>4000) && (val < 19000)) { // G: Prioritize reset pulse. (Needed when less than 8 incoming pulses)
ppmInState = 1; // triggered