Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 -r90bcc276f2a879169fef20e9168711cf906c0e54 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 90bcc276f2a879169fef20e9168711cf906c0e54) @@ -22,6 +22,14 @@ using namespace Can; +#define EMIT_RECEIVE_SIGNAL(vID, vMODEL) \ +{ \ + vMODEL mModel; \ + ok = prepareData(vMessage, vID, mModel, vData); \ + if (ok) emit didActionReceive(mModel.data()); \ +} \ +break; + /*! * \brief MessageInterpreter::MessageInterpreter * \details Constructor @@ -144,7 +152,7 @@ vPayload.clear(); int count = vData.count(); switch (vActionId) { // notice we are in transmit mode - case Gui::GuiActionType::idPowerOff: + case Gui::GuiActionType::ID_PowerOff: if (count) { vPayload += vData[0].toUInt(); } else { @@ -155,7 +163,7 @@ LOG_EVENT(mSenderID + QString("PowerOff," + QVariant(vData).toStringList().join(','))); break; - case Gui::GuiActionType::idKeepAlive: + case Gui::GuiActionType::ID_KeepAlive: // Nothing needs to be done. // KeepAlive has No data. // Mentioned in the switch/case to be registered as a valid message. @@ -167,47 +175,47 @@ LOG_EVENT(mSenderID + QString("CheckIn")); break; - case Gui::GuiActionType::idAcknow: + case Gui::GuiActionType::ID_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::idRawData: + case Gui::GuiActionType::ID_RawData: if (count) { vPayload = Format::fromVariant(vData[0]); } break; - case Gui::GuiActionType::idAdjustBloodDialysateReq: + case Gui::GuiActionType::ID_AdjustBloodDialysateReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustBloodDialysateRequestData::toString(vData)); break; - case Gui::GuiActionType::idAdjustDurationReq: + case Gui::GuiActionType::ID_AdjustDurationReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustDurationRequestData::toString(vData)); break; - case Gui::GuiActionType::idAdjustUltrafiltrationStateReq: + case Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustUltrafiltrationStateRequestData::toString(vData)); break; - case Gui::GuiActionType::idAdjustUltrafiltrationEditReq: + case Gui::GuiActionType::ID_AdjustUltrafiltrationEditReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustUltrafiltrationEditRequestData::toString(vData)); break; - case Gui::GuiActionType::idAdjustUltrafiltrationConfirmReq: + case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq: if (count) { vPayload = Format::fromVariant(vData); } @@ -277,31 +285,31 @@ //qDebug() << vMessage.actionId; switch (vMessage.actionId) { // notice we are in receive mode // ----- Debug - case Gui::GuiActionType::idCANBusFaultCount : ok = canbusFaultCountData (vMessage, vData); break; + case Gui::GuiActionType::ID_CANBusFaultCount : ok = canbusFaultCountData (vMessage, vData); break; // ----- Datum - case Gui::GuiActionType::idTreatmentTime : ok = treatmentTimeData (vMessage, vData); break; - case Gui::GuiActionType::idBloodFlow : ok = bloodFlowData (vMessage, vData); break; - case Gui::GuiActionType::idDialysateInletFlow : ok = dialysateInletFlowData (vMessage, vData); break; - case Gui::GuiActionType::idDialysateOutletFlow : ok = dialysateOutletFlowData (vMessage, vData); break; - case Gui::GuiActionType::idTreatmentRanges : ok = treatmentRangesData (vMessage, vData); break; - case Gui::GuiActionType::idPressureOcclusion : ok = pressureOcclusionData (vMessage, vData); break; - case Gui::GuiActionType::idTreatmentState : ok = treatmentStateData (vMessage, vData); break; + case Gui::GuiActionType::ID_TreatmentTime : ok = treatmentTimeData (vMessage, vData); break; + case Gui::GuiActionType::ID_BloodFlow : ok = bloodFlowData (vMessage, vData); break; + case Gui::GuiActionType::ID_DialysateInletFlow : ok = dialysateInletFlowData (vMessage, vData); break; + case Gui::GuiActionType::ID_DialysateOutletFlow : ok = dialysateOutletFlowData (vMessage, vData); break; + case Gui::GuiActionType::ID_TreatmentRanges : ok = treatmentRangesData (vMessage, vData); break; + case Gui::GuiActionType::ID_PressureOcclusion : ok = pressureOcclusionData (vMessage, vData); break; + case Gui::GuiActionType::ID_TreatmentState : ok = treatmentStateData (vMessage, vData); break; // ----- Events - case Gui::GuiActionType::idAcknow : ok = true; break; - case Gui::GuiActionType::idPowerOff : ok = powerOff (vMessage, vData); break; - case Gui::GuiActionType::idPowerOffBroadcast : ok = true; LOG_EVENT("HD,PowerOff Warning"); break; - case Gui::GuiActionType::idAlarmStatus : ok = alarmStatus (vMessage, vData); break; - case Gui::GuiActionType::idAlarmTriggered : ok = alarmTriggered (vMessage, vData); break; - case Gui::GuiActionType::idAlarmCleared : ok = alarmCleared (vMessage, vData); break; + case Gui::GuiActionType::ID_Acknow : ok = true; break; + case Gui::GuiActionType::ID_PowerOff : ok = powerOff (vMessage, vData); break; + case Gui::GuiActionType::ID_PowerOffBroadcast : ok = true; LOG_EVENT("HD,PowerOff Warning"); break; + case Gui::GuiActionType::ID_AlarmStatus : ok = alarmStatus (vMessage, vData); break; + case Gui::GuiActionType::ID_AlarmTriggered : ok = alarmTriggered (vMessage, vData); break; + case Gui::GuiActionType::ID_AlarmCleared : ok = alarmCleared (vMessage, vData); break; // Adjustment Response Messages - case Gui::GuiActionType::idAdjustDurationRsp : ok = adjustDuration (vMessage, vData); break; - case Gui::GuiActionType::idAdjustBloodDialysateRsp : ok = adjustBloodDialysate (vMessage, vData); break; - case Gui::GuiActionType::idAdjustUltrafiltrationStateReq : ok = adjustUltrafiltrationState (vMessage, vData); break; - case Gui::GuiActionType::idAdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; - case Gui::GuiActionType::idAdjustUltrafiltrationConfirmRsp: ok = adjustUltrafiltrationConfirm (vMessage, vData); break; + case Gui::GuiActionType::ID_AdjustDurationRsp : ok = adjustDuration (vMessage, vData); break; + case Gui::GuiActionType::ID_AdjustBloodDialysateRsp : ok = adjustBloodDialysate (vMessage, vData); break; + case Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq : ok = adjustUltrafiltrationState (vMessage, vData); break; + case Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; + case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp: ok = adjustUltrafiltrationConfirm (vMessage, vData); break; // unhandles messages: these will only be logged as received message // there has nothing been defined for these messages. @@ -311,14 +319,6 @@ return ok; } -#define EMIT_RECEIVE_SIGNAL(vID, vMODEL) \ -{ \ - vMODEL mModel; \ - ok = prepareData(vMessage, vID, mModel, vData); \ - if (ok) emit didActionReceive(mModel.data()); \ -} \ -break; - /*! * \brief MessageInterpreter::interpretMessage_DG * \details This method will be called @@ -339,20 +339,20 @@ vData.clear(); switch (vMessage.actionId) { // notice we are in receive mode - case Gui::GuiActionType::idDGCheckIn: + case Gui::GuiActionType::ID_DGCheckIn: ok = true; LOG_EVENT(mSenderID + QString("DG,CheckIn," + QVariant(vData).toStringList().join(','))); break; - case Gui::GuiActionType::idDGROPumpData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGROPumpData , Model::MDGROPump ) - case Gui::GuiActionType::idDGPressuresData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGPressuresData , Model::MDGPressures ) - case Gui::GuiActionType::idDGDrainPumpData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGDrainPumpData , Model::MDGDrainPump ) - case Gui::GuiActionType::idDGOperationModeData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGOperationModeData , Model::MDGOperationMode ) - case Gui::GuiActionType::idDGReservoirData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGReservoirData , Model::MDGReservoir ) - case Gui::GuiActionType::idDGValvesStatesData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGValvesStatesData , Model::MDGValvesStates ) - case Gui::GuiActionType::idDGHeatersData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGHeatersData , Model::MDGHeaters ) - case Gui::GuiActionType::idDGLoadCellReadingsData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGLoadCellReadingsData , Model::MDGLoadCellReadings ) - case Gui::GuiActionType::idDGTemperaturesData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGTemperaturesData , Model::MDGTemperatures ) + case Gui::GuiActionType::ID_DGROPumpData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGROPumpData , Model::MDGROPump ) + case Gui::GuiActionType::ID_DGPressuresData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGPressuresData , Model::MDGPressures ) + case Gui::GuiActionType::ID_DGDrainPumpData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGDrainPumpData , Model::MDGDrainPump ) + case Gui::GuiActionType::ID_DGOperationModeData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGOperationModeData , Model::MDGOperationMode ) + case Gui::GuiActionType::ID_DGReservoirData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGReservoirData , Model::MDGReservoir ) + case Gui::GuiActionType::ID_DGValvesStatesData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGValvesStatesData , Model::MDGValvesStates ) + case Gui::GuiActionType::ID_DGHeatersData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGHeatersData , Model::MDGHeaters ) + case Gui::GuiActionType::ID_DGLoadCellReadingsData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGLoadCellReadingsData , Model::MDGLoadCellReadings ) + case Gui::GuiActionType::ID_DGTemperaturesData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::ID_DGTemperaturesData , Model::MDGTemperatures ) // unhandles messages: these will only be logged as received message // there has nothing been defined for these messages. @@ -381,7 +381,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idCANBusFaultCount) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_CANBusFaultCount) ) return ok; QVariantList mData; int index = 0; @@ -411,7 +411,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idTreatmentTime) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_TreatmentTime) ) return ok; Model::MTreatmentTime mData; ok = mData.fromByteArray(vMessage.data); @@ -436,7 +436,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idBloodFlow)) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_BloodFlow)) return ok; Model::MBloodFlow mData; ok = mData.fromByteArray(vMessage.data); @@ -461,7 +461,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idDialysateInletFlow) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_DialysateInletFlow) ) return ok; Model::MDialysateFlow mData; ok = mData.fromByteArray(vMessage.data); @@ -486,7 +486,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idDialysateOutletFlow) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_DialysateOutletFlow) ) return ok; Model::MOutletFlow mData; ok = mData.fromByteArray(vMessage.data); @@ -511,7 +511,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idTreatmentRanges) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_TreatmentRanges) ) return ok; Model::MTreatmentRanges mData; ok = mData.fromByteArray(vMessage.data); @@ -536,7 +536,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idPressureOcclusion) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_PressureOcclusion) ) return ok; Model::MPressureOcclusion mData; ok = mData.fromByteArray(vMessage.data); @@ -561,7 +561,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idTreatmentState) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_TreatmentState) ) return ok; Model::MTreatmentState mData; ok = mData.fromByteArray(vMessage.data); @@ -592,7 +592,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idPowerOff) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_PowerOff) ) return ok; Model::MPowerOff mData; ok = mData.fromByteArray(vMessage.data); @@ -616,7 +616,7 @@ bool MessageInterpreter::alarmStatus(const Message &vMessage, QVariantList &vData) { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAlarmStatus) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_AlarmStatus) ) return ok; Model::MAlarmStatus mData; ok = mData.fromByteArray(vMessage.data); @@ -649,7 +649,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAlarmTriggered) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_AlarmTriggered) ) return ok; Model::MAlarmTriggered mData; ok = mData.fromByteArray(vMessage.data); @@ -674,7 +674,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAlarmCleared) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_AlarmCleared) ) return ok; Model::MAlarmCleared mData; ok = mData.fromByteArray(vMessage.data); @@ -700,7 +700,7 @@ bool MessageInterpreter::adjustDuration(const Message &vMessage, QVariantList &vData) { bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustDurationRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_AdjustDurationRsp) ) return ok; Model::MAdjustDurationResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -725,7 +725,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustBloodDialysateRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_AdjustBloodDialysateRsp) ) return ok; Model::MAdjustBloodDialysateResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -750,8 +750,8 @@ { bool ok = false; // TODO : In HD the Ultrafiltration State change shall have the rejection reason like other responses. - if ( ! isType (vMessage, Gui::GuiActionType::idAdjustUltrafiltrationStateReq) ) return ok; - if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::idAcknowGeneric ) ) return ok; + if ( ! isType (vMessage, Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq) ) return ok; + if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::ID_AcknowGeneric ) ) return ok; Model::MAdjustUltrafiltrationStateResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -775,7 +775,7 @@ bool MessageInterpreter::adjustUltrafiltrationEdit(const Message &vMessage, QVariantList &vData) { bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustUltrafiltrationEditRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp) ) return ok; Model::MAdjustUltrafiltrationEditResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -799,7 +799,7 @@ bool MessageInterpreter::adjustUltrafiltrationConfirm(const Message &vMessage, QVariantList &vData) { bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustUltrafiltrationConfirmRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp) ) return ok; Model::MAdjustUltrafiltrationConfirmResponse mData; ok = mData.fromByteArray(vMessage.data);