6 Commits

9 changed files with 906 additions and 2914 deletions

View File

@@ -6,7 +6,7 @@ plugin-directory="/usr/lib/"
working-directory="/opt/app/tools/atbupdate/"
[PLUGINS]
plugin-name="libCAslave.so"
plugin-name="libCAmaster.so"
[FLAGS]
no-psa-hardware-update=false

View File

@@ -92,10 +92,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
# Changes:
# (1) the ini-File now uses the libCAmaster.so.
# 1.3._25_: Again special version for szeged, using interface.h, version 4.4.
# 1.4.0 : Start with version at 1.4.0 (mainly to see a difference with Szeged)
# Set hash-value in EVENT-objects. Set location (project), version
# and info in send-last-version.
VERSION="1.4.0"
VERSION="1.3._25_"
# PLANNED TODOS:
# 1: Das Repository wird repariert bwz. neu geklont. Unabhaengig vom WAIT.
@@ -182,7 +179,7 @@ DEFINES+=APP_EXTENDED_VERSION=\\\"$$EXTENDED_VERSION\\\"
# keep comments, as /* fall through */
QMAKE_CXXFLAGS += -C
QMAKE_CXXFLAGS += -g
QMAKE_CXXFLAGS += -Wno-deprecated-copy -O
QMAKE_CXXFLAGS += -Wno-deprecated-copy
contains( CONFIG, PTU5 ) {
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport

1806
interfaces.h Executable file → Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -54,6 +54,10 @@ hwinf *Update::loadDCPlugin(QDir const &plugInDir, QString const &fname) {
qCritical() << pluginLoader.errorString();
exit(-1);
}
qCritical() << "loadDCPlugin() plugin directory:" << plugInDir.absolutePath();
qCritical() << "loadDCPlugin() plugin file name:" << pluginLoader.fileName();
if (!pluginLoader.isLoaded()) {
qCritical() << pluginLoader.errorString();
exit(-2);
@@ -118,18 +122,18 @@ Update::Update(Worker *worker,
, m_dryRun(dryRun)
, m_sys_areDCdataValid(false) {
int tries = 20;
while ((m_sys_areDCdataValid = m_hw->sys_areDCdataValid()) == false) {
//int tries = 20;
//while ((m_sys_areDCdataValid = m_hw->sys_areDCdataValid()) == false) {
// must deliver 'true', only then are all data from hwapi valid
if (--tries < 0) {
qCritical() << "ERROR!!! DC DATA NOT VALID -> CA-MASTER-PLUGIN NOT CONNECTED";
break;
}
m_hw->dc_autoRequest(true);
QThread::msleep(500);
}
// if (--tries < 0) {
// qCritical() << "ERROR!!! DC DATA NOT VALID -> CA-MASTER-PLUGIN NOT CONNECTED";
// break;
// }
// m_hw->dc_autoRequest(true);
// QThread::msleep(500);
//}
qCritical() << "UPDATE: m_sys_areDCDataValid ..." << m_sys_areDCdataValid;
//qCritical() << "UPDATE: m_sys_areDCDataValid ..." << m_sys_areDCdataValid;
//qInfo() << "UPDATE: m_serialInterface ..." << m_serialInterface;
//qInfo() << "UPDATE: m_baudrate ..." << m_baudrate;
@@ -262,6 +266,7 @@ bool Update::updateBinary(QString const &fileToSendToDC) {
return false;
#if 0
QFile fn(fileToSendToDC);
if (!fn.exists()) {
// output via CONSOLE() etc
@@ -330,6 +335,7 @@ bool Update::updateBinary(QString const &fileToSendToDC) {
}
return true;
#endif
}
QString Update::jsonType(enum FileTypeJson type) {
@@ -557,7 +563,7 @@ bool Update::checkDownloadedJsonVersions(QStringList const& jsonFileNames) {
}
if (jsonNr != 0) {
#if 0
m_hw->sys_requestJsonVersions(jsonNr);
QThread::msleep(500);
@@ -575,6 +581,8 @@ bool Update::checkDownloadedJsonVersions(QStringList const& jsonFileNames) {
if (installedVersion == fileVersion) {
}
#endif
} else {
qCritical() << "CANNOT FIND JSON-NR FOR" << jsonFileNames[i];
}
@@ -584,10 +592,10 @@ bool Update::checkDownloadedJsonVersions(QStringList const& jsonFileNames) {
}
bool Update::doUpdate(int &displayIndex, QStringList const &filesToWorkOn) {
if (m_sys_areDCdataValid == false) {
qCritical() << "ERROR!!! DC DATA NOT VALID -> CA-MASTER-PLUGIN NOT CONNECTED";
return false;
}
//if (m_sys_areDCdataValid == false) {
// qCritical() << "ERROR!!! DC DATA NOT VALID -> CA-MASTER-PLUGIN NOT CONNECTED";
// return false;
//}
bool res = false;
QList<QString>::const_iterator it;

View File

@@ -30,82 +30,6 @@ int Utils::read1stLineOfFile(QString fileName) {
return -1;
}
QString Utils::getLocation(QString fileName) {
QString location("N/A");
QFile f(fileName);
if (f.exists()) {
if (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&f);
in.setCodec("UTF-8");
while(!in.atEnd()) {
QString const &line = in.readLine();
if (line.indexOf("Project", Qt::CaseInsensitive) != -1) {
int const c = line.indexOf(":");
if (c != -1) {
location = line.mid(c+1);
if (!location.isEmpty()) {
return location.replace(QChar('"'), QString("")).trimmed();
}
}
}
}
}
}
return location;
}
QString Utils::getTariffVersion(QString fileName) {
QString version("N/A");
QFile f(fileName);
if (f.exists()) {
if (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&f);
in.setCodec("UTF-8");
while(!in.atEnd()) {
QString const &line = in.readLine();
if (line.indexOf("Version", Qt::CaseInsensitive) != -1) {
int const c = line.indexOf(":");
if (c != -1) {
version = line.mid(c+1);
if (!version.isEmpty()) {
return version.replace(QChar('"'), QString("")).trimmed();
}
}
}
}
}
}
return version;
}
QString Utils::getTariffInfo(QString fileName) {
QString info("N/A");
QFile f(fileName);
if (f.exists()) {
if (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&f);
in.setCodec("UTF-8");
while(!in.atEnd()) {
QString const &line = in.readLine();
if (line.indexOf("Info", Qt::CaseInsensitive) != -1) {
int const c = line.indexOf(":");
if (c != -1) {
info = line.mid(c+1);
if (!info.isEmpty()) {
return info.replace(QChar('"'), QString("")).trimmed();
}
}
}
}
}
}
return info;
}
QString Utils::zoneName(quint8 i) {
static constexpr char const *zName[] = {
"",

View File

@@ -12,9 +12,6 @@
namespace Utils {
int read1stLineOfFile(QString fileName);
QString getLocation(QString fileName);
QString getTariffVersion(QString fileName);
QString getTariffInfo(QString fileName);
QString zoneName(quint8 i);
void printCriticalErrorMsg(QString const &errorMsg, bool upper=false, bool lower=false);
void printCriticalErrorMsg(QStringList const &errorMsg);

View File

@@ -140,7 +140,6 @@ Worker::Worker(int customerNr,
, m_serialInterface(serialInterface)
, m_baudrate(baudrate)
, m_gc(m_customerNrStr, m_customerRepository, m_workingDirectory, m_branchName, this)
, m_versionInfo(QStringList())
, m_osVersion(getOsVersion())
, m_atbqtVersion(getATBQTVersion())
, m_atbUpdateToolVersion(getATBUpdateToolVersion())
@@ -302,9 +301,6 @@ void Worker::privateUpdate() {
setProgress(i); // and switch to branch
if (m_gc.gitCloneAndCheckoutBranch()) {
if (!isRepositoryCorrupted()) {
if (m_versionInfo.size() == 0) {
m_versionInfo = m_gc.gitShowReason(m_branchName);
}
GUI() << (ISMAS() << (CONSOLE() << UPDATE_STEP::CLONE_REPOSITORY_SUCCESS));
continueUpdate = true;
m_clone = true;
@@ -334,11 +330,6 @@ void Worker::privateUpdate() {
}
}
}
if (m_versionInfo.size() == 0) {
m_versionInfo = m_gc.gitShowReason(m_branchName);
}
CONSOLE() << UPDATE_STEP::CHECK_REPOSITORY_SUCCESS;
setProgress(_CHECKOUT_REPOSITORY_SUCCESS);
@@ -1127,14 +1118,15 @@ PSAInstalled Worker::getPSAInstalled() {
QString absPathName;
QString absPathNameRepository;
psaInstalled.versionInfo.lastCommit = "N/A";
psaInstalled.versionInfo.reason = "N/A";
psaInstalled.versionInfo.created = "N/A";
psaInstalled.versionInfo.lastCommit = "";
psaInstalled.versionInfo.reason = "";
psaInstalled.versionInfo.created = "";
if (m_versionInfo.size() == 3) {
psaInstalled.versionInfo.lastCommit = m_versionInfo.at(0);
psaInstalled.versionInfo.reason = m_versionInfo.at(1);
psaInstalled.versionInfo.created = m_versionInfo.at(2);
QStringList versionInfo = m_gc.gitShowReason(m_branchName);
if (versionInfo.size() == 3) {
psaInstalled.versionInfo.lastCommit = versionInfo.at(0);
psaInstalled.versionInfo.reason = versionInfo.at(1);
psaInstalled.versionInfo.created = versionInfo.at(2);
}
if (m_zoneNr != 0) {
@@ -1147,10 +1139,10 @@ PSAInstalled Worker::getPSAInstalled() {
psaInstalled.tariff.size = getFileSize(absPathName);
psaInstalled.tariff.zone = m_zoneNr;
psaInstalled.tariff.loadTime = Utils::getTariffLoadTime(absPathName);
psaInstalled.tariff.project = Utils::getLocation(absPathName);
psaInstalled.tariff.version = Utils::getTariffVersion(absPathName);
psaInstalled.tariff.info = Utils::getTariffInfo(absPathName);
}
psaInstalled.tariff.project = "Szeged";
psaInstalled.tariff.info = "N/A";
psaInstalled.tariff.version = "N/A";
psaInstalled.hw.linuxVersion = getOsVersion();
psaInstalled.hw.cpuSerial = m_cpuSerial;

View File

@@ -132,7 +132,6 @@ class Worker : public QThread{
QString const m_baudrate;
IsmasClient m_ismasClient;
GitClient m_gc;
QStringList m_versionInfo;
QString const m_osVersion;
QString const m_atbqtVersion;
QString const m_atbUpdateToolVersion;
@@ -653,10 +652,8 @@ private:
ismasClient.setProgressInPercent(_CHECK_REPOSITORY);
break;
case UPDATE_STEP::CHECK_REPOSITORY_SUCCESS:
ismasClient.setProgressInPercent(_CHECK_REPOSITORY_SUCCESS);
break;
case UPDATE_STEP::CHECK_REPOSITORY_FAILURE:
ismasClient.setProgressInPercent(_CHECK_REPOSITORY_FAILURE);
break;
case UPDATE_STEP::CHECK_SANITY:
ismasClient.setProgressInPercent(_CHECK_SANITY);
@@ -668,10 +665,8 @@ private:
ismasClient.setProgressInPercent(_CHECK_SANITY_FAILURE);
break;
case UPDATE_STEP::REPOSITORY_RECOVERED_SUCCESS:
ismasClient.setProgressInPercent(_REPOSITORY_RECOVERED_SUCCESS);
break;
case UPDATE_STEP::REPOSITORY_RECOVERED_FAILURE:
ismasClient.setProgressInPercent(_REPOSITORY_RECOVERED_FAILURE);
break;
case UPDATE_STEP::CLONE_REPOSITORY:
ismasClient.setProgressInPercent(_CLONE_REPOSITORY);
@@ -688,7 +683,7 @@ private:
QString("CLONED REPOSITORY %1 AND CHECKED OUT BRANCH %2")
.arg(instance->m_customerRepository)
.arg(instance->m_gc.branchName()).toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
ismasUpdateNews);
} break;
@@ -704,7 +699,7 @@ private:
QString("CLONING REPOSITORY %1 OR CHECKING OUT BRANCH %2 FAILED")
.arg(instance->m_customerRepository)
.arg(instance->m_gc.branchName()).toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -718,8 +713,7 @@ private:
ismasClient.cloneAndCheckoutCustomerRepository(
QString("CHECKED OUT REPOSITORY %1 AND CHECKED OUT BRANCH %2")
.arg(instance->m_customerRepository)
.arg(instance->m_gc.branchName()),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A"));
.arg(instance->m_gc.branchName())));
break;
case UPDATE_STEP::CHECKOUT_REPOSITORY_FAILURE:
ismasClient.setProgressInPercent(_CHECKOUT_REPOSITORY_FAILURE);
@@ -731,8 +725,7 @@ private:
ismasClient.setProgressInPercent(_CHECK_ISMAS_TRIGGER_SUCCESS);
ismasClient.sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
QString("#M=APISM#C=CMD_EVENT#J=") +
ismasClient.updateTriggerSet("ISMAS TRIGGER SET",
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A"));
ismasClient.updateTriggerSet("ISMAS TRIGGER SET", ""));
break;
case UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE:
ismasClient.setProgressInPercent(_CHECK_ISMAS_TRIGGER_WRONG_VALUE);
@@ -747,7 +740,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -770,7 +763,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -784,7 +777,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -918,7 +911,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -935,7 +928,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -961,7 +954,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -978,7 +971,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -998,7 +991,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -1018,7 +1011,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -1041,7 +1034,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -1055,7 +1048,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;
@@ -1069,7 +1062,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
"");
ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break;