Index: sources/AlarmGenerator.cpp =================================================================== diff -u -r80b5e8f1ebb90c03c37d90d90cd2da3bd95d6803 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/AlarmGenerator.cpp (.../AlarmGenerator.cpp) (revision 80b5e8f1ebb90c03c37d90d90cd2da3bd95d6803) +++ sources/AlarmGenerator.cpp (.../AlarmGenerator.cpp) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -29,6 +29,8 @@ // namespace using namespace Gui; +Model::MAlarmStatus AlarmGenerator::_model; + /*! * \brief AlarmGenerator::setBits * \details sets bits of the _len(Alarm_State_Flag_Bit_Positions::NUM_OF_ALARM_STATE_FLAG_BIT_POS) bit length bit array by vBits list. @@ -61,6 +63,7 @@ data.mMuteTimeout = 0; // Alarm timeout data.mEscalatesIn = 0; // Alarm Escalate Time Period data.mFlags = setBits(NO_BUTTON); // No button since there is no HD to communicate. + _model.data(data); return data; } @@ -72,5 +75,6 @@ data.mMuteTimeout = 0; // Alarm timeout data.mEscalatesIn = 0; // Alarm Escalate Time Period data.mFlags = setBits(NO_BUTTON); // No button since there is no HD to communicate. + _model.data(data); return data; } Index: sources/AlarmGenerator.h =================================================================== diff -u -r80b5e8f1ebb90c03c37d90d90cd2da3bd95d6803 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/AlarmGenerator.h (.../AlarmGenerator.h) (revision 80b5e8f1ebb90c03c37d90d90cd2da3bd95d6803) +++ sources/AlarmGenerator.h (.../AlarmGenerator.h) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -33,6 +33,8 @@ // friends friend class ::tst_messaging; + static Model::MAlarmStatus _model; + // typedef /*! \brief quint16 depends on the Alarm_State_Flag_Bit_Positions length. * quint16 is currently used to cover 256 Alarm ID @@ -52,6 +54,8 @@ public: AlarmGenerator() {} + static QString toString() { return _model.toString(); } + // Generators section : // please follow the format: // static const AlarmStatusData (); Index: sources/canbus/FrameInterface.cpp =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/canbus/FrameInterface.cpp (.../FrameInterface.cpp) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/canbus/FrameInterface.cpp (.../FrameInterface.cpp) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -357,6 +357,7 @@ void FrameInterface::appendHead(Can_Id vCan_Id, const QByteArray &vData) { // disabled coco begin validated: has been manually tested by sending over 4000 frames and not received by any other node. + qDebug() << "F " << _txFrameList.count(); if (_txFrameList.count() >= _txFrameList_Max) { static quint32 i = 0; if ( i % 60 == 0 ) { // log only for the first time and each minute. Index: sources/canbus/MessageAcknowModel.h =================================================================== diff -u -raf8d98b36b427e2b5f4d6659fcf3b58ee79eab6a -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/canbus/MessageAcknowModel.h (.../MessageAcknowModel.h) (revision af8d98b36b427e2b5f4d6659fcf3b58ee79eab6a) +++ sources/canbus/MessageAcknowModel.h (.../MessageAcknowModel.h) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -119,6 +119,9 @@ QThread *_thread = nullptr; bool _init = false; +public: + int count() const { return _acknowList.count(); } + public slots: bool init(); bool init(QThread &vThread); Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r611bbf4dcba67768db87cf30f21fd2db788f677d -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 611bbf4dcba67768db87cf30f21fd2db788f677d) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -29,8 +29,6 @@ #define DISABLE_CHECKIN_LOG 0 #define DEBUG_SIGNAL(vID, vMODEL) // qDebug() << vID << vMODEL; -#define LOG_APPED_MSG(vID, vTEXT) LOG_APPED(QString("%1,%2").arg(QString("%1").arg(vID,4,16,QLatin1Char('0')).toUpper()).arg(vTEXT)) - // a macro to simplify the transmit message // would be better later to be replaced by a template method // like the notify method of received messages Index: sources/gui/GuiController.cpp =================================================================== diff -u -r80b5e8f1ebb90c03c37d90d90cd2da3bd95d6803 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/gui/GuiController.cpp (.../GuiController.cpp) (revision 80b5e8f1ebb90c03c37d90d90cd2da3bd95d6803) +++ sources/gui/GuiController.cpp (.../GuiController.cpp) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -22,7 +22,7 @@ #include "Logger.h" #include "ApplicationController.h" #include "AlarmGenerator.h" - +#include "MessageAcknowModel.h" // namespace using namespace Gui; @@ -365,10 +365,11 @@ * \details Raises an HD communication timeout alarm if communication with HD is lost. * \param seq - Sequence that failed to transmit */ -void GuiController::onFailedTransmit(Sequence seq) +void GuiController::onFailedTransmit(Sequence) { - Q_UNUSED(seq); AlarmStatusData data = AlarmGenerator::ALARM_ID_HD_COMM_TIMEOUT(); + LOG_APPED_MSG(GuiActions::ID_AlarmStatus, AlarmGenerator::toString()); + qDebug() << " A" << _MessageAcknowModel.count(); emit didActionReceive(data); } Index: sources/gui/qml/components/NotificationBar.qml =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/gui/qml/components/NotificationBar.qml (.../NotificationBar.qml) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/gui/qml/components/NotificationBar.qml (.../NotificationBar.qml) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -23,6 +23,7 @@ Rectangle { id: _root objectName: "NotificationBar" // SquishQt + property int alarmID : -1 property alias text : _text.text property alias textPixelSize : _text.font.pixelSize property alias textColor : _text.color @@ -130,4 +131,14 @@ onClicked: _root.listClicked() } + Text { id: _alarmID + text : qsTr("ID") + ":" + _root.alarmID + anchors { + right : parent.right + top : parent.top + rightMargin : 130 + } + color : Colors.textMain + font.pixelSize : Fonts.fontPixelDialogText + } } Index: sources/gui/qml/main.qml =================================================================== diff -u -r889145432dfc3211c5f1bbcf38e548cbbe6b90a8 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/gui/qml/main.qml (.../main.qml) (revision 889145432dfc3211c5f1bbcf38e548cbbe6b90a8) +++ sources/gui/qml/main.qml (.../main.qml) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -421,6 +421,7 @@ anchors.bottom : _mainMenu.top backgroundColor : _alarmItem.backgroundColor textColor : _alarmItem.textColor + alarmID : _alarmItem.alarm_AlarmID text : _alarmItem.title textPixelSize : Fonts.fontPixelAlarmBarTitle isSilenced : _alarmItem.isSilenced Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -r32b4fc757190051b21293de25264902d622cdd6d -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 32b4fc757190051b21293de25264902d622cdd6d) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 28-Jul-2023 + * \date (last) 29-Jul-2023 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 * Index: sources/model/hd/alarm/MAlarmStatusData.cpp =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/model/hd/alarm/MAlarmStatusData.cpp (.../MAlarmStatusData.cpp) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/model/hd/alarm/MAlarmStatusData.cpp (.../MAlarmStatusData.cpp) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -57,3 +57,16 @@ data.mFlags = _data.mFlags ; return data; } + +/*! + * \brief MAlarmStatus::data + * \details fills in the model data with a given one in vData + * \return vData + */ +void MAlarmStatus::data(const Data &vData) { + _data.mState .value = vData.mState ; + _data.mTop .value = vData.mTop ; + _data.mEscalatesIn .value = vData.mEscalatesIn; + _data.mMuteTimeout .value = vData.mMuteTimeout; + _data.mFlags = vData.mFlags ; +} Index: sources/model/hd/alarm/MAlarmStatusData.h =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/model/hd/alarm/MAlarmStatusData.h (.../MAlarmStatusData.h) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/model/hd/alarm/MAlarmStatusData.h (.../MAlarmStatusData.h) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -87,6 +87,7 @@ bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; + void data (const Data &vData ) ; static QString toText (Gui::GuiAlarmID vAlarmID); Index: sources/storage/Logger.h =================================================================== diff -u -r611bbf4dcba67768db87cf30f21fd2db788f677d -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/storage/Logger.h (.../Logger.h) (revision 611bbf4dcba67768db87cf30f21fd2db788f677d) +++ sources/storage/Logger.h (.../Logger.h) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -37,6 +37,7 @@ #define LOG_DEBUG(vCONTENT) emit Storage::Logger::I().didLog(vCONTENT, Storage::Logger::LogType::eLogDebug, true ) #define LOG_APPED_UI(vCONTENT) emit Storage::Logger::I().didLog(" ,UI," + vCONTENT, Storage::Logger::LogType::eLogAppED, true ) +#define LOG_APPED_MSG(vID, vTEXT) LOG_APPED(QString("%1,%2").arg(QString("%1").arg(vID,4,16,QLatin1Char('0')).toUpper()).arg(vTEXT)) // forward declarations class tst_logging; Index: sources/utility/types.h =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -r6b60df9d8468e2134c7de32bd0f6215cef33269b --- sources/utility/types.h (.../types.h) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/utility/types.h (.../types.h) (revision 6b60df9d8468e2134c7de32bd0f6215cef33269b) @@ -45,6 +45,13 @@ } return tmp; } + + Flags& operator=(const QBitArray &vData) { + if((QBitArray*)this != &vData){ + QBitArray::operator=(vData); + } + return *this; + } }; /*!