ATBDownloadDC: need single argument: bin-file name

This commit is contained in:
2026-02-16 14:55:30 +01:00
parent a1ad4a6605
commit 0464c2ec74
2 changed files with 29 additions and 42 deletions

View File

@@ -4,7 +4,6 @@
#include <QByteArray> #include <QByteArray>
#include <QProcess> #include <QProcess>
#include <QCommandLineParser>
#include <QStandardPaths> #include <QStandardPaths>
#include <QSettings> #include <QSettings>
#include <QDir> #include <QDir>
@@ -65,9 +64,7 @@ int main(int argc, char **argv) {
setDebugLevel(LOG_NOTICE); setDebugLevel(LOG_NOTICE);
} }
//return 0; /*
/*
CommandLineParser parser; CommandLineParser parser;
parser.process(a); parser.process(a);
parser.readSettings(); parser.readSettings();
@@ -129,21 +126,13 @@ int main(int argc, char **argv) {
printf(APP_EXTENDED_VERSION"\n"); printf(APP_EXTENDED_VERSION"\n");
return 0; return 0;
} }
*/
QString const &customerRepo
= QDir::cleanPath(workingDir + QDir::separator() + QString("customer_%1").arg(customerNr));
*/
QString const &psaDcDir = internal::customerRepoDcDir();
QString const &psaRepoRootDir = internal::customerRepoRoot();
QString const &psaRepoDir = internal::customerRepoDir();
QString const &branchName = internal::branchName();
bool debug = false; bool debug = false;
bool noaction = true; bool noaction = true;
QString workingDir;
QString libDir; QString libDir;
QString libca; QString libca;
QString workingDir;
std::unique_ptr<QSettings> settings = internal::readSettings(); std::unique_ptr<QSettings> settings = internal::readSettings();
@@ -162,37 +151,37 @@ int main(int argc, char **argv) {
settings->endGroup(); settings->endGroup();
} }
// etc/dc: located under mount-path
std::optional<QString> mountPath = System::checkForUSBStick(psaDcDir);
QFileInfo fi; QFileInfo fi;
if (mountPath.has_value()) {
fi.setFile(mountPath.value(), System::getDCFileOnUsbStick(mountPath.value()));
} else
if ((mountPath = System::checkForSDCard(psaDcDir)).has_value()) {
fi.setFile(mountPath.value(), System::getDCFileOnSDCard(mountPath.value()));
} else {
if (debug) { // ------------------- single command line argument is DC-firmware binary file -----------------
qInfo() << "using customer repository" << psaRepoDir; QStringList args = a.arguments();
} if (args.size() != 2) {
qCritical() << "ERROR: missing parameter <dc-firmware>";
std::unique_ptr<QString> c = internal::dcCandidateToInstall("/etc/dc/"); exit(1);
if (c) {
fi.setFile(*c);
if (fi.exists() == false) {
qCritical() << "dc2c.bin candidate" << *c << "does not exist. STOP.";
return -1;
}
qInfo() << "dc2c.bin canditate" << fi.absoluteFilePath();
}
} }
if (debug) { qCritical() << "------------------------------------------------------";
qInfo() << "downloading dc-firmware" << fi.absoluteFilePath(); qCritical() << "main: argument dc-firmware: " << args.at(1);
qInfo() << "dc-firmware size (bytes)" << fi.size(); qCritical() << "------------------------------------------------------";
qInfo() << "dc-version" << Update::dcVersion(fi.absoluteFilePath());
fi.setFile(args.at(1));
if (!fi.isFile()) {
qCritical() << "ERROR: parameter " << fi.absoluteFilePath() << " is not a file";
exit(1);
} }
if (!fi.isReadable()) {
qCritical() << "ERROR: parameter " << fi.absoluteFilePath() << " is not readable";
exit(1);
}
qCritical() << "------------------------------------------------------";
qCritical() << "uploading dc-firmware" << fi.absoluteFilePath();
qCritical() << "dc-firmware size (bytes)" << fi.size();
qCritical() << "dc-version" << Update::dcVersion(fi.absoluteFilePath());
qCritical() << "------------------------------------------------------";
Update u(fi.absoluteFilePath(), libca, debug, noaction); Update u(fi.absoluteFilePath(), libca, debug, noaction);
u.run(); u.run();

View File

@@ -397,9 +397,7 @@ int Update::run() {
qInfo() << "<DC-VERSION>" << Update::dcVersion(m_dcFileName); qInfo() << "<DC-VERSION>" << Update::dcVersion(m_dcFileName);
} }
if (!m_debug) { m_hw->dc_autoRequest(false);
m_hw->dc_autoRequest(false);
}
qInfo() << "DC auto request OFF"; qInfo() << "DC auto request OFF";