From 073506d2448e2c0639678e8bbbeb42223585dc48 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Thu, 13 Apr 2023 11:22:32 +0200 Subject: [PATCH] Add printer update --- main.cpp | 51 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/main.cpp b/main.cpp index a668c05..9c6a88e 100644 --- a/main.cpp +++ b/main.cpp @@ -2,9 +2,10 @@ #include #include #include +#include #include "message_handler.h" -#include "plugins/interfaces.h" +#include "interfaces.h" #include "DCPlugin/include/hwapi.h" @@ -12,11 +13,21 @@ #include #include -//static void updateDC(hwinf const *hw) { -static void updateDC(std::unique_ptr hw, - char const *fileToSendToDC, - char const *baudrate, - char const *serialInterface) { +static void updateBinary(std::unique_ptr hw, // update d2dc*.bin + char const *fileToSendToDC, + char const *baudrate, + char const *serialInterface) { + for (int i=0; i < 1;++i) { + hw->dc_updateDC(fileToSendToDC, baudrate, serialInterface); + std::this_thread::sleep_for(std::chrono::milliseconds(3000)); + } + QCoreApplication::quit(); +} + +static void updatePrinterConf(std::unique_ptr hw, // update printer-file + char const *fileToSendToDC, + char const *baudrate, + char const *serialInterface) { for (int i=0; i < 1;++i) { hw->dc_updateDC(fileToSendToDC, baudrate, serialInterface); std::this_thread::sleep_for(std::chrono::milliseconds(3000)); @@ -39,12 +50,32 @@ int main(int argc, char *argv[]) { } std::unique_ptr hw(new hwapi()); + QFileInfo fileInfo(argv[1]); + QString fname(fileInfo.fileName()); + int ret = 0; + + if (fname.startsWith("dc") && fname.endsWith(".bin")) { #ifdef PTU5 - std::thread t(updateDC, std::move(hw), argv[1], "115200", "ttymxc2"); + std::thread t(updateBinary, std::move(hw), + fname.toStdString().c_str(), "115200", "ttymxc2"); #else - std::thread t(updateDC, std::move(hw), "dc2c4.bin", "115200", "ttyUSB0"); + std::thread t(updateBinary, std::move(hw), + fname.toStdString().c_str(), "115200", "ttyUSB0"); #endif - int ret = a.exec(); - t.join(); + ret = a.exec(); + t.join(); + } else + if (fname.startsWith("DC") && fname.endsWith(".json")) { +#ifdef PTU5 + std::thread t(updatePrinterConf, std::move(hw), + fname.toStdString().c_str(), "115200", "ttymxc2"); +#else + std::thread t(updatePrinterConf, std::move(hw), + fname.toStdString().c_str(), "115200", "ttyUSB0"); +#endif + ret = a.exec(); + t.join(); + } + return ret; }