Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r56d00a82669a7a2c00ab90109a89dbec8db27527 -r1b8d8fdf90d57822dde33cf1428438847238b10b --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 56d00a82669a7a2c00ab90109a89dbec8db27527) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 1b8d8fdf90d57822dde33cf1428438847238b10b) @@ -1,6 +1,6 @@ /*! * - * Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, * IN PART OR IN WHOLE, @@ -24,7 +24,9 @@ /*! * \brief MessageInterpreter::MessageInterpreter - * \param parent + * \details Constructor + * \param parent - QObject parent owner object. + * Qt handles the children destruction by their parent objects life-cycle. */ MessageInterpreter::MessageInterpreter(QObject *parent) : QObject(parent) { } @@ -64,6 +66,12 @@ // Mentioned in the switch/case to be registered as a valid message. break; + case Gui::GuiActionType::Acknow: + // Nothing needs to be done. + // Acknow has No data. + // Mentioned in the switch/case to be registered as a valid message. + break; + case Gui::GuiActionType::String: vPayload = Format::fromVariant(vData[0]); break; @@ -90,15 +98,20 @@ * \return true if the message channel is in the range which can be interpreted, false otherwise. * This return value will be used later to emit MessageDispatcher::didActionReceive signal or not */ -bool MessageInterpreter::interpretMessage(const Can_Id vCan_Id, const Message &vMessage, Gui::GuiActionType &vActionId, QVariantList &vData) +bool MessageInterpreter::interpretMessage(const Message &vMessage, QVariantList &vData) { bool ok = false; - switch (vCan_Id) { - case eChlid_HD: + switch (vMessage.can_id) { + case eChlid_HD_UI: case eChlid_HD_Alarm: case eChlid_HD_Sync: - ok = interpretMessage_HD(vMessage, vActionId, vData); + ok = interpretMessage_HD(vMessage, vData); break; + case eChlid_DG_UI: + //case eChlid_DG_Alarm: + //case eChlid_DG_Sync: + ok = interpretMessage_DG(vMessage, vData); + break; default: break; } @@ -133,13 +146,12 @@ * \return true if the message CANBUS channel is in the range which can be interpreted, false otherwise. * This return value will be used later to emit MessageDispatcher::didActionReceive signal or not */ -bool MessageInterpreter::interpretMessage_HD(const Message &vMessage, Gui::GuiActionType &vActionId, QVariantList &vData) +bool MessageInterpreter::interpretMessage_HD(const Message &vMessage, QVariantList &vData) { bool ok = true; - vActionId = vMessage.actionId; vData.clear(); - switch (vActionId) { // notice we are in receive mode + switch (vMessage.actionId) { // notice we are in receive mode case Gui::GuiActionType::PowerOff: { quint8 mShowHide; ok = getPowerOffData(vMessage, mShowHide); @@ -149,6 +161,9 @@ LOG_DATUM(QString("Power Off (%1)").arg(mShowHide)); break; } + case Gui::GuiActionType::Acknow: + ok = true; + break; case Gui::GuiActionType::BloodFlow: ok = bloodFlowData (vMessage, vData); @@ -190,10 +205,9 @@ * \return true if the message CANBUS channel is in the range which can be interpreted, false otherwise. * This return value will be used later to emit MessageDispatcher::didActionReceive signal or not */ -bool MessageInterpreter::interpretMessage_DG(const Message &vMessage, Gui::GuiActionType &vActionId, QVariantList &vData) +bool MessageInterpreter::interpretMessage_DG(const Message &vMessage, QVariantList &vData) { Q_UNUSED(vMessage ); - Q_UNUSED(vActionId); Q_UNUSED(vData ); // No data have been interpreted from DG yet return false; @@ -413,7 +427,7 @@ * \param vState - Alarm Priority value of type unsigned int as 4 bytes extracted out * \param vTop - Top value of type unsigned int as 4 bytes extracted out * \param vMuteTimeout - MuteTimeout value of type unsigned int as 4 bytes extracted out - * \param vEscalateTo - EscalateTo value of type unsigned int as 4 bytes extracted out + * \param vEscalatesIn - EscalatesIn value of type unsigned int as 4 bytes extracted out * \param vFlags - Flags value of type unsigned int as 1 byte extracted out * \return true if the data can be extracted as defined for PowerOff Message ID */ @@ -436,7 +450,7 @@ Types::getValue<>(vMessage.data, index, vTop ); Types::getValue<>(vMessage.data, index, vMuteTimeout ); Types::getValue<>(vMessage.data, index, vEscalatesIn ); - Types::getBits (vMessage.data, index, vFlags , 16); + Types::getBits (vMessage.data, index, vFlags, static_cast(Gui::GuiActionIndx::AlarmStatus_Flag_Bits_Length)); return true; }