/*! * * Copyright (c) 2020-2025 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file MAlarmTriggered.cpp * \author (last) Behrouz NematiPour * \date (last) 24-Aug-2022 * \author (original) Behrouz NemaiPour * \date (original) 02-Jul-2020 * */ #include "MAlarmTriggered.h" // Qt // Project #include "GuiGlobals.h" #include "MAlarmStatusData.h" using namespace Model; QVariantList MAlarmTriggered::parameters() const { QVariantList params = MAbstractDynamic::parameters(); params += _xata.mPriority .value; params += _xata.mRank .value; params += _xata.mClearTop .value; return params; } bool MAlarmTriggered::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position if ( ! MAbstractDynamic::fromByteArray(vByteArray, &index)) return false; index = _xata_start; // the message parameters are dynamic and the second set may not be sent // and MAbstractDynamic returns true but since it hasn't have proper type it won't increment the index // so the extra data (xata) needs to have its own start setup correctly. if (GetValue(vByteArray, index, _xata.mPriority )) if (GetValue(vByteArray, index, _xata.mRank )) if (GetValue(vByteArray, index, _xata.mClearTop )) return true ; else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } } /*! * \brief MAlarmTriggered::data * \details Provides model's Data from the received messages data values * \return Data */ MAlarmTriggered::Data MAlarmTriggered::data() const { Data data; data.mAlarmID = _data.mID .value; data.mFieldDescriptor1 = _data.mFieldDescriptor1 .value; data.mDataFieldU1 = _data.mDataFieldU1 .value; data.mDataFieldS1 = _data.mDataFieldS1 .value; data.mDataFieldF1 = _data.mDataFieldF1 .value; data.mDataFieldB1 = _data.mDataFieldB1 .value ? true : false; data.mFieldDescriptor2 = _data.mFieldDescriptor2 .value; data.mDataFieldU2 = _data.mDataFieldU2 .value; data.mDataFieldS2 = _data.mDataFieldS2 .value; data.mDataFieldF2 = _data.mDataFieldF2 .value; data.mDataFieldB2 = _data.mDataFieldB2 .value ? true : false; data.mPriority = _xata.mPriority .value; data.mRank = _xata.mRank .value; data.mClearTop = _xata.mClearTop .value ? true : false; return data; } /// The Alarm Trigger Request QString MAlarmTriggeredReq::toString() { return toString({}); } QString MAlarmTriggeredReq::toString(const QVariantList &vParameters) { QString alarmText = ""; if (vParameters.count()) { bool ok; GuiAlarmID alarmID = static_cast(vParameters[0].toInt(&ok)); alarmText = Model::MAlarmStatus::toText(alarmID); } return MModel::toString("AlarmTriggered", { alarmText }); } Can::Can_Id MAlarmTriggeredReq::canid() { return Can::Can_Id::eChlid_UI_Sync; }