diff --git a/src/autoapp/UI/MainWindow.cpp b/src/autoapp/UI/MainWindow.cpp
index 2f0ee8a..10e7d98 100644
--- a/src/autoapp/UI/MainWindow.cpp
+++ b/src/autoapp/UI/MainWindow.cpp
@@ -55,26 +55,6 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
QLabel { color: #ffffff; font-weight: bold;} \
");
- // restore audio vol on startup if file exists
- QFileInfo volFile("/boot/crankshaft/volume");
- QFileInfo capvolFile("/boot/crankshaft/capvolume");
- if (volFile.exists() + capvolFile.exists()) {
-
- QFile volumeFile(QString("/boot/crankshaft/volume"));
- volumeFile.open(QIODevice::ReadOnly);
- QTextStream data_volume(&volumeFile);
- QString linevolume = data_volume.readAll();
- volumeFile.close();
-
- QFile capvolumeFile(QString("/boot/crankshaft/capvolume"));
- capvolumeFile.open(QIODevice::ReadOnly);
- QTextStream data_capvolume(&capvolumeFile);
- QString linecapvolume = data_capvolume.readAll();
- capvolumeFile.close();
- system( (std::string("/usr/local/bin/autoapp_helper setvolume ") + std::string(linevolume.toStdString()) ).c_str());
- system( (std::string("/usr/local/bin/autoapp_helper setcapvolume ") + std::string(linecapvolume.toStdString()) ).c_str());
- }
-
// Set default font and size
int id = QFontDatabase::addApplicationFont(":/Roboto-Regular.ttf");
QString family = QFontDatabase::applicationFontFamilies(id).at(0);
@@ -222,6 +202,8 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
ui_->pushButtonRearcam->hide();
ui_->pushButtonRearcamBack->hide();
+ ui_->systemConfigInProgress->hide();
+
if (!this->wifiButtonForce) {
ui_->pushButtonWirelessConnection->hide();
}
@@ -476,6 +458,18 @@ void f1x::openauto::autoapp::ui::MainWindow::showTime()
}
}
+ QFileInfo configInProgressFile("/tmp/config_in_progress");
+ if (configInProgressFile.exists()) {
+ if (ui_->systemConfigInProgress->isVisible() == false) {
+ ui_->systemConfigInProgress->setText("System config in progress - please wait ...");
+ ui_->systemConfigInProgress->show();
+ }
+ } else {
+ if (ui_->systemConfigInProgress->isVisible() == true) {
+ ui_->systemConfigInProgress->hide();
+ }
+ }
+
QFileInfo nightModeFile("/tmp/night_mode_enabled");
this->nightModeEnabled = nightModeFile.exists();
diff --git a/src/autoapp/UI/SettingsWindow.cpp b/src/autoapp/UI/SettingsWindow.cpp
index d3faa3f..7a922df 100644
--- a/src/autoapp/UI/SettingsWindow.cpp
+++ b/src/autoapp/UI/SettingsWindow.cpp
@@ -107,29 +107,52 @@ void SettingsWindow::onSave()
configuration_->save();
- system((std::string("/usr/local/bin/autoapp_helper setvolumes ") + std::to_string(ui_->horizontalSliderSystemVolume->value()) + std::string(" ") + std::to_string(ui_->horizontalSliderSystemCapture->value()) ).c_str());
- system((std::string("/usr/local/bin/autoapp_helper setdisconnect ") + std::to_string(ui_->spinBoxDisconnect->value())).c_str());
- system((std::string("/usr/local/bin/autoapp_helper setshutdown ") + std::to_string(ui_->spinBoxShutdown->value())).c_str());
- system((std::string("/usr/local/bin/autoapp_helper setdaynight ") + std::to_string(ui_->spinBoxDay->value()) + std::string(" ") + std::to_string(ui_->spinBoxNight->value()) ).c_str());
+ // generate param string for autoapp_helper
+ std::string params;
+ params.append( std::to_string(ui_->horizontalSliderSystemVolume->value()) );
+ params.append("#");
+ params.append( std::to_string(ui_->horizontalSliderSystemCapture->value()) );
+ params.append("#");
+ params.append( std::to_string(ui_->spinBoxDisconnect->value()) );
+ params.append("#");
+ params.append( std::to_string(ui_->spinBoxShutdown->value()) );
+ params.append("#");
+ params.append( std::to_string(ui_->spinBoxDay->value()) );
+ params.append("#");
+ params.append( std::to_string(ui_->spinBoxNight->value()) );
+ params.append("#");
if (ui_->checkBoxGPIO->isChecked()) {
- system((std::string("/usr/local/bin/autoapp_helper setgpios ") + std::string("1 ") + std::string(ui_->comboBoxDevMode->currentText().toStdString() + " ") + std::string(ui_->comboBoxInvert->currentText().toStdString() + " ") + std::string(ui_->comboBoxX11->currentText().toStdString() + " ") + std::string(ui_->comboBoxRearcam->currentText().toStdString() + " ") + std::string(ui_->comboBoxAndroid->currentText().toStdString()) ).c_str());
+ params.append("1");
} else {
- system((std::string("/usr/local/bin/autoapp_helper setgpios ") + std::string("0 ") + std::string(ui_->comboBoxDevMode->currentText().toStdString() + " ") + std::string(ui_->comboBoxInvert->currentText().toStdString() + " ") + std::string(ui_->comboBoxX11->currentText().toStdString() + " ") + std::string(ui_->comboBoxRearcam->currentText().toStdString() + " ") + std::string(ui_->comboBoxAndroid->currentText().toStdString()) ).c_str());
+ params.append("0");
}
-
+ params.append("#");
+ params.append( std::string(ui_->comboBoxDevMode->currentText().toStdString()) );
+ params.append("#");
+ params.append( std::string(ui_->comboBoxInvert->currentText().toStdString()) );
+ params.append("#");
+ params.append( std::string(ui_->comboBoxX11->currentText().toStdString()) );
+ params.append("#");
+ params.append( std::string(ui_->comboBoxRearcam->currentText().toStdString()) );
+ params.append("#");
+ params.append( std::string(ui_->comboBoxAndroid->currentText().toStdString()) );
+ params.append("#");
if (ui_->radioButtonX11->isChecked()) {
- system((std::string("/usr/local/bin/autoapp_helper setmode 1")).c_str());
+ params.append("1");
} else {
- system((std::string("/usr/local/bin/autoapp_helper setmode 0")).c_str());
+ params.append("0");
}
-
+ params.append("#");
if (ui_->radioButtonScreenRotated->isChecked()) {
- system((std::string("/usr/local/bin/autoapp_helper setflip 1")).c_str());
+ params.append("1");
} else {
- system((std::string("/usr/local/bin/autoapp_helper setflip 0")).c_str());
+ params.append("0");
}
- system((std::string("/usr/local/bin/autoapp_helper setoutput ") + std::string("'") + std::string(ui_->comboBoxPulseOutput->currentText().toStdString()) + std::string("'") ).c_str());
- system((std::string("/usr/local/bin/autoapp_helper setinput ") + std::string("'") + std::string(ui_->comboBoxPulseInput->currentText().toStdString()) + std::string("'") ).c_str());
+ params.append("#");
+ params.append( std::string("'") + std::string(ui_->comboBoxPulseOutput->currentText().toStdString()) + std::string("'") );
+ params.append("#");
+ params.append( std::string("'") + std::string(ui_->comboBoxPulseInput->currentText().toStdString()) + std::string("'") );
+ system((std::string("/usr/local/bin/autoapp_helper setparams#") + std::string(params) + std::string(" &") ).c_str());
this->close();
}
@@ -274,217 +297,127 @@ void SettingsWindow::onUpdateSystemCapture(int value)
void SettingsWindow::loadSystemValues()
{
- // Get version string
- QFileInfo vFile("/etc/crankshaft.build");
- if (vFile.exists()) {
- QFile versionFile(QString("/etc/crankshaft.build"));
- versionFile.open(QIODevice::ReadOnly);
- QTextStream data_version(&versionFile);
- QString valueversion = data_version.readAll();
- versionFile.close();
- ui_->valueSystemVersion->setText(valueversion);
- } else {
- ui_->valueSystemVersion->setText("");
- }
+ // Generate param file
+ system("/usr/local/bin/autoapp_helper getparams");
- // Get date string
- QFileInfo dFile("/etc/crankshaft.date");
- if (dFile.exists()) {
- QFile dateFile(QString("/etc/crankshaft.date"));
- dateFile.open(QIODevice::ReadOnly);
- QTextStream data_date(&dateFile);
- QString valuedate = data_date.readAll();
- dateFile.close();
- ui_->valueSystemBuildDate->setText(valuedate);
- } else {
- ui_->valueSystemBuildDate->setText("");
- }
-
- system("/usr/local/bin/autoapp_helper getvolume");
- QFileInfo rFile("/tmp/return_value");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QString currentvol = data_return.readAll();
- returnFile.close();
- ui_->labelSystemVolumeValue->setText(currentvol);
- ui_->horizontalSliderSystemVolume->setValue(currentvol.toInt());
- }
-
- system("/usr/local/bin/autoapp_helper getcapvolume");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QString currentcapvol = data_return.readAll();
- returnFile.close();
- ui_->labelSystemCaptureValue->setText(currentcapvol);
- ui_->horizontalSliderSystemCapture->setValue(currentcapvol.toInt());
- }
-
- system("/usr/local/bin/autoapp_helper getfreemem");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QString currentmem = data_return.readAll();
- returnFile.close();
- ui_->valueSystemFreeMem->setText(currentmem);
- }
-
- system("/usr/local/bin/autoapp_helper getcpufreq");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QString currentfreq = data_return.readAll();
- returnFile.close();
- ui_->valueSystemCPUFreq->setText(currentfreq);
- }
-
- system("/usr/local/bin/autoapp_helper getcputemp");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QString cputemp = data_return.readAll();
- returnFile.close();
- ui_->valueSystemCPUTemp->setText(cputemp);
- }
-
- system("/usr/local/bin/autoapp_helper getshutdown");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList shutdowntimer = data_return.readAll().split("-");;
- returnFile.close();
- ui_->spinBoxShutdown->setValue(shutdowntimer[0].toInt());
- ui_->valueShutdownTimer->setText(shutdowntimer[1]);
- }
-
- system("/usr/local/bin/autoapp_helper getdisconnect");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList disconnecttimer = data_return.readAll().split("-");;
- returnFile.close();
- ui_->spinBoxDisconnect->setValue(disconnecttimer[0].toInt());
- ui_->valueDisconnectTimer->setText(disconnecttimer[1]);
- }
-
- system("/usr/local/bin/autoapp_helper getgpios");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList gpiosetup = data_return.readAll().split(" ");
- returnFile.close();
- if (gpiosetup[0] == "1") {
+ // read param file
+ QFileInfo paramFile("/tmp/return_value");
+ if (paramFile.exists()) {
+ QFile paramFile(QString("/tmp/return_value"));
+ paramFile.open(QIODevice::ReadOnly);
+ QTextStream data_param(¶mFile);
+ QStringList getparams = data_param.readAll().split("#");
+ paramFile.close();
+ // version string
+ ui_->valueSystemVersion->setText(getparams[0]);
+ // date string
+ ui_->valueSystemBuildDate->setText(getparams[1]);
+ // set volume
+ ui_->labelSystemVolumeValue->setText(getparams[2]);
+ ui_->horizontalSliderSystemVolume->setValue(getparams[2].toInt());
+ // set cap volume
+ ui_->labelSystemCaptureValue->setText(getparams[3]);
+ ui_->horizontalSliderSystemCapture->setValue(getparams[3].toInt());
+ // set shutdown
+ ui_->valueShutdownTimer->setText(getparams[4]);
+ ui_->spinBoxShutdown->setValue(getparams[5].toInt());
+ // set disconnect
+ ui_->valueDisconnectTimer->setText(getparams[6]);
+ ui_->spinBoxDisconnect->setValue(getparams[7].toInt());
+ // set day/night
+ ui_->spinBoxDay->setValue(getparams[8].toInt());
+ ui_->spinBoxNight->setValue(getparams[9].toInt());
+ // set gpios
+ if (getparams[10] == "1") {
ui_->checkBoxGPIO->setChecked(true);
} else {
ui_->checkBoxGPIO->setChecked(false);
}
- ui_->comboBoxDevMode->setCurrentText(gpiosetup[1]);
- ui_->comboBoxInvert->setCurrentText(gpiosetup[2]);
- ui_->comboBoxX11->setCurrentText(gpiosetup[3]);
- ui_->comboBoxRearcam->setCurrentText(gpiosetup[4]);
- ui_->comboBoxAndroid->setCurrentText(gpiosetup[5]);
- }
-
- system("/usr/local/bin/autoapp_helper getmodeflip");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList modeflip = data_return.readAll().split(" ");
- returnFile.close();
- if (modeflip[0] == "0") {
+ ui_->comboBoxDevMode->setCurrentText(getparams[11]);
+ ui_->comboBoxInvert->setCurrentText(getparams[12]);
+ ui_->comboBoxX11->setCurrentText(getparams[13]);
+ ui_->comboBoxRearcam->setCurrentText(getparams[14]);
+ ui_->comboBoxAndroid->setCurrentText(getparams[15]);
+ // set mode
+ if (getparams[16] == "0") {
ui_->radioButtonEGL->setChecked(true);
} else {
ui_->radioButtonX11->setChecked(true);
}
- if (modeflip[1] == "0") {
+ // set rotation
+ if (getparams[17] == "0") {
ui_->radioButtonScreenNormal->setChecked(true);
} else {
ui_->radioButtonScreenRotated->setChecked(true);
}
+ // set free mem
+ ui_->valueSystemFreeMem->setText(getparams[18]);
+ // set cpu freq
+ ui_->valueSystemCPUFreq->setText(getparams[19] + "MHz");
+ // set cpu temp
+ ui_->valueSystemCPUTemp->setText(getparams[20]);
- }
-
- system("/usr/local/bin/autoapp_helper getdaynight");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList daynight = data_return.readAll().split(" ");
- returnFile.close();
- ui_->spinBoxDay->setValue(daynight[0].toInt());
- ui_->spinBoxNight->setValue(daynight[1].toInt());
- }
-
- system("/usr/local/bin/autoapp_helper getoutputs");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList outputs = data_return.readAll().split("\n");
- returnFile.close();
- int cleaner = ui_->comboBoxPulseOutput->count();
- while (cleaner > 0) {
- ui_->comboBoxPulseOutput->removeItem(cleaner);
- cleaner--;
+ QFileInfo inputsFile("/tmp/get_inputs");
+ if (inputsFile.exists()) {
+ QFile inputsFile(QString("/tmp/get_inputs"));
+ inputsFile.open(QIODevice::ReadOnly);
+ QTextStream data_return(&inputsFile);
+ QStringList inputs = data_return.readAll().split("\n");
+ inputsFile.close();
+ int cleaner = ui_->comboBoxPulseInput->count();
+ while (cleaner > 0) {
+ ui_->comboBoxPulseInput->removeItem(cleaner);
+ cleaner--;
+ }
+ int indexin = inputs.count();
+ int countin = 0;
+ while (countin < indexin-1) {
+ ui_->comboBoxPulseInput->addItem(inputs[countin]);
+ countin++;
+ }
}
- int indexout = outputs.count();
- int countout = 0;
- while (countout < indexout-1) {
- ui_->comboBoxPulseOutput->addItem(outputs[countout]);
- countout++;
+
+ QFileInfo outputsFile("/tmp/get_outputs");
+ if (outputsFile.exists()) {
+ QFile outputsFile(QString("/tmp/get_outputs"));
+ outputsFile.open(QIODevice::ReadOnly);
+ QTextStream data_return(&outputsFile);
+ QStringList outputs = data_return.readAll().split("\n");
+ outputsFile.close();
+ int cleaner = ui_->comboBoxPulseOutput->count();
+ while (cleaner > 0) {
+ ui_->comboBoxPulseOutput->removeItem(cleaner);
+ cleaner--;
+ }
+ int indexout = outputs.count();
+ int countout = 0;
+ while (countout < indexout-1) {
+ ui_->comboBoxPulseOutput->addItem(outputs[countout]);
+ countout++;
+ }
}
- }
- system("/usr/local/bin/autoapp_helper getdefaultoutput");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList defoutput = data_return.readAll().split("\n");
- returnFile.close();
- ui_->comboBoxPulseOutput->setCurrentText(defoutput[0]);
- }
-
- system("/usr/local/bin/autoapp_helper getinputs");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList inputs = data_return.readAll().split("\n");
- returnFile.close();
- int cleaner = ui_->comboBoxPulseInput->count();
- while (cleaner > 0) {
- ui_->comboBoxPulseInput->removeItem(cleaner);
- cleaner--;
+ QFileInfo defaultoutputFile("/tmp/get_default_output");
+ if (defaultoutputFile.exists()) {
+ QFile defaultoutputFile(QString("/tmp/get_default_output"));
+ defaultoutputFile.open(QIODevice::ReadOnly);
+ QTextStream data_return(&defaultoutputFile);
+ QStringList defoutput = data_return.readAll().split("\n");
+ defaultoutputFile.close();
+ ui_->comboBoxPulseOutput->setCurrentText(defoutput[0]);
}
- int indexin = inputs.count();
- int countin = 0;
- while (countin < indexin-1) {
- ui_->comboBoxPulseInput->addItem(inputs[countin]);
- countin++;
+
+ QFileInfo defaultinputFile("/tmp/get_default_input");
+ if (defaultinputFile.exists()) {
+ QFile defaultinputFile(QString("/tmp/get_default_input"));
+ defaultinputFile.open(QIODevice::ReadOnly);
+ QTextStream data_return(&defaultinputFile);
+ QStringList definput = data_return.readAll().split("\n");
+ defaultinputFile.close();
+ ui_->comboBoxPulseInput->setCurrentText(definput[0]);
}
- }
- system("/usr/local/bin/autoapp_helper getdefaultinput");
- if (rFile.exists()) {
- QFile returnFile(QString("/tmp/return_value"));
- returnFile.open(QIODevice::ReadOnly);
- QTextStream data_return(&returnFile);
- QStringList definput = data_return.readAll().split("\n");
- returnFile.close();
- ui_->comboBoxPulseInput->setCurrentText(definput[0]);
}
-
}
void SettingsWindow::onShowBindings()
diff --git a/src/autoapp/UI/mainwindow.ui b/src/autoapp/UI/mainwindow.ui
index 152cfb7..4d270d1 100644
--- a/src/autoapp/UI/mainwindow.ui
+++ b/src/autoapp/UI/mainwindow.ui
@@ -641,6 +641,37 @@
25
+
+
+
+ 200
+ 368
+ 400
+ 24
+
+
+
+
+ 210
+ 24
+
+
+
+
+ Roboto
+ 14
+ 75
+ true
+ PreferAntialias
+
+
+
+ System config in progress - please wait ...
+
+
+ Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing
+
+
diff --git a/src/autoapp/UI/settingswindow.ui b/src/autoapp/UI/settingswindow.ui
index 09cd1e7..169a6ff 100644
--- a/src/autoapp/UI/settingswindow.ui
+++ b/src/autoapp/UI/settingswindow.ui
@@ -1289,7 +1289,7 @@ QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}
- Master System Playback Volume
+ Playback Volume Selected Hardware
@@ -1335,7 +1335,7 @@ QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}
- Master System Capture Volume
+ Capture Volume Selected Hardware