Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r028d387c263ec7d991263db45bebabc27223c379 -rb798668f16ad0967ab97e96f5f9a2cdd821e899f --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 028d387c263ec7d991263db45bebabc27223c379) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) @@ -1,14 +1,14 @@ /*! * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. - * copyright + * \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 messageinterpreter.cpp - * date 12/11/2019 - * author Behrouz NematiPour + * \file messageinterpreter.cpp + * \date 12/11/2019 + * \author Behrouz NematiPour * */ #include "messageinterpreter.h" @@ -20,7 +20,6 @@ #include "logger.h" #include "format.h" - using namespace Can; /*! @@ -106,6 +105,12 @@ } break; + case Gui::GuiActionType::AdjustDurationReq: + if (count) { + vPayload = Format::fromVariant(vData); + } + break; + default: QString mActionIdHexString = Format::toHexString(vActionId); LOG_ERROR(tr("Unknown Message ID (UI) '%1'").arg(mActionIdHexString)); @@ -222,6 +227,24 @@ ok = alarmStatus (vMessage, vData); break; + case Gui::GuiActionType::PressureOcclusion: + ok = pressureOcclusionData (vMessage, vData); + break; + + case Gui::GuiActionType::TreatmentRanges: + ok = treatmentRangesData (vMessage, vData); + break; + + case Gui::GuiActionType::AdjustBloodDialysateRsp: + ok = adjustBloodDialysateData (vMessage, vData); + break; + + case Gui::GuiActionType::AdjustDurationRsp: + ok = adjustDurationData (vMessage, vData); + break; + + // unhandles messages: these will only be logged as received message + // there has nothing been defined for these messages. case Gui::GuiActionType::AlarmTriggered: printUnhandled (vMessage); ok = true; @@ -232,18 +255,11 @@ ok = true; break; - case Gui::GuiActionType::PressureOcclusion: - ok = pressureOcclusionData (vMessage, vData); + case Gui::GuiActionType::TreatmentState: + printUnhandled (vMessage); + ok = true; break; - case Gui::GuiActionType::AdjustBloodDialysateRsp: - ok = adjustBloodDialysateData (vMessage, vData); - break; - - case Gui::GuiActionType::TreatmentRanges: - ok = treatmentRangesData (vMessage, vData); - break; - default: printUnhandled (vMessage); break; @@ -619,6 +635,32 @@ } /*! + * \brief MessageInterpreter::getTreatmentRangesData + * \details This method interprets Treatment Ranges message data + * in vMessage of type Message. + * \param vMessage - The vMessage of type Message which contains all the data, + * require to be interpreted. + * \param vData - Treatment Ranges data + * \return true if the data can be extracted as defined for Treatment Ranges Message ID + */ +bool MessageInterpreter::treatmentRangesData(const Message &vMessage, QVariantList &vData) +{ + // TODO : review other methods + bool ok = false; + if ( ! isType (vMessage, Gui::GuiActionType::TreatmentRanges) ) return ok; + if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::TreatmentRanges) ) return ok; + + Model::MTreatmentRanges mData; + ok = mData.fromByteArray(vMessage.data); + LOG_DATUM(mData.toString()); + + mData.toVariantList(vData); + emit didActionReceive(mData.data()); + + return ok; +} + +/*! * \brief MessageInterpreter::adjustBloodDialysateData * \details This method interprets AdjustBlood Dialysate Response message data * in vMessage of type Message. @@ -645,22 +687,21 @@ } /*! - * \brief MessageInterpreter::getTreatmentRangesData - * \details This method interprets Treatment Ranges message data + * \brief MessageInterpreter::adjustDurationData + * \details This method interprets Treatment Duration Adjustment Response message data * in vMessage of type Message. * \param vMessage - The vMessage of type Message which contains all the data, * require to be interpreted. - * \param vData - Treatment Ranges data - * \return true if the data can be extracted as defined for Treatment Ranges Message ID + * \param vData - Treatment Duration Adjustment Response data + * \return true if the data can be extracted as defined for Treatment Duration Adjustment Response Message ID */ -bool MessageInterpreter::treatmentRangesData(const Message &vMessage, QVariantList &vData) +bool MessageInterpreter::adjustDurationData(const Message &vMessage, QVariantList &vData) { - // TODO : review other methods bool ok = false; - if ( ! isType (vMessage, Gui::GuiActionType::TreatmentRanges) ) return ok; - if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::TreatmentRanges) ) return ok; + if ( ! isType (vMessage, Gui::GuiActionType::AdjustDurationRsp) ) return ok; + if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::AdjustDurationRsp) ) return ok; - Model::MTreatmentRanges mData; + Model::MAdjustDurationResponse mData; ok = mData.fromByteArray(vMessage.data); LOG_DATUM(mData.toString()); @@ -669,3 +710,4 @@ return ok; } +