Compare commits
24 Commits
f346390631
...
v1.4.4
Author | SHA1 | Date | |
---|---|---|---|
24f2ba7c44 | |||
2ed6768953 | |||
a1327388bc | |||
8d18ae10fe | |||
31bc2d0fa2 | |||
175b8fd3a1 | |||
a57fa6c31e | |||
c22c924e38 | |||
bdc64920a2 | |||
7bc9fa0c04 | |||
334da1fe4a | |||
e5054582c2 | |||
bbd287c92b | |||
5c152c9dc2 | |||
367ffaa3a1 | |||
2fd004f249 | |||
721a156fce | |||
b7576d04e1 | |||
753954ecd7 | |||
df7cabe2c1 | |||
cfca8d2ef4 | |||
829932f29d | |||
8968667c23 | |||
a5e0154757 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
tags
|
tags
|
||||||
*.tags
|
*.tags
|
||||||
|
*.user
|
||||||
|
@@ -6,7 +6,7 @@ plugin-directory="/usr/lib/"
|
|||||||
working-directory="/opt/app/tools/atbupdate/"
|
working-directory="/opt/app/tools/atbupdate/"
|
||||||
|
|
||||||
[PLUGINS]
|
[PLUGINS]
|
||||||
plugin-name="libCAmaster.so"
|
plugin-name="libCAslave.so"
|
||||||
|
|
||||||
[FLAGS]
|
[FLAGS]
|
||||||
no-psa-hardware-update=false
|
no-psa-hardware-update=false
|
||||||
|
@@ -34,6 +34,11 @@ contains( CONFIG, PTU5 ) {
|
|||||||
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
||||||
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
||||||
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||||
|
PTU5BASEPATH = /opt/devel/ptu5
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PTU5BASEPATH/qt/libs/devicecontroller/include
|
||||||
|
LIBS += -L$$PTU5BASEPATH/qt/libs/devicecontroller/library
|
||||||
|
|
||||||
ARCH = PTU5
|
ARCH = PTU5
|
||||||
DEFINES+=PTU5
|
DEFINES+=PTU5
|
||||||
}
|
}
|
||||||
|
@@ -39,6 +39,12 @@ contains( CONFIG, PTU5 ) {
|
|||||||
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
||||||
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
||||||
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||||
|
|
||||||
|
PTU5BASEPATH = /opt/devel/ptu5
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PTU5BASEPATH/qt/libs/devicecontroller/include
|
||||||
|
LIBS += -L$$PTU5BASEPATH/qt/libs/devicecontroller/library
|
||||||
|
|
||||||
ARCH = PTU5
|
ARCH = PTU5
|
||||||
DEFINES+=PTU5
|
DEFINES+=PTU5
|
||||||
}
|
}
|
||||||
@@ -72,7 +78,6 @@ SOURCES += \
|
|||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
message_handler.h \
|
message_handler.h \
|
||||||
plugins/interfaces.h \
|
|
||||||
process/command.h
|
process/command.h
|
||||||
|
|
||||||
OTHER_FILES += \
|
OTHER_FILES += \
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
#include <QByteArray>
|
#include <QByteArray>
|
||||||
|
|
||||||
#include "message_handler.h"
|
#include "message_handler.h"
|
||||||
#include "plugins/interfaces.h"
|
#include <DeviceController/interfaces.h>
|
||||||
|
|
||||||
|
|
||||||
//#include <unistd.h>
|
//#include <unistd.h>
|
||||||
@@ -34,7 +34,7 @@ int main(int argc, char **argv) {
|
|||||||
setDebugLevel(LOG_NOTICE);
|
setDebugLevel(LOG_NOTICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
int r = std::system("ls -l /proc/[0-9]*/fd/* 2>/dev/null | grep /dev/ttymxc2 > /tmp/slave-or-master.txt");
|
// int r = std::system("ls -l /proc/[0-9]*/fd/* 2>/dev/null | grep /dev/ttymxc2 > /tmp/slave-or-master.txt");
|
||||||
// lrwx------ 1 root root 64 Oct 31 14:55 /proc/884/fd/18 -> /dev/ttymxc2
|
// lrwx------ 1 root root 64 Oct 31 14:55 /proc/884/fd/18 -> /dev/ttymxc2
|
||||||
|
|
||||||
//std::ifstream ifs("/tmp/slave-or-master.txt");
|
//std::ifstream ifs("/tmp/slave-or-master.txt");
|
||||||
|
@@ -105,7 +105,11 @@ DEFINES += QT_DEPRECATED_WARNINGS
|
|||||||
# checking of the ISMAS-trigger-button (aka WAIT-button).
|
# checking of the ISMAS-trigger-button (aka WAIT-button).
|
||||||
# 1.4.1 : Sync files in the customer repository (under ./etc) as the very
|
# 1.4.1 : Sync files in the customer repository (under ./etc) as the very
|
||||||
# first step
|
# first step
|
||||||
VERSION="1.4.1"
|
# 1.4.2 : Do not check if <repo_dir>/etc/psa_tariff and /etc/psa_tariff are
|
||||||
|
# the same after an rsync. They might be noy after a change of the
|
||||||
|
# customer-number.
|
||||||
|
# 1.4.3 : Use global directory for device-controller interfaces.h-file.
|
||||||
|
VERSION="1.4.3"
|
||||||
# PLANNED TODOS:
|
# PLANNED TODOS:
|
||||||
# 1: Das Repository wird repariert bwz. neu geklont. Unabhaengig vom WAIT.
|
# 1: Das Repository wird repariert bwz. neu geklont. Unabhaengig vom WAIT.
|
||||||
# 2: Wenn der WAIT-Button aktiv ist, dann wird ein Repository repariert (neu
|
# 2: Wenn der WAIT-Button aktiv ist, dann wird ein Repository repariert (neu
|
||||||
@@ -194,6 +198,12 @@ contains( CONFIG, PTU5 ) {
|
|||||||
CONFIG += link_pkgconfig
|
CONFIG += link_pkgconfig
|
||||||
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
lessThan(QT_MAJOR_VERSION, 5): PKGCONFIG += qextserialport
|
||||||
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
QMAKE_CXXFLAGS += -O2 -std=c++17 # for GCC >= 4.7
|
||||||
|
|
||||||
|
PTU5BASEPATH = /opt/devel/ptu5
|
||||||
|
|
||||||
|
INCLUDEPATH += $$PTU5BASEPATH/qt/libs/devicecontroller/include
|
||||||
|
LIBS += -L$$PTU5BASEPATH/qt/libs/devicecontroller/library
|
||||||
|
|
||||||
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
# QMAKE_CXXFLAGS += -Wno-deprecated-copy
|
||||||
ARCH = PTU5
|
ARCH = PTU5
|
||||||
DEFINES+=PTU5
|
DEFINES+=PTU5
|
||||||
@@ -206,8 +216,8 @@ contains( CONFIG, PTU5_YOCTO ) {
|
|||||||
ARCH = PTU5
|
ARCH = PTU5
|
||||||
DEFINES+=PTU5
|
DEFINES+=PTU5
|
||||||
|
|
||||||
# add qmqtt lib
|
LIBS += -lCAslave
|
||||||
#LIBS += -lQt5Qmqtt
|
LIBS += -lCAmaster
|
||||||
}
|
}
|
||||||
contains( CONFIG, DesktopLinux ) {
|
contains( CONFIG, DesktopLinux ) {
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
|
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport
|
||||||
@@ -247,9 +257,7 @@ HEADERS += \
|
|||||||
process/command.h \
|
process/command.h \
|
||||||
message_handler.h \
|
message_handler.h \
|
||||||
worker.h \
|
worker.h \
|
||||||
interfaces.h \
|
commandline_parser.h
|
||||||
commandline_parser.h \
|
|
||||||
plugins/interfaces.h
|
|
||||||
|
|
||||||
OTHER_FILES += \
|
OTHER_FILES += \
|
||||||
ATBUpdateTool.ini
|
ATBUpdateTool.ini
|
||||||
|
@@ -316,6 +316,31 @@ std::optional<QString> GitClient::gitPull() {
|
|||||||
// 6ed893f..5d9882c zg1/zone2 -> origin/zg1/zone2
|
// 6ed893f..5d9882c zg1/zone2 -> origin/zg1/zone2
|
||||||
// 4384d17..77045d8 zg1/zone3 -> origin/zg1/zone3
|
// 4384d17..77045d8 zg1/zone3 -> origin/zg1/zone3
|
||||||
// 89d2812..36a0d74 zg1/zone5 -> origin/zg1/zone5
|
// 89d2812..36a0d74 zg1/zone5 -> origin/zg1/zone5
|
||||||
|
//
|
||||||
|
// More exactly:
|
||||||
|
// remote: Counting objects: 382, done.
|
||||||
|
// remote: Compressing objects: 100% (203/203), done.
|
||||||
|
// remote: Total 278 (delta 177), reused 103 (delta 59)
|
||||||
|
// Receiving objects: 100% (278/278), 4.89 MiB | 539 KiB/s, done.
|
||||||
|
// Resolving deltas: 100% (177/177), completed with 40 local objects.
|
||||||
|
// From ssh://longair@pacific.mpi-cbg.de/srv/git/fiji
|
||||||
|
// 3036acc..9eb5e40 debian-release-20081030 -> origin/debian-release-20081030
|
||||||
|
// * [new branch] debian-release-20081112 -> origin/debian-release-20081112
|
||||||
|
// * [new branch] debian-release-20081112.1 -> origin/debian-release-20081112.1
|
||||||
|
// 3d619e7..6260626 master -> origin/master
|
||||||
|
//
|
||||||
|
// The most important bits here are the lines like these:
|
||||||
|
//
|
||||||
|
// 3036acc..9eb5e40 debian-release-20081030 -> origin/debian-release-20081030
|
||||||
|
// * [new branch] debian-release-20081112 -> origin/debian-release-20081112
|
||||||
|
//
|
||||||
|
// The first line of these two shows that your remote-tracking branch
|
||||||
|
// origin/debian-release-20081030 has been advanced from the commit 3036acc to 9eb5e40.
|
||||||
|
// The bit before the arrow is the name of the branch in the remote repository.
|
||||||
|
// The second line similarly show that since we last did this, a new remote tracking
|
||||||
|
// branch has been created. (git fetch may also fetch new tags if they have appeared
|
||||||
|
// in the remote repository.)
|
||||||
|
|
||||||
bool found = false;
|
bool found = false;
|
||||||
for (int i=0; i < lines.size(); ++i) {
|
for (int i=0; i < lines.size(); ++i) {
|
||||||
if (lines.at(i).contains(m_branchName)) {
|
if (lines.at(i).contains(m_branchName)) {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -9,7 +9,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "message_handler.h"
|
#include "message_handler.h"
|
||||||
#include "plugins/interfaces.h"
|
#include <DeviceController/interfaces.h>
|
||||||
#include "commandline_parser.h"
|
#include "commandline_parser.h"
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "progress_event.h"
|
#include "progress_event.h"
|
||||||
#include "update_dc_event.h"
|
#include "update_dc_event.h"
|
||||||
#include "plugins/interfaces.h"
|
#include <DeviceController/interfaces.h>
|
||||||
|
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -18,7 +18,7 @@
|
|||||||
#include "unistd.h"
|
#include "unistd.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "plugins/interfaces.h"
|
#include <DeviceController/interfaces.h>
|
||||||
|
|
||||||
#include <QSharedMemory>
|
#include <QSharedMemory>
|
||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
@@ -140,6 +140,7 @@ Update::Update(Worker *worker,
|
|||||||
qCritical() << "(" << __func__ << ":" << __LINE__ << ") m_sys_areDCDataValid ..."
|
qCritical() << "(" << __func__ << ":" << __LINE__ << ") m_sys_areDCDataValid ..."
|
||||||
<< m_sys_areDCdataValid;
|
<< m_sys_areDCdataValid;
|
||||||
|
|
||||||
|
#if 0
|
||||||
QObject const *obj = m_hw->getAPI();
|
QObject const *obj = m_hw->getAPI();
|
||||||
Q_ASSERT(obj != nullptr);
|
Q_ASSERT(obj != nullptr);
|
||||||
|
|
||||||
@@ -167,6 +168,7 @@ Update::Update(Worker *worker,
|
|||||||
SLOT(onReportDCDownloadFailure(QString const &)))) {
|
SLOT(onReportDCDownloadFailure(QString const &)))) {
|
||||||
critical << "FAILED";
|
critical << "FAILED";
|
||||||
} else critical << "DONE";
|
} else critical << "DONE";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,17 +400,26 @@ bool Update::downloadJson(enum FileTypeJson type,
|
|||||||
qDebug() << "SET AUTO-REQUEST=TRUE";
|
qDebug() << "SET AUTO-REQUEST=TRUE";
|
||||||
QThread::sleep(1); // make sure the auto-request flag is acknowledged
|
QThread::sleep(1); // make sure the auto-request flag is acknowledged
|
||||||
|
|
||||||
|
QStringList lst;
|
||||||
bool ready = false;
|
bool ready = false;
|
||||||
int nTry = 25;
|
int nTry = 25;
|
||||||
while ((ready = m_hw->sys_ready4sending()) == false) {
|
while ((ready = m_hw->sys_ready4sending()) == false) {
|
||||||
QThread::msleep(200);
|
QThread::msleep(200);
|
||||||
if (--nTry <= 0) {
|
if (--nTry <= 0) {
|
||||||
Utils::printCriticalErrorMsg("SYS NOT READY FOR SENDING AFTER 5 SECONDS");
|
QString msg("SYS NOT READY FOR SENDING AFTER 5 SECONDS");
|
||||||
|
Utils::printCriticalErrorMsg(msg);
|
||||||
|
lst << msg;
|
||||||
|
|
||||||
|
if (m_worker) {
|
||||||
|
m_worker->ISMAS(lst) << (m_worker->GUI(lst) << (m_worker->CONSOLE(lst) << Worker::UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
QString msg;
|
||||||
|
lst.clear();
|
||||||
if (ready) {
|
if (ready) {
|
||||||
QFile file(jsFileToSendToDC);
|
QFile file(jsFileToSendToDC);
|
||||||
QFileInfo fi(jsFileToSendToDC); // max. size of template file is 800 bytes
|
QFileInfo fi(jsFileToSendToDC); // max. size of template file is 800 bytes
|
||||||
@@ -450,20 +461,48 @@ bool Update::downloadJson(enum FileTypeJson type,
|
|||||||
qCritical() << length << "MACHINE ID =" << ba.toHex(':');
|
qCritical() << length << "MACHINE ID =" << ba.toHex(':');
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (m_worker) {
|
||||||
|
m_worker->ISMAS(lst) << (m_worker->GUI(lst) << (m_worker->CONSOLE(lst) << Worker::UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE));
|
||||||
|
}
|
||||||
|
|
||||||
ret = true;
|
ret = true;
|
||||||
|
} else {
|
||||||
|
msg = QString("ERROR SEND JSON-FILE %1 TO DC").arg(file.fileName());
|
||||||
|
Utils::printCriticalErrorMsg(msg);
|
||||||
|
lst << msg;
|
||||||
|
if (m_worker) {
|
||||||
|
m_worker->ISMAS(lst) << (m_worker->GUI(lst) << (m_worker->CONSOLE(lst)
|
||||||
|
<< Worker::UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Utils::printCriticalErrorMsg(
|
msg = QString("SIZE OF %1 TOO BIG (%2 BYTES)").arg(jsFileToSendToDC).arg(fi.size());
|
||||||
QString("SIZE OF %1 TOO BIG (%2 BYTES)")
|
Utils::printCriticalErrorMsg(msg);
|
||||||
.arg(jsFileToSendToDC).arg(fi.size()));
|
lst << msg;
|
||||||
|
if (m_worker) {
|
||||||
|
m_worker->ISMAS(lst) << (m_worker->GUI(lst) << (m_worker->CONSOLE(lst)
|
||||||
|
<< Worker::UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Utils::printCriticalErrorMsg(
|
msg = QString("CAN NOT OPEN ") + jsFileToSendToDC + " FOR READING";
|
||||||
QString("CAN NOT OPEN ") + jsFileToSendToDC + " FOR READING");
|
Utils::printCriticalErrorMsg(msg);
|
||||||
|
lst << msg;
|
||||||
|
|
||||||
|
if (m_worker) {
|
||||||
|
m_worker->ISMAS(lst) << (m_worker->GUI(lst) << (m_worker->CONSOLE(lst)
|
||||||
|
<< Worker::UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Utils::printCriticalErrorMsg(
|
msg = QString(jsFileToSendToDC) + " DOES NOT EXIST";
|
||||||
QString(jsFileToSendToDC) + " DOES NOT EXIST");
|
Utils::printCriticalErrorMsg(msg);
|
||||||
|
lst << msg;
|
||||||
|
|
||||||
|
if (m_worker) {
|
||||||
|
m_worker->ISMAS(lst) << (m_worker->GUI(lst) << (m_worker->CONSOLE(lst)
|
||||||
|
<< Worker::UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -644,6 +683,7 @@ bool Update::doUpdate(int &displayIndex, QStringList const &filesToWorkOn) {
|
|||||||
m_worker->startProgressLoop();
|
m_worker->startProgressLoop();
|
||||||
QString const &fToWorkOn = QDir::cleanPath(m_customerRepository + QDir::separator() + it->trimmed());
|
QString const &fToWorkOn = QDir::cleanPath(m_customerRepository + QDir::separator() + it->trimmed());
|
||||||
if (fToWorkOn.endsWith("/dc2c.bin") && dcDownloadPossible) {
|
if (fToWorkOn.endsWith("/dc2c.bin") && dcDownloadPossible) {
|
||||||
|
#if 0
|
||||||
// download for dc possible only once
|
// download for dc possible only once
|
||||||
// download of device-controller should always be the last step
|
// download of device-controller should always be the last step
|
||||||
dcDownloadPossible = false;
|
dcDownloadPossible = false;
|
||||||
@@ -709,7 +749,7 @@ bool Update::doUpdate(int &displayIndex, QStringList const &filesToWorkOn) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
bool updateBinaryRes = true;
|
bool updateBinaryRes = true;
|
||||||
|
|
||||||
// CONSOLE()
|
// CONSOLE()
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QPluginLoader>
|
#include <QPluginLoader>
|
||||||
|
|
||||||
#include "plugins/interfaces.h"
|
#include <DeviceController/interfaces.h>
|
||||||
|
|
||||||
#ifdef PTU5
|
#ifdef PTU5
|
||||||
#define SERIAL_PORT "ttymxc2"
|
#define SERIAL_PORT "ttymxc2"
|
||||||
|
@@ -277,21 +277,24 @@ bool Utils::sameFilesInDirs(QDir const &dir1, QDir const &dir2,
|
|||||||
fileNameLst2 << i2.next().fileName();
|
fileNameLst2 << i2.next().fileName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString dirPath1 = dir1.absolutePath();
|
||||||
|
QString dirPath2 = dir2.absolutePath();
|
||||||
|
|
||||||
if (fileNameLst1.isEmpty()) {
|
if (fileNameLst1.isEmpty()) {
|
||||||
qCritical() << "DIR1" << dir1.dirName() << " DOES NOT CONTAIN EXPECTED FILES";
|
qCritical() << "DIR1" << dirPath1 << " DOES NOT CONTAIN EXPECTED FILES";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (fileNameLst2.isEmpty()) {
|
if (fileNameLst2.isEmpty()) {
|
||||||
qCritical() << "DIR1" << dir2.dirName() << " DOES NOT CONTAIN EXPECTED FILES";
|
qCritical() << "DIR1" << dirPath2 << " DOES NOT CONTAIN EXPECTED FILES";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (fileNameLst1 != fileNameLst2) {
|
if (fileNameLst1 != fileNameLst2) {
|
||||||
printCriticalErrorMsg(dir1.dirName() + " AND " + dir2.dirName()
|
printCriticalErrorMsg(dirPath1 + " AND " + dirPath2
|
||||||
+ " DIFFER: [" + fileNameLst1.join(',') + "],["
|
+ " DIFFER: [" + fileNameLst1.join(',') + "],["
|
||||||
+ fileNameLst2.join(',') + "]");
|
+ fileNameLst2.join(',') + "]");
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
printInfoMsg(dir1.dirName() + " AND " + dir2.dirName()
|
printInfoMsg(dirPath1 + " AND " + dirPath2
|
||||||
+ " ARE EQUAL: [" + fileNameLst1.join(',') + "]");
|
+ " ARE EQUAL: [" + fileNameLst1.join(',') + "]");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -307,21 +310,21 @@ bool Utils::sameFilesInDirs(QDir const &dir1, QDir const &dir2,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (gitBlobLst1.isEmpty()) {
|
if (gitBlobLst1.isEmpty()) {
|
||||||
qCritical() << "DIR1" << dir1.dirName() << " DOES NOT CONTAIN EXPECTED FILES";
|
qCritical() << "DIR1" << dirPath1 << " DOES NOT CONTAIN EXPECTED FILES";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (gitBlobLst2.isEmpty()) {
|
if (gitBlobLst2.isEmpty()) {
|
||||||
qCritical() << "DIR1" << dir2.dirName() << " DOES NOT CONTAIN EXPECTED FILES";
|
qCritical() << "DIR1" << dirPath2 << " DOES NOT CONTAIN EXPECTED FILES";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gitBlobLst1 != gitBlobLst2) {
|
if (gitBlobLst1 != gitBlobLst2) {
|
||||||
printCriticalErrorMsg(dir1.dirName() + " AND " + dir2.dirName()
|
printCriticalErrorMsg(dirPath1 + " AND " + dirPath2
|
||||||
+ " DIFFER: [" + gitBlobLst1.join(',') + "],["
|
+ " DIFFER: [" + gitBlobLst1.join(',') + "],["
|
||||||
+ gitBlobLst2.join(',') + "]");
|
+ gitBlobLst2.join(',') + "]");
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
printInfoMsg(dir1.dirName() + " AND " + dir2.dirName()
|
printInfoMsg(dirPath1 + " AND " + dirPath2
|
||||||
+ " CONTAIN SAME GIT-BLOBS FOR FILES: [" + fileNameLst1.join(',') + "]");
|
+ " CONTAIN SAME GIT-BLOBS FOR FILES: [" + fileNameLst1.join(',') + "]");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
|
|
||||||
#include "message_handler.h"
|
#include "message_handler.h"
|
||||||
#include "plugins/interfaces.h"
|
#include <DeviceController/interfaces.h>
|
||||||
#include "ismas/ismas_client.h"
|
#include "ismas/ismas_client.h"
|
||||||
#include "progress_event.h"
|
#include "progress_event.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
@@ -439,17 +439,6 @@ void Worker::privateUpdate() {
|
|||||||
ISMAS(lst) << (CONSOLE(lst) << UPDATE_STEP::CHECKOUT_BRANCH);
|
ISMAS(lst) << (CONSOLE(lst) << UPDATE_STEP::CHECKOUT_BRANCH);
|
||||||
setProgress(_CHECKOUT_BRANCH_SUCCESS);
|
setProgress(_CHECKOUT_BRANCH_SUCCESS);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// (R)SYNC THE REPOSITORY WITH THE LOCAL FILEYSTEM
|
|
||||||
//
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
|
||||||
if ((continueUpdate = syncCustomerRepositoryAndFS()) == false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
lst = QStringList(QString(smap[UPDATE_STEP::SYNC_CUSTOMER_REPOSITORY_SUCCESS]));
|
|
||||||
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << UPDATE_STEP::SYNC_CUSTOMER_REPOSITORY_SUCCESS));
|
|
||||||
setProgress(_SYNC_CUSTOMER_REPOSITORY_SUCCESS);
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
@@ -464,6 +453,18 @@ void Worker::privateUpdate() {
|
|||||||
ISMAS() << (GUI() << (CONSOLE() << UPDATE_STEP::UPDATE_REPOSITORY));
|
ISMAS() << (GUI() << (CONSOLE() << UPDATE_STEP::UPDATE_REPOSITORY));
|
||||||
setProgress(_UPDATE_REPOSITORY_SUCCESS);
|
setProgress(_UPDATE_REPOSITORY_SUCCESS);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// (R)SYNC THE REPOSITORY WITH THE LOCAL FILEYSTEM
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
if ((continueUpdate = syncCustomerRepositoryAndFS()) == false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lst = QStringList(QString(smap[UPDATE_STEP::SYNC_CUSTOMER_REPOSITORY_SUCCESS]));
|
||||||
|
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << UPDATE_STEP::SYNC_CUSTOMER_REPOSITORY_SUCCESS));
|
||||||
|
setProgress(_SYNC_CUSTOMER_REPOSITORY_SUCCESS);
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
@@ -518,6 +519,8 @@ bool Worker::updateTriggerSet() {
|
|||||||
|
|
||||||
GUI() << (CONSOLE() << UPDATE_STEP::CHECK_ISMAS_TRIGGER);
|
GUI() << (CONSOLE() << UPDATE_STEP::CHECK_ISMAS_TRIGGER);
|
||||||
|
|
||||||
|
bool const automaticUpdate = (QDateTime::currentDateTime().time().hour() < 4);
|
||||||
|
|
||||||
QString triggerValue("NOT CHECKED YET");
|
QString triggerValue("NOT CHECKED YET");
|
||||||
static constexpr int const repeats = 15;
|
static constexpr int const repeats = 15;
|
||||||
for (int repeat = 1; repeat <= repeats; ++repeat) {
|
for (int repeat = 1; repeat <= repeats; ++repeat) {
|
||||||
@@ -639,9 +642,17 @@ bool Worker::updateTriggerSet() {
|
|||||||
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE)));
|
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE)));
|
||||||
// if the customer repository has just been cloned
|
// if the customer repository has just been cloned
|
||||||
return false; // it is OK the ISMAS trigger might not be 'WAIT'
|
return false; // it is OK the ISMAS trigger might not be 'WAIT'
|
||||||
} else {
|
|
||||||
CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
// not a clone and empty update-trigger
|
||||||
|
if (automaticUpdate) {
|
||||||
|
// do not inform ISMAS in case of automatic update, because the
|
||||||
|
// update is not necessary as the trigger-button is not set to WAIT.
|
||||||
|
GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_FAILURE);
|
||||||
|
|
||||||
QThread::sleep(6);
|
QThread::sleep(6);
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
@@ -649,11 +660,21 @@ bool Worker::updateTriggerSet() {
|
|||||||
if (m_clone) {
|
if (m_clone) {
|
||||||
m_ismasTriggerStatusMessage = QStringList(QString("TRIGGER-VALUE='%1' != 'WAIT'").arg(triggerValue));
|
m_ismasTriggerStatusMessage = QStringList(QString("TRIGGER-VALUE='%1' != 'WAIT'").arg(triggerValue));
|
||||||
QStringList lst = m_ismasTriggerStatusMessage;
|
QStringList lst = m_ismasTriggerStatusMessage;
|
||||||
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE)));
|
if (automaticUpdate) {
|
||||||
|
// do not inform ISMAS in case of automatic update
|
||||||
|
GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE));
|
||||||
|
} else {
|
||||||
|
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE)));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
m_ismasTriggerStatusMessage = QStringList(QString("TRIGGER-VALUE='%1' != 'WAIT'").arg(triggerValue));
|
m_ismasTriggerStatusMessage = QStringList(QString("TRIGGER-VALUE='%1' != 'WAIT'").arg(triggerValue));
|
||||||
QStringList lst = m_ismasTriggerStatusMessage;
|
QStringList lst = m_ismasTriggerStatusMessage;
|
||||||
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_FAILURE)));
|
if (automaticUpdate) {
|
||||||
|
// do not inform ISMAS in case of automatic update
|
||||||
|
GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE));
|
||||||
|
} else {
|
||||||
|
ISMAS(lst) << (GUI(lst) << (CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::CHECK_ISMAS_TRIGGER_FAILURE)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -908,7 +929,7 @@ bool Worker::downloadFilesToPSAHardware() {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
CONSOLE(QStringList("NO FILES TO DOWNLOAD TO PSA-HW")) << (m_lastFailedUpdateStep = UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE_FAILURE);
|
CONSOLE(lst) << (m_lastFailedUpdateStep = UPDATE_STEP::DOWNLOAD_FILES_TO_PSA_HARDWARE_FAILURE);
|
||||||
setProgress(_DOWNLOAD_FILES_TO_PSA_HARDWARE_FAILURE);
|
setProgress(_DOWNLOAD_FILES_TO_PSA_HARDWARE_FAILURE);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -991,10 +1012,12 @@ bool Worker::syncCustomerRepositoryAndFS() {
|
|||||||
QDir dir1(QDir::cleanPath(m_customerRepository + QDir::separator() + "etc/psa_tariff"));
|
QDir dir1(QDir::cleanPath(m_customerRepository + QDir::separator() + "etc/psa_tariff"));
|
||||||
QDir dir2("/etc/psa_tariff");
|
QDir dir2("/etc/psa_tariff");
|
||||||
if (Utils::sameFilesInDirs(dir1, dir2)) {
|
if (Utils::sameFilesInDirs(dir1, dir2)) {
|
||||||
CONSOLE() << UPDATE_STEP::SYNC_CUSTOMER_REPOSITORY_SUCCESS;
|
CONSOLE() << QDir::cleanPath(m_customerRepository + QDir::separator() + "etc/psa_tariff")
|
||||||
setProgress(_SYNC_CUSTOMER_REPOSITORY_SUCCESS);
|
<< "AND /etc/psa_tariff ARE DIFFERENT: CHANGED CUSTOMER-NUMBER?";
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
CONSOLE() << UPDATE_STEP::SYNC_CUSTOMER_REPOSITORY_SUCCESS;
|
||||||
|
setProgress(_SYNC_CUSTOMER_REPOSITORY_SUCCESS);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -225,7 +225,8 @@ class Worker : public QThread{
|
|||||||
m_worker->setProgress(_FINISHED);
|
m_worker->setProgress(_FINISHED);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
QStringList lst = m_worker->m_ismasTriggerStatusMessage;
|
// QStringList lst = m_worker->m_ismasTriggerStatusMessage;
|
||||||
|
QStringList lst;
|
||||||
UPDATE_STEP last = m_worker->m_lastFailedUpdateStep;
|
UPDATE_STEP last = m_worker->m_lastFailedUpdateStep;
|
||||||
if (m_worker->smap.contains(last)) {
|
if (m_worker->smap.contains(last)) {
|
||||||
lst << QString(" (last failed step: %1)").arg(m_worker->smap[last]);
|
lst << QString(" (last failed step: %1)").arg(m_worker->smap[last]);
|
||||||
|
Reference in New Issue
Block a user