/*! * * Copyright (c) 2020-2024 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 AlarmGenerator.cpp * \author (last) Behrouz NematiPour * \date (last) 29-Jul-2023 * \author (original) Behrouz NematiPour * \date (original) 22-Dec-2020 * */ // Qt // Project #include "AlarmGenerator.h" // defines #define NO_BUTTON { \ GuiAlarmFlags::ALARM_STATE_FLAG_BIT_POS_NO_RESUME , \ GuiAlarmFlags::ALARM_STATE_FLAG_BIT_POS_NO_RINSEBACK , \ GuiAlarmFlags::ALARM_STATE_FLAG_BIT_POS_NO_END_TREATMENT, \ } // GuiAlarmFlags::ALARM_STATE_FLAG_BIT_POS_NO_NEW_TREATMENT, \ // TODO : recently removed. 3/7/22 // namespace using namespace Gui; Model::MAlarmTriggered 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. * \param vBits - list of the bit indexes to be set. * \return A 16 bit length QBitArray with only the bits mentioned in the vBits as true * \note vBits list template(quint16) depends on the Alarm_State_Flag_Bit_Positions length. * quint16 is currently used to cover 256 Alarm ID ( but I guess it should be S32 regarding ti RM46 arch unless has been defined otherwise) */ QBitArray AlarmGenerator::setBits(TBits vBits) { QBitArray mFlags = QBitArray(_len,false); // Initialize the QBitArray of false for (auto i: vBits) { if (i < _len) { mFlags.setBit(i, true); } } return mFlags; } /*! * \brief AlarmGenerator::ALARM_ID_TD_COMM_TIMEOUT * \details generates the ALARM_ID_TD_COMM_TIMEOUT alarm. * \return The AlarmStatusData filled with appropriate data for the alarm. */ // AUTOGEN ISSUE const AlarmStatusData AlarmGenerator::ALARM_ID_TD_COMM_TIMEOUT() { AlarmStatusData data; //data.malarmState = GuiAlarmPriority::ALARM_PRIORITY_HIGH; // Alarm priority //data.malarmTop = GuiAlarmID::ALARM_ID_TD_COMM_TIMEOUT; // Alarm ID //data.msilenceExpiresIn = 0; // Alarm timeout //data.malarmsFlags = 0; //setBits(NO_BUTTON); // No button since there is no communicate. //_model.data(data); return data; } const AlarmTriggeredData AlarmGenerator::ALARM_ID_NO_ALARM() { AlarmTriggeredData data; //data.mState = GuiAlarmPriority::ALARM_PRIORITY_NONE; // Alarm priority //data.mTop = GuiAlarmID::ALARM_ID_NO_ALARM; // Alarm ID //data.mMuteTimeout = 0; // Alarm timeout //data.mFlags = setBits(NO_BUTTON); // No button since there is no communicate. //_model.data(data); return data; }