From 0464c2ec7474fc1ab6978158fd545f13e29b5694 Mon Sep 17 00:00:00 2001 From: Siegfried Siegert Date: Mon, 16 Feb 2026 14:55:30 +0100 Subject: [PATCH] ATBDownloadDC: need single argument: bin-file name --- DownloadDCFirmware/main.cpp | 67 +++++++++++++++-------------------- DownloadDCFirmware/update.cpp | 4 +-- 2 files changed, 29 insertions(+), 42 deletions(-) diff --git a/DownloadDCFirmware/main.cpp b/DownloadDCFirmware/main.cpp index 793db15..6e61707 100644 --- a/DownloadDCFirmware/main.cpp +++ b/DownloadDCFirmware/main.cpp @@ -4,7 +4,6 @@ #include #include -#include #include #include #include @@ -65,9 +64,7 @@ int main(int argc, char **argv) { setDebugLevel(LOG_NOTICE); } - //return 0; - -/* + /* CommandLineParser parser; parser.process(a); parser.readSettings(); @@ -129,21 +126,13 @@ int main(int argc, char **argv) { printf(APP_EXTENDED_VERSION"\n"); 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 noaction = true; - QString workingDir; QString libDir; QString libca; + QString workingDir; std::unique_ptr settings = internal::readSettings(); @@ -162,37 +151,37 @@ int main(int argc, char **argv) { settings->endGroup(); } - // etc/dc: located under mount-path - std::optional mountPath = System::checkForUSBStick(psaDcDir); 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) { - qInfo() << "using customer repository" << psaRepoDir; - } - - std::unique_ptr c = internal::dcCandidateToInstall("/etc/dc/"); - 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(); - } + // ------------------- single command line argument is DC-firmware binary file ----------------- + QStringList args = a.arguments(); + if (args.size() != 2) { + qCritical() << "ERROR: missing parameter "; + exit(1); } - if (debug) { - qInfo() << "downloading dc-firmware" << fi.absoluteFilePath(); - qInfo() << "dc-firmware size (bytes)" << fi.size(); - qInfo() << "dc-version" << Update::dcVersion(fi.absoluteFilePath()); + qCritical() << "------------------------------------------------------"; + qCritical() << "main: argument dc-firmware: " << args.at(1); + qCritical() << "------------------------------------------------------"; + + 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); u.run(); diff --git a/DownloadDCFirmware/update.cpp b/DownloadDCFirmware/update.cpp index 7627e31..7429607 100644 --- a/DownloadDCFirmware/update.cpp +++ b/DownloadDCFirmware/update.cpp @@ -397,9 +397,7 @@ int Update::run() { qInfo() << "" << Update::dcVersion(m_dcFileName); } - if (!m_debug) { - m_hw->dc_autoRequest(false); - } + m_hw->dc_autoRequest(false); qInfo() << "DC auto request OFF";