Index: leahi.pro =================================================================== diff -u -r0899b5382fb5836c0e2d8e17ffd543594f5f7802 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- leahi.pro (.../leahi.pro) (revision 0899b5382fb5836c0e2d8e17ffd543594f5f7802) +++ leahi.pro (.../leahi.pro) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -57,15 +57,10 @@ sources/storage \ sources/canbus \ sources/model \ - sources/model/td \ - sources/model/td/data \ - sources/model/td/alarm \ sources/view \ - sources/view/td \ - sources/view/td/data \ sources/view/confirm \ sources/view/settings \ - \ + \ sources/gui \ sources/utility \ sources/wifi \ @@ -74,47 +69,15 @@ sources/abstract \ sources/model/confirm \ sources/model/settings \ - sources/model/ui/data \ - sources/model/hd/adjustment \ - sources/model/hd/adjustment/disinfect \ - sources/model/hd/adjustment/settings \ - sources/model/hd/adjustment/pretreatment \ - sources/model/hd/adjustment/treatment \ - sources/model/hd/adjustment/posttreatment \ sources/model/hd/alarm \ - sources/model/hd/data \ - sources/model/hd/data/post \ - sources/model/hd/data/pretreatment \ - sources/model/hd/data/treatment \ - sources/model/hd/data/posttreatment \ - sources/model/hd/data/treatmentlog \ - sources/model/dg/data \ - sources/model/dg/data/post \ - sources/model/dg/data/pretreatment \ - sources/model/dg/data/disinfect \ - sources/model/dg/adjustment \ - sources/model/dg/adjustment/settings \ - sources/view/pretreatment \ - sources/view/ui/data \ - sources/view/hd/adjustment/common \ - sources/view/hd/adjustment \ - sources/view/hd/adjustment/pretreatment \ - sources/view/hd/adjustment/treatment \ - sources/view/hd/adjustment/posttreatment \ - sources/view/hd/adjustment/disinfect \ sources/view/hd/alarm \ - sources/view/hd/data \ - sources/view/hd/data/post \ - sources/view/hd/data/pretreatment \ - sources/view/hd/data/treatment \ - sources/view/hd/data/posttreatment \ - sources/view/dg/data \ - sources/view/dg/data/post \ - sources/view/dg/data/pretreatment \ - sources/view/dg/data/disinfect + sources/model/hd/adjustment \ +INCLUDEPATH += \ + sources/model/model_autogen \ + sources/view/view_autogen \ + HEADERS += \ - \ # common common/AlarmDefs.h \ common/Compatible.h \ common/DDDefs.h \ @@ -132,86 +95,42 @@ sources/ApplicationController.h \ sources/device/DeviceController.h \ sources/storage/Settings.h \ - sources/storage/TreatmentLog.h \ sources/bluetooth/BluetoothInterface.h \ sources/cloudsync/CloudSyncController.h \ \ # ---------- Models ---------- - sources/model/MModel.h \ sources/model/MAbstract.h \ sources/model/MAbstractDynamic.h \ sources/device/DeviceModels.h \ - \ # ---------- Models - TD - Data //// ----- @LEAHIZED - \ # ---------- Views - TD - Data - States //// ----- @LEAHIZED - \ # ---------- Models - confirm - \ # ---------- Models - POST - \ # ---------- Models - settings sources/model/settings/MSettings.h \ sources/model/settings/MWifiNetwork.h \ sources/model/settings/MBluetooth.h \ - \ # ---------- Models - Alarm - \ # ---------- Models - States Data - \ # ---------- Models - HD - Adjustment sources/model/hd/adjustment/MAdjustRequestsBase.h \ - \ # ---------- Models - HD - Adjustment - Settings - \ # ---------- Models - HD - Adjustment - Pre-Treatment - \ # ---------- Models - HD - Adjustment - In-Treatment - \ # ---------- Models - HD - Adjustment - End-Treatment - \ # ---------- Models - HD - Adjustment - Post-Treatment - \ # ---------- Models - HD - Adjustment - Disinfeection - \ # ---------- Models - HD - Data - Pre-Treatment - Progress - \ # ---------- Models - HD - Data - \ # ---------- Models - HD - Data - Treatment Log - \ # ---------- Models - DG - Adjustment - \ # ---------- Models - DG - Adjustment - Settings - \ # ---------- Models - DG - Data - Pre-Treatment - Progress - \ # ---------- Models - DG - Data - Disinfect - Progress - \ # ---------- Models - DG - Data + \ # ---------- Models - Alarm + sources/model/hd/alarm/MAlarmActiveList.h \ \ # CANBus sources/canbus/CanInterface.h \ sources/canbus/FrameInterface.h \ - \ # Denali Message - sources/canbus/MessageGlobals.h \ + sources/canbus/MessageInterpreter.h \ + \ # Leahi Message sources/canbus/MessageAcknowModel.h \ sources/canbus/MessageBuilder.h \ - sources/canbus/MessageInterpreter.h \ - sources/canbus/MessageDispatcher.h \ \ # Gui - sources/gui/GuiGlobals.h \ sources/gui/GuiView.h \ sources/gui/GuiController.h \ \ # ---------- Views ---------- - sources/view/VTreatmentCreate.h \ sources/view/VEventSpy.h \ - sources/view/VView.h \ sources/view/VGeneralEvent.h \ sources/device/DeviceView.h \ + sources/view/hd/alarm/VAlarmActiveList.h \ \ # ---------- Views - CONFIRM sources/view/confirm/VConfirm.h \ - \ # ---------- Views - POST \ # ---------- Views - Settings sources/view/settings/VDateTime.h \ sources/view/settings/VSettings.h \ sources/view/settings/VLocalization.h \ sources/view/settings/VBluetooth.h \ - sources/view/settings/VAdjustmentVersions.h \ - sources/view/settings/VAdjustmentAlarmVolume.h \ sources/view/settings/VCloudSync.h \ - \ # ---------- Views - Alarm - \ # ---------- Views - HD - Adjustment sources/view/VAdjustmentResponseBase.h \ - \ # ---------- Views - HD - Adjustment - common - \ # ---------- Views - HD - Adjustment - Pre-Treatment - \ # ---------- Views - HD - Adjustment - In-Treatment - \ # ---------- Views - HD - Adjustment - End-Treatment - \ # ---------- Views - HD - Adjustment - Post-Treatment - \ # ---------- Views - HD - Adjustment - Disinfection - \ # ---------- Views - HD - Data - States - \ # ---------- Views - HD - Data - Pre-Treatment - Progress - \ # ---------- Views - HD - Data - \ # ---------- Views - DG - Data - Pre-Treatment - Progress - \ # ---------- Views - DG - Data - Disinfection - Progress - \ # ---------- Views - DG - States - \ # ---------- Views - DG - Data \ # Storage sources/storage/StorageGlobals.h \ sources/storage/Logger.h \ @@ -221,10 +140,161 @@ sources/utility/format.h \ sources/utility/types.h \ sources/utility/encryption.h \ - sources/utility/qrcodegen.h + sources/utility/qrcodegen.h \ +HEADERS += \ + sources/gui/GuiGlobalsAutoGen.h \ + sources/canbus/MessageGlobalsAutoGen.h \ + sources/model/MModelAutoGen.h \ + sources/model/model_autogen/MAlarmStatusData.h \ + sources/model/model_autogen/MAlarmTriggered.h \ + sources/model/model_autogen/MAlarmCleared.h \ + sources/model/model_autogen/MAlarmConditionCleared.h \ + sources/model/model_autogen/MTDAlarmInformationData.h \ + sources/model/model_autogen/MDDAlarmInfoData.h \ + sources/model/model_autogen/MUIActiveAlarmsListRequest.h \ + sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.h \ + sources/model/model_autogen/MFWVersionsRequest.h \ + sources/model/model_autogen/MTDVersionResponse.h \ + sources/model/model_autogen/MDDVersionResponse.h \ + sources/model/model_autogen/MUICheckIN.h \ + sources/model/model_autogen/MTDBloodPumpData.h \ + sources/model/model_autogen/MTDOPModeData.h \ + sources/model/model_autogen/MDDOPModeData.h \ + sources/model/model_autogen/MTDEvent.h \ + sources/model/model_autogen/MDDEvent.h \ + sources/model/model_autogen/MDDValvesStatesData.h \ + sources/model/model_autogen/MDDPressuresData.h \ + sources/model/model_autogen/MTDVoltagesData.h \ + sources/model/model_autogen/MTDBubblesData.h \ + sources/model/model_autogen/MDDConductivityData.h \ + sources/model/model_autogen/MTDAirPumpData.h \ + sources/model/model_autogen/MTDSwitchesData.h \ + sources/model/model_autogen/MPowerOffWarning.h \ + sources/model/model_autogen/MOffButtonPressRequest.h \ + sources/model/model_autogen/MTDPressureData.h \ + sources/model/model_autogen/MDDConcentratePumpData.h \ + sources/model/model_autogen/MDDTemperatureData.h \ + sources/model/model_autogen/MDialysatePumpsData.h \ + sources/model/model_autogen/MDDHeatersData.h \ + sources/model/model_autogen/MDDLevelData.h \ + sources/model/model_autogen/MTDAirTrapData.h \ + sources/model/model_autogen/MTDValvesData.h \ + sources/model/model_autogen/MROEvent.h \ + sources/model/model_autogen/MROAlarmInfoData.h \ + sources/model/model_autogen/MDDBalChamberData.h \ + sources/model/model_autogen/MDDGenDialysateModeData.h \ + sources/model/model_autogen/MDDGenDialysateRequestData.h \ + sources/model/model_autogen/MROValvesStatesData.h \ + sources/model/model_autogen/MROPumpData.h \ + sources/model/model_autogen/MROOPModeData.h \ + sources/model/model_autogen/MROPressuresData.h \ + sources/model/model_autogen/MROLevelData.h \ + sources/model/model_autogen/MROFlowData.h \ + sources/model/model_autogen/MROConductivityData.h \ + sources/model/model_autogen/MDDROStartStopCmdRequest.h \ + sources/model/model_autogen/MROTemperatureData.h \ + sources/model/model_autogen/MROHeaterData.h \ + sources/model/model_autogen/MTDTreatmentTimeData.h \ + sources/model/model_autogen/MTDTreatmentStateData.h \ + sources/model/model_autogen/MTDSalineBolusData.h \ + sources/model/model_autogen/MTDUltrafiltrationData.h \ + sources/model/model_autogen/MUITreatmentParamsTOValidate.h \ + sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.h \ + sources/model/model_autogen/MUIUltrafiltrationVolumeTOValidate.h \ + sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.h \ + sources/model/model_autogen/MTDTreatmentParamRanges.h \ + sources/model/model_autogen/MUITreatmentParamsConfirmed.h \ + sources/model/model_autogen/MUIInitiateTreatmentWorkflow.h \ + sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.h \ + sources/model/model_autogen/MUIUFPauseResumeRequest.h \ + sources/model/model_autogen/MTDUFPauseResumeResponse.h \ + sources/model/model_autogen/MROGenWaterModeData.h \ + sources/model/model_autogen/MDDPreGenDialysateStateData.h \ + sources/model/model_autogen/MDDPostGenDialysateStateData.h \ + sources/model/model_autogen/MDDPreGenDialysateRequestData.h \ + sources/model/model_autogen/MROPreGenWaterModeData.h \ + sources/model/model_autogen/MTDEjectorData.h \ + sources/model/model_autogen/MTDTreatmentSetPoints.h \ + sources/model/model_autogen/MDDPistonPumpControlData.h \ + sources/model/model_autogen/MAckMessageThatRequiresAck.h \ + sources/view/view_autogen/VAlarmStatus.h \ + sources/view/view_autogen/VAlarmTriggered.h \ + sources/view/view_autogen/VAlarmCleared.h \ + sources/view/view_autogen/VAlarmConditionCleared.h \ + sources/view/view_autogen/VTDAlarmInformation.h \ + sources/view/view_autogen/VDDAlarmInfo.h \ + sources/view/view_autogen/VUIActiveAlarmsListRequest.h \ + sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.h \ + sources/view/view_autogen/VFWVersionsRequest.h \ + sources/view/view_autogen/VTDVersionResponse.h \ + sources/view/view_autogen/VDDVersionResponse.h \ + sources/view/view_autogen/VUICheckIN.h \ + sources/view/view_autogen/VTDBloodPump.h \ + sources/view/view_autogen/VTDOPMode.h \ + sources/view/view_autogen/VDDOPMode.h \ + sources/view/view_autogen/VTDEvent.h \ + sources/view/view_autogen/VDDEvent.h \ + sources/view/view_autogen/VDDValvesStates.h \ + sources/view/view_autogen/VDDPressures.h \ + sources/view/view_autogen/VTDVoltages.h \ + sources/view/view_autogen/VTDBubbles.h \ + sources/view/view_autogen/VDDConductivity.h \ + sources/view/view_autogen/VTDAirPump.h \ + sources/view/view_autogen/VTDSwitches.h \ + sources/view/view_autogen/VPowerOffWarning.h \ + sources/view/view_autogen/VOffButtonPressRequest.h \ + sources/view/view_autogen/VTDPressure.h \ + sources/view/view_autogen/VDDConcentratePump.h \ + sources/view/view_autogen/VDDTemperature.h \ + sources/view/view_autogen/VDialysatePumps.h \ + sources/view/view_autogen/VDDHeaters.h \ + sources/view/view_autogen/VDDLevel.h \ + sources/view/view_autogen/VTDAirTrap.h \ + sources/view/view_autogen/VTDValves.h \ + sources/view/view_autogen/VROEvent.h \ + sources/view/view_autogen/VROAlarmInfo.h \ + sources/view/view_autogen/VDDBalChamber.h \ + sources/view/view_autogen/VDDGenDialysateMode.h \ + sources/view/view_autogen/VDDGenDialysateRequest.h \ + sources/view/view_autogen/VROValvesStates.h \ + sources/view/view_autogen/VROPump.h \ + sources/view/view_autogen/VROOPMode.h \ + sources/view/view_autogen/VROPressures.h \ + sources/view/view_autogen/VROLevel.h \ + sources/view/view_autogen/VROFlow.h \ + sources/view/view_autogen/VROConductivity.h \ + sources/view/view_autogen/VDDROStartStopCmdRequest.h \ + sources/view/view_autogen/VROTemperature.h \ + sources/view/view_autogen/VROHeater.h \ + sources/view/view_autogen/VTDTreatmentTime.h \ + sources/view/view_autogen/VTDTreatmentState.h \ + sources/view/view_autogen/VTDSalineBolus.h \ + sources/view/view_autogen/VTDUltrafiltration.h \ + sources/view/view_autogen/VUITreatmentParamsTOValidate.h \ + sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.h \ + sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.h \ + sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.h \ + sources/view/view_autogen/VTDTreatmentParamRanges.h \ + sources/view/view_autogen/VUITreatmentParamsConfirmed.h \ + sources/view/view_autogen/VUIInitiateTreatmentWorkflow.h \ + sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.h \ + sources/view/view_autogen/VUIUFPauseResumeRequest.h \ + sources/view/view_autogen/VTDUFPauseResumeResponse.h \ + sources/view/view_autogen/VROGenWaterMode.h \ + sources/view/view_autogen/VDDPreGenDialysateState.h \ + sources/view/view_autogen/VDDPostGenDialysateState.h \ + sources/view/view_autogen/VDDPreGenDialysateRequest.h \ + sources/view/view_autogen/VROPreGenWaterMode.h \ + sources/view/view_autogen/VTDEjector.h \ + sources/view/view_autogen/VTDTreatmentSetPoints.h \ + sources/view/view_autogen/VDDPistonPumpControl.h \ + sources/view/view_autogen/VAckMessageThatRequiresAck.h \ + sources/view/valarmstatushelper.h \ + sources/view/VViewAutoGen.h \ + sources/canbus/MessageDispatcherAutoGen.h \ + SOURCES += \ - \ # common \ # Main main.cpp \ sources/Threads.cpp \ @@ -236,84 +306,42 @@ sources/ApplicationController.cpp \ sources/device/DeviceController.cpp \ sources/storage/Settings.cpp \ - sources/storage/TreatmentLog.cpp \ sources/bluetooth/BluetoothInterface.cpp \ sources/cloudsync/CloudSyncController.cpp \ \ # ---------- Models ---------- sources/model/MAbstract.cpp \ sources/model/MAbstractDynamic.cpp \ sources/device/DeviceModels.cpp \ - \ # ---------- Models - TD - Data - States - \ # ---------- Models - CONFIRM - \ # ---------- Models - POST \ # ---------- Models - settings sources/model/settings/MSettings.cpp \ sources/model/settings/MBluetooth.cpp \ \ # ---------- Models - Alarm sources/model/hd/alarm/MAlarmMapping.cpp \ - \ # ---------- Models - Data - States - \ # ---------- Models - HD - Adjustment - \ # ---------- Models - HD - Adjustment - Settings - \ # ---------- Models - HD - Adjustment - Pre-Treatment - \ # ---------- Models - HD - Adjustment - In-Treatment - \ # ---------- Models - HD - Adjustment - End-Treatment - \ # ---------- Models - HD - Adjustment - Post-Treatment - \ # ---------- Models - HD - Adjustment - Disinfection - \ # ---------- Models - HD - Data - \ # ---------- Models - HD - Data - Pre-Treatment - \ # ---------- Models - HD - Data - Treatment Log - \ # ---------- Models - DG - Adjustment - \ # ---------- Models - DG - Adjustment - Settings - \ # ---------- Models - DG - Data - Pre-Treatment - Progress - \ # ---------- Models - DG - Data - Disinfection - Progress - \ # ---------- Models - DG - Data + sources/model/hd/alarm/MAlarmActiveList.cpp \ \ # CANBus sources/canbus/CanInterface.cpp \ sources/canbus/FrameInterface.cpp \ \ # Denali Message sources/canbus/MessageAcknowModel.cpp \ sources/canbus/MessageBuilder.cpp \ - sources/canbus/MessageDispatcher.cpp \ - sources/canbus/MessageInterpreter.cpp \ \ # Gui - sources/gui/GuiGlobals.cpp \ sources/gui/GuiView.cpp \ sources/gui/GuiController.cpp \ \ # ---------- Views ---------- - sources/view/VTreatmentCreate.cpp \ sources/view/VEventSpy.cpp \ sources/view/VGeneralEvent.cpp \ sources/device/DeviceView.cpp \ - \ # ---------- Views - TD - States Data \ # ---------- Views - CONFIRM sources/view/confirm/VConfirm.cpp \ - \ # ---------- Views - POST - \ # ---------- Views - Alarm + sources/view/hd/alarm/VAlarmActiveList.cpp \ \ # ---------- Views - Settings sources/view/settings/VSettings.cpp \ sources/view/settings/VLocalization.cpp \ sources/view/settings/VDateTime.cpp \ sources/view/settings/VBluetooth.cpp \ - sources/view/settings/VAdjustmentVersions.cpp \ - sources/view/settings/VAdjustmentAlarmVolume.cpp \ sources/view/settings/VCloudSync.cpp \ \ # ---------- Views - HD - Adjustment sources/view/VAdjustmentResponseBase.cpp \ - \ # ---------- Views - HD - Adjustment - common - \ # ---------- Views - HD - Adjustment - Pre-Treatment - \ # ---------- Views - HD - Adjustment - In-Treatment - \ # ---------- Views - HD - Adjustment - End-Treatment - \ # ---------- Views - HD - Adjustment - Post-Treatment - \ # ---------- Views - HD - Adjustment - Disinfection - \ # ---------- Views - HD - States Data - \ # ---------- Views - HD - Data - \ # ---------- Views - HD - Data - Pre-Treatment - \ # ---------- Views - HD - Data - In-Treatment - \ # ---------- Views - HD - Data - End-Treatment - \ # ---------- Views - DG - Data - Pre-Treatment - Progress - \ # ---------- Views - DG - Data - Disinfect - Progress - \ # ---------- Views - DG - States - \ # ---------- Views - DG - Data \ # Storage sources/storage/StorageGlobals.cpp \ sources/storage/FileHandler.cpp \ @@ -323,8 +351,150 @@ sources/utility/format.cpp \ sources/utility/types.cpp \ sources/utility/encryption.cpp \ - sources/utility/qrcodegen.cpp + sources/utility/qrcodegen.cpp \ +SOURCES += \ + sources/gui/GuiGlobalsAutoGen.cpp \ + sources/canbus/MessageInterpreterAutoGen.cpp \ + sources/model/model_autogen/MAlarmStatusData.cpp \ + sources/model/model_autogen/MAlarmTriggered.cpp \ + sources/model/model_autogen/MAlarmCleared.cpp \ + sources/model/model_autogen/MAlarmConditionCleared.cpp \ + sources/model/model_autogen/MTDAlarmInformationData.cpp \ + sources/model/model_autogen/MDDAlarmInfoData.cpp \ + sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.cpp \ + sources/model/model_autogen/MTDVersionResponse.cpp \ + sources/model/model_autogen/MDDVersionResponse.cpp \ + sources/model/model_autogen/MTDBloodPumpData.cpp \ + sources/model/model_autogen/MTDOPModeData.cpp \ + sources/model/model_autogen/MDDOPModeData.cpp \ + sources/model/model_autogen/MTDEvent.cpp \ + sources/model/model_autogen/MDDEvent.cpp \ + sources/model/model_autogen/MDDValvesStatesData.cpp \ + sources/model/model_autogen/MDDPressuresData.cpp \ + sources/model/model_autogen/MTDVoltagesData.cpp \ + sources/model/model_autogen/MTDBubblesData.cpp \ + sources/model/model_autogen/MDDConductivityData.cpp \ + sources/model/model_autogen/MTDAirPumpData.cpp \ + sources/model/model_autogen/MTDSwitchesData.cpp \ + sources/model/model_autogen/MPowerOffWarning.cpp \ + sources/model/model_autogen/MOffButtonPressRequest.cpp \ + sources/model/model_autogen/MTDPressureData.cpp \ + sources/model/model_autogen/MDDConcentratePumpData.cpp \ + sources/model/model_autogen/MDDTemperatureData.cpp \ + sources/model/model_autogen/MDialysatePumpsData.cpp \ + sources/model/model_autogen/MDDHeatersData.cpp \ + sources/model/model_autogen/MDDLevelData.cpp \ + sources/model/model_autogen/MTDAirTrapData.cpp \ + sources/model/model_autogen/MTDValvesData.cpp \ + sources/model/model_autogen/MROEvent.cpp \ + sources/model/model_autogen/MROAlarmInfoData.cpp \ + sources/model/model_autogen/MDDBalChamberData.cpp \ + sources/model/model_autogen/MDDGenDialysateModeData.cpp \ + sources/model/model_autogen/MDDGenDialysateRequestData.cpp \ + sources/model/model_autogen/MROValvesStatesData.cpp \ + sources/model/model_autogen/MROPumpData.cpp \ + sources/model/model_autogen/MROOPModeData.cpp \ + sources/model/model_autogen/MROPressuresData.cpp \ + sources/model/model_autogen/MROLevelData.cpp \ + sources/model/model_autogen/MROFlowData.cpp \ + sources/model/model_autogen/MROConductivityData.cpp \ + sources/model/model_autogen/MDDROStartStopCmdRequest.cpp \ + sources/model/model_autogen/MROTemperatureData.cpp \ + sources/model/model_autogen/MROHeaterData.cpp \ + sources/model/model_autogen/MTDTreatmentTimeData.cpp \ + sources/model/model_autogen/MTDTreatmentStateData.cpp \ + sources/model/model_autogen/MTDSalineBolusData.cpp \ + sources/model/model_autogen/MTDUltrafiltrationData.cpp \ + sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.cpp \ + sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.cpp \ + sources/model/model_autogen/MTDTreatmentParamRanges.cpp \ + sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.cpp \ + sources/model/model_autogen/MTDUFPauseResumeResponse.cpp \ + sources/model/model_autogen/MROGenWaterModeData.cpp \ + sources/model/model_autogen/MDDPreGenDialysateStateData.cpp \ + sources/model/model_autogen/MDDPostGenDialysateStateData.cpp \ + sources/model/model_autogen/MDDPreGenDialysateRequestData.cpp \ + sources/model/model_autogen/MROPreGenWaterModeData.cpp \ + sources/model/model_autogen/MTDEjectorData.cpp \ + sources/model/model_autogen/MTDTreatmentSetPoints.cpp \ + sources/model/model_autogen/MDDPistonPumpControlData.cpp \ + sources/model/model_autogen/MAckMessageThatRequiresAck.cpp \ + sources/view/view_autogen/VAlarmStatus.cpp \ + sources/view/view_autogen/VAlarmTriggered.cpp \ + sources/view/view_autogen/VAlarmCleared.cpp \ + sources/view/view_autogen/VAlarmConditionCleared.cpp \ + sources/view/view_autogen/VTDAlarmInformation.cpp \ + sources/view/view_autogen/VDDAlarmInfo.cpp \ + sources/view/view_autogen/VUIActiveAlarmsListRequest.cpp \ + sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.cpp \ + sources/view/view_autogen/VFWVersionsRequest.cpp \ + sources/view/view_autogen/VTDVersionResponse.cpp \ + sources/view/view_autogen/VDDVersionResponse.cpp \ + sources/view/view_autogen/VUICheckIN.cpp \ + sources/view/view_autogen/VTDBloodPump.cpp \ + sources/view/view_autogen/VTDOPMode.cpp \ + sources/view/view_autogen/VDDOPMode.cpp \ + sources/view/view_autogen/VTDEvent.cpp \ + sources/view/view_autogen/VDDEvent.cpp \ + sources/view/view_autogen/VDDValvesStates.cpp \ + sources/view/view_autogen/VDDPressures.cpp \ + sources/view/view_autogen/VTDVoltages.cpp \ + sources/view/view_autogen/VTDBubbles.cpp \ + sources/view/view_autogen/VDDConductivity.cpp \ + sources/view/view_autogen/VTDAirPump.cpp \ + sources/view/view_autogen/VTDSwitches.cpp \ + sources/view/view_autogen/VPowerOffWarning.cpp \ + sources/view/view_autogen/VOffButtonPressRequest.cpp \ + sources/view/view_autogen/VTDPressure.cpp \ + sources/view/view_autogen/VDDConcentratePump.cpp \ + sources/view/view_autogen/VDDTemperature.cpp \ + sources/view/view_autogen/VDialysatePumps.cpp \ + sources/view/view_autogen/VDDHeaters.cpp \ + sources/view/view_autogen/VDDLevel.cpp \ + sources/view/view_autogen/VTDAirTrap.cpp \ + sources/view/view_autogen/VTDValves.cpp \ + sources/view/view_autogen/VROEvent.cpp \ + sources/view/view_autogen/VROAlarmInfo.cpp \ + sources/view/view_autogen/VDDBalChamber.cpp \ + sources/view/view_autogen/VDDGenDialysateMode.cpp \ + sources/view/view_autogen/VDDGenDialysateRequest.cpp \ + sources/view/view_autogen/VROValvesStates.cpp \ + sources/view/view_autogen/VROPump.cpp \ + sources/view/view_autogen/VROOPMode.cpp \ + sources/view/view_autogen/VROPressures.cpp \ + sources/view/view_autogen/VROLevel.cpp \ + sources/view/view_autogen/VROFlow.cpp \ + sources/view/view_autogen/VROConductivity.cpp \ + sources/view/view_autogen/VDDROStartStopCmdRequest.cpp \ + sources/view/view_autogen/VROTemperature.cpp \ + sources/view/view_autogen/VROHeater.cpp \ + sources/view/view_autogen/VTDTreatmentTime.cpp \ + sources/view/view_autogen/VTDTreatmentState.cpp \ + sources/view/view_autogen/VTDSalineBolus.cpp \ + sources/view/view_autogen/VTDUltrafiltration.cpp \ + sources/view/view_autogen/VUITreatmentParamsTOValidate.cpp \ + sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.cpp \ + sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.cpp \ + sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.cpp \ + sources/view/view_autogen/VTDTreatmentParamRanges.cpp \ + sources/view/view_autogen/VUITreatmentParamsConfirmed.cpp \ + sources/view/view_autogen/VUIInitiateTreatmentWorkflow.cpp \ + sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.cpp \ + sources/view/view_autogen/VUIUFPauseResumeRequest.cpp \ + sources/view/view_autogen/VTDUFPauseResumeResponse.cpp \ + sources/view/view_autogen/VROGenWaterMode.cpp \ + sources/view/view_autogen/VDDPreGenDialysateState.cpp \ + sources/view/view_autogen/VDDPostGenDialysateState.cpp \ + sources/view/view_autogen/VDDPreGenDialysateRequest.cpp \ + sources/view/view_autogen/VROPreGenWaterMode.cpp \ + sources/view/view_autogen/VTDEjector.cpp \ + sources/view/view_autogen/VTDTreatmentSetPoints.cpp \ + sources/view/view_autogen/VDDPistonPumpControl.cpp \ + sources/view/view_autogen/VAckMessageThatRequiresAck.cpp \ + sources/canbus/MessageDispatcherAutoGen.cpp \ + sources/view/valarmstatushelper.cpp \ + RESOURCES += \ leahi.qrc Index: leahi.pro.user =================================================================== diff -u -r712f4c8a1b2382919300895b4422b831471044a3 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- leahi.pro.user (.../leahi.pro.user) (revision 712f4c8a1b2382919300895b4422b831471044a3) +++ leahi.pro.user (.../leahi.pro.user) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -1,6 +1,6 @@ - + EnvironmentId @@ -13,8 +13,8 @@ ProjectExplorer.Project.EditorSettings - true true + false true Cpp @@ -33,12 +33,10 @@ false 4 false - 0 80 true true 1 - 0 false true false @@ -80,7 +78,6 @@ true Builtin.DefaultTidyAndClazy 1 - false /home/denali/Public/luis/application/leahi.pro @@ -101,7 +98,7 @@ Desktop Qt 5.15.10 GCC 64bit Desktop Qt 5.15.10 GCC 64bit qt.qt5.51510.gcc_64_kit - 0 + 1 0 0 @@ -111,7 +108,8 @@ true - %{sourceDir}/imake.sh + "" 0 + /home/denali/Public/luis/application/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -157,14 +155,14 @@ Qt4ProjectManager.Qt4BuildConfiguration 2 0 - 0 ../../tmp/build/leahi-Qt_5_15_10_GCC-Release ../../tmp/build/leahi-Qt_5_15_10_GCC-Release true + 0 0 %{sourceDir}/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -181,7 +179,8 @@ true - -b --tag leahi >> leahi + -b --tag leahi >> leahi + sha256sum %{buildDir} ProjectExplorer.ProcessStep @@ -212,7 +211,49 @@ 0 0 - 2 + + 0 + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_GCC-Profile + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_GCC-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 0 @@ -227,20 +268,21 @@ 1 + true true + true 2 - false - leahi - Qt4ProjectManager.Qt4RunConfiguration: + Qt4ProjectManager.Qt4RunConfiguration:/home/denali/Public/luis/application/leahi.pro /home/denali/Public/luis/application/leahi.pro - true + -Kk + false true true + false true - %{ActiveProject:RunConfig:Executable:Path} - /home/denali/Public/tmp/build/leahi-Qt_5_15_10_GCC-Debug + /home/denali/Public/tmp/build/leahi-Qt_5_15_10_GCC-Release 1 @@ -262,7 +304,7 @@ true - %{sourceDir}/imake.sh + %{ActiveProject:ProjectDirectory}/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -278,7 +320,7 @@ true - -b --tag leahi >> leahi + -b --tag denali >> denali sha256sum %{buildDir} ProjectExplorer.ProcessStep @@ -315,7 +357,8 @@ true - %{sourceDir}/imake.sh + 0 0 + %{ActiveProject:ProjectDirectory}/imake.sh %{sourceDir} ProjectExplorer.ProcessStep @@ -331,7 +374,7 @@ true - -b --tag leahi >> leahi + -b --tag denali >> denali sha256sum %{buildDir} ProjectExplorer.ProcessStep @@ -362,7 +405,49 @@ 0 0 - 2 + + 0 + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Profile + /home/denali/Projects/tmp/build/leahi-Qt_5_15_10_iMX8-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 @@ -378,12 +463,120 @@ true RemoteLinux.DirectUploadStep - - - - - - + + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Debug/denali + /home/denali/Projects/tmp/build/build-denali-Qt_5_15_10_iMX8-Release/denali + + + 192.168.137.170 + 192.168.137.25 + 192.168.137.3 + 192.168.10.186 + 192.168.40.23 + 192.168.137.125 + 192.168.137.30 + 192.168.10.186 + 192.168.137.26 + 192.168.10.138 + 192.168.137.210 + 192.168.137.202 + 192.168.10.159 + 192.168.137.36 + 192.168.10.228 + 192.168.10.167 + 192.168.10.228 + + + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + /home/root + + + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots/x86_64-pokysdk-linux + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + /opt/b2qt/3.1.18/sysroots + + + 2023-01-27T10:15:15.423 + 2023-02-02T02:13:54.596 + 2023-02-02T02:40:56.627 + 2023-01-18T17:47:08.797 + 2023-01-24T17:29:54.849 + 2023-02-02T02:07:25.922 + 2023-02-02T02:30:48.337 + 2023-01-18T20:13:36.296 + 2023-02-01T05:00:56.449 + 2023-02-02T09:06:00.862 + 2023-02-02T01:52:20.307 + 2023-02-02T01:46:50.167 + 2023-01-24T18:19:13.179 + 2023-02-01T03:23:15.710 + 2023-01-17T18:18:03.749 + 2023-02-02T19:40:15.813 + 2023-01-17T18:06:25.579 + + + 2023-01-27T10:15:08.000 + 2023-02-02T02:14:08.000 + 2023-02-02T02:41:10.000 + 2023-01-18T17:47:04.000 + 2023-01-24T17:30:03.000 + 2023-02-02T02:07:21.000 + 2023-02-02T02:31:01.000 + 2023-01-18T20:13:33.000 + 2023-02-01T05:00:51.000 + 2023-02-02T09:05:22.000 + 2023-02-02T01:52:16.000 + 2023-02-02T01:47:02.000 + 2023-01-24T18:18:58.000 + 2023-02-01T03:23:28.000 + 2023-01-17T18:17:25.000 + 2023-02-02T19:39:36.000 + 2023-01-17T18:05:42.000 + 2 Deploy @@ -397,18 +590,20 @@ 1 + true true + true 1 - false leahi (on %{Device:Name}) - RemoteLinuxRunConfiguration: + RemoteLinuxRunConfiguration:/home/denali/Public/luis/application/leahi.pro /home/denali/Public/luis/application/leahi.pro - false 1 + false true true + false true :0 Index: leahi.qrc =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- leahi.qrc (.../leahi.qrc) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ leahi.qrc (.../leahi.qrc) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -12,20 +12,15 @@ sources/gui/qml/pages/settings/SettingsHome.qml sources/gui/qml/pages/settings/SettingsDateTime.qml sources/gui/qml/pages/settings/SettingsWiFi.qml - sources/gui/qml/pages/settings/SettingsDGCleaning.qml - sources/gui/qml/pages/settings/SettingsDGScheduling.qml sources/gui/qml/pages/settings/SettingsVolumeBrightness.qml - sources/gui/qml/pages/settings/SettingsBluetoothCuff.qml sources/gui/qml/pages/settings/SettingsExportLogs.qml - sources/gui/qml/pages/settings/SettingsDeviceRegistration.qml sources/gui/qml/pages/settings/SettingsInformation.qml sources/gui/qml/pages/settings/SettingsROInput.qml sources/gui/qml/pages/settings/SettingsRootSSHAccess.qml sources/gui/qml/pages/settings/SettingsServicePassword.qml sources/gui/qml/pages/settings/SettingsManufacturingSetup.qml sources/gui/qml/pages/settings/SettingsFactoryReset.qml sources/gui/qml/pages/settings/SettingsDecommission.qml - sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml sources/gui/qml/pages/settings/SettingsLocalization.qml @@ -188,71 +183,4 @@ sources/gui/qml/globals/qmldir sources/gui/qml/globals/Fonts.qml - - sources/gui/qml/pages/disinfect/DisinfectBase.qml - sources/gui/qml/pages/disinfect/DisinfectStack.qml - - - sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml - sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml - sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml - sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml - sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml - sources/gui/qml/pages/pretreatment/PreTreatmentPrimeStack.qml - - - sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml - sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml - sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml - - - sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml - sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml - - - sources/gui/qml/pages/treatment/TreatmentStack.qml - sources/gui/qml/pages/treatment/TreatmentHome.qml - sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml - sources/gui/qml/pages/treatment/TreatmentUltrafiltrationItem.qml - - - sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml - sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml - sources/gui/qml/pages/treatment/sections/TreatmentPressures.qml - sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml - sources/gui/qml/pages/treatment/sections/TreatmentFluid.qml - sources/gui/qml/pages/treatment/sections/TreatmentTime.qml - sources/gui/qml/pages/treatment/sections/TreatmentSaline.qml - sources/gui/qml/pages/treatment/sections/TreatmentHeparin.qml - - - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBase.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDuration.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationPaused.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml - sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml - - - sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml - sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml - sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml - sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml - - - sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackInit.qml - sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinseback.qml - sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackComplete.qml - sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentAdditional.qml - sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackReconnect.qml - - - - - sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml - sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml - sources/gui/qml/pages/posttreatment/PostTreatmentReview.qml - Index: main.cpp =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- main.cpp (.../main.cpp) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ main.cpp (.../main.cpp) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -45,7 +45,7 @@ #include "CanInterface.h" #include "FrameInterface.h" #include "MessageAcknowModel.h" -#include "MessageDispatcher.h" +#include "MessageDispatcherAutoGen.h" #include "ApplicationController.h" #include "GuiController.h" #include "Logger.h" Index: sources/AlarmGenerator.cpp =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/AlarmGenerator.cpp (.../AlarmGenerator.cpp) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/AlarmGenerator.cpp (.../AlarmGenerator.cpp) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -59,10 +59,10 @@ 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. + //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; } Index: sources/ApplicationController.cpp =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/ApplicationController.cpp (.../ApplicationController.cpp) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/ApplicationController.cpp (.../ApplicationController.cpp) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -19,7 +19,7 @@ // Project #include "MainTimer.h" -#include "MessageDispatcher.h" +#include "MessageDispatcherAutoGen.h" #include "Logger.h" #include "DeviceController.h" //#include "FileHandler.h" @@ -350,25 +350,29 @@ */ void ApplicationController::checkIn() { - // DEBUG: return; -#ifndef DISABLE_KEEP_ALIVE - QVariantList mData; - int mFakeDataLen = gFakeData.length(); - if (mFakeDataLen) { - if (gFakeSeqAtBegin) { - createFakeSeqAtBeginLongMessage(mData, mFakeDataLen); - } - else { - createFakeSequencedLongMessage (mData, mFakeDataLen); - } - } - else { - mData += static_cast(GuiActionData::NoData); - } + UICheckINData mData; + onAdjustment(mData); - // AUTOGEN ISSUE - onActionTransmit(GuiActionType::ID_TDCheckIn, mData); -#endif + // DEBUG: return; +//#ifndef DISABLE_KEEP_ALIVE +// QVariantList mData; +// int mFakeDataLen = gFakeData.length(); +// if (mFakeDataLen) { +// if (gFakeSeqAtBegin) { +// createFakeSeqAtBeginLongMessage(mData, mFakeDataLen); +// } +// else { +// createFakeSequencedLongMessage (mData, mFakeDataLen); +// } +// } +// else { +// versionsRequest (); // TODO REMOVE THIS LINE FOR TESTING +// //mData += static_cast(GuiActionData::NoData); +// } +// +// // AUTOGEN ISSUE +// onActionTransmit(GuiActionType::ID_UICheckIN, mData); +//#endif } /*! @@ -663,8 +667,8 @@ */ void ApplicationController::versionsRequest() { // AUTOGEN ISSUE - //AdjustVersionsRequestData adjustVersionsRequestData; - //emit didAdjustment(adjustVersionsRequestData); + FWVersionsRequestData adjustVersionsRequestData; + emit didAdjustment(adjustVersionsRequestData); LOG_DEBUG("POSTVersionReq Sent"); } Index: sources/ApplicationController.h =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/ApplicationController.h (.../ApplicationController.h) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/ApplicationController.h (.../ApplicationController.h) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -19,11 +19,9 @@ // Project #include "main.h" // Doxygen : do not remove -//#include "MModel.h" #include "MModelAutoGen.h" #include "ApplicationPost.h" #include "GuiGlobalsAutoGen.h" -//#include "GuiGlobalsAutoGen.h" #include "MessageGlobalsAutoGen.h" #include "DeviceGlobals.h" Index: sources/canbus/FrameInterface.cpp =================================================================== diff -u -rf2e4eba6e85c5d36537be782926f23cc9dc01037 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/canbus/FrameInterface.cpp (.../FrameInterface.cpp) (revision f2e4eba6e85c5d36537be782926f23cc9dc01037) +++ sources/canbus/FrameInterface.cpp (.../FrameInterface.cpp) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -21,7 +21,7 @@ // Project #include "Logger.h" -#include "MessageDispatcher.h" +#include "MessageDispatcherAutoGen.h" #include "CanInterface.h" // namespace Index: sources/canbus/MessageAcknowModel.cpp =================================================================== diff -u -rf2e4eba6e85c5d36537be782926f23cc9dc01037 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/canbus/MessageAcknowModel.cpp (.../MessageAcknowModel.cpp) (revision f2e4eba6e85c5d36537be782926f23cc9dc01037) +++ sources/canbus/MessageAcknowModel.cpp (.../MessageAcknowModel.cpp) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -19,7 +19,7 @@ #include // Project -#include "MessageDispatcher.h" +#include "MessageDispatcherAutoGen.h" // namespace using namespace Can; Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/canbus/MessageDispatcher.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/canbus/MessageDispatcher.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/canbus/MessageDispatcherAutoGen.cpp =================================================================== diff -u --- sources/canbus/MessageDispatcherAutoGen.cpp (revision 0) +++ sources/canbus/MessageDispatcherAutoGen.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,585 @@ + +#include "MessageDispatcherAutoGen.h" + +// Qt +#include +#include + +// Project +#include "Logger.h" +#include "ApplicationController.h" +#include "FrameInterface.h" +#include "MessageAcknowModel.h" + +//#define DEBUG_ACKBACK_HD_TO_UI +//#define DEBUG_OUT_OF_SYNC + +using namespace Can; + +/*! + * \brief MessageDispatcher::MessageDispatcher + * \details Constructor + * \param parent - QObject parent owner object. + * Qt handles the children destruction by their parent objects life-cycle. + */ +MessageDispatcher::MessageDispatcher(QObject *parent) : QObject(parent) { } + +/*! + * \brief Message Handler initializer + */ +bool MessageDispatcher::init() +{ + if ( _init ) return false; + _init = true; + + // runs in the thread + initConnections(); + + LOG_DEBUG(QString("%1 Initialized").arg(metaObject()->className())); + + return true; +} + +/*! + * \brief MessageDispatcher::init + * \details Initialized the Class by calling the init() method first + * And initializes the thread vThread by calling initThread + * on success init(). + * \param vThread - the thread + * \return returns the return value of the init() method + */ +bool MessageDispatcher::init(QThread &vThread) +{ + if ( ! init() ) return false; + initThread(vThread); + return true; +} + +/*! + * \brief MessageDispatcher::quit + * \details quits the class + * Calls quitThread + */ +void MessageDispatcher::quit() +{ + quitThread(); // validated +} + +/*! + * \brief Message Handler connections definition + * \details Initializes the required signal/slot connection between this class and other objects + * to be able to communicate. + */ +void MessageDispatcher::initConnections() +{ + // From GUI + connect(&_ApplicationController, SIGNAL(didActionTransmit(GuiActionType , const QVariantList &)), + this , SLOT( onActionTransmit(GuiActionType , const QVariantList &))); + + // From HD + connect(&_FrameInterface , SIGNAL(didFrameReceive (Can_Id , const QByteArray &)), + this , SLOT( onFrameReceive (Can_Id , const QByteArray &))); + + // From Message Acknow Model timer timeout. + connect(&_MessageAcknowModel , SIGNAL(didFramesTransmit(Can_Id, Sequence, const FrameList &)), + this , SLOT( onFramesTransmit(Can_Id, Sequence, const FrameList &))); + + connect(&_MessageAcknowModel , SIGNAL(didFailedTransmit( Sequence )), + this , SLOT( onFailedTransmit( Sequence ))); + + // Application Settings are ready + connect(&_ApplicationController, SIGNAL(didSettingsDone ()), + this , SLOT( onSettingsDone ())); + + // ---- Signal/Slots + ADJUST_TRANSMT_MODEL_BRIDGE_CONNECTIONS(_ApplicationController) + ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(_interpreter ) +} + +/*! + * \brief ApplicationController::initThread + * \details Moves this object into the thread vThread. + * And checks that this method is called from main thread. + * Also connects quitThread to application aboutToQuit. + * \param vThread - the thread + */ +void MessageDispatcher::initThread(QThread &vThread) +{ + // runs in main thread + Q_ASSERT_X(QThread::currentThread() == qApp->thread() , __func__, "The Class initialization must be done in Main Thread" ); + _thread = &vThread; + _thread->setObjectName(QString("%1_Thread").arg(metaObject()->className())); + connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(quit())); + moveToThread(_thread); + _thread->start(); +} + +/*! + * \brief MessageDispatcher::quitThread + * \details Moves this object to main thread to be handled by QApplication + * And to be destroyed there. + */ +void MessageDispatcher::quitThread() +{ + if ( ! _thread ) return; + + // runs in thread + moveToThread(qApp->thread()); // validated +} + +/*! + * \brief MessageDispatcher::onFrameReceive + * \details Upon message has been received over CANBus this slot will be called + * by FrameInterface::didFrameReceive signal to process the frame + * Upon completion of collected all the required frames + * on successful interpretation of the message, emits didActionReceived signal. + * The message will be removed from list of the channel vCan_Id messages. + * \param vCan_Id - CANBus channel of the frame + * \param vPayload - Payload of the frame + */ +void MessageDispatcher::onFrameReceive(Can_Id vCan_Id, const QByteArray &vPayload) +{ + // Append a message to the list + // because if the list is empty there is no last() item + if (_messageList[vCan_Id].isEmpty() || _messageList[vCan_Id].last().isComplete()) { + _messageList[vCan_Id].append(Message()); + } + + // build the message and check. + if (! buildMessage(vCan_Id, vPayload)) { + return; + } + Message mMessage = _messageList[vCan_Id].last(); + + // TODO : must be moved to a MessageModel class + if (mMessage.isComplete()) { + rxCount(); + #ifdef DEBUG_OUT_OF_SYNC + if (_rxSequence != mMessage.sequence) { + qDebug() << tr("Out of Sync : %1 , %2").arg(_rxSequence).arg(mMessage.sequence); + } + #endif + interpretMessage(mMessage); + } +} + +/*! + * \brief MessageDispatcher::onFramesTransmit + * \details this slots calls the framesTransmit to emit the didFrameTransmit signal + * to queue the frame(s) to be sent + * \param vSequence - sequence of the message which is going to be resent. (not used) + * \param vFrameList - frame(s) to be sent + */ +void MessageDispatcher::onFramesTransmit(Can_Id vCan_Id, Sequence vSequence, const FrameList &vFrameList) +{ + Q_UNUSED(vSequence) + framesTransmit(vCan_Id, vFrameList); +} + +/*! + * \brief MessageDispatcher::onFailedTransmit + * \details the slot which will be called on transmit failed on MessageAcknowModel + * \param vSequence + */ +void MessageDispatcher::onFailedTransmit(Sequence vSequence) +{ + emit didFailedTransmit(vSequence); +} + +/*! + * \brief MessageDispatcher::onActionTransmit + * \details This slot will be called by ApplicationController::didActionTransmit + * upon UI message transmit request and calls MessageDispatcher::actionTransmit method. + * \param vActionId - The ActionID of the message + * \param vData - The data of the Message + */ +void MessageDispatcher::onActionTransmit(GuiActionType vActionId, const QVariantList &vData) +{ + actionTransmit(vActionId, vData); +} + +/*! + * \brief MessageDispatcher::onSettingsDone + * \details The slot to handle didSettingsDone signal of the ApplicationController + */ +void MessageDispatcher::onSettingsDone() +{ + _interpreter.updateUnhandledMessages(); +} + +// ---------------------------------------------------------------------------------------------------- +/* START OF AUTO GENERATED CODE */ +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_UIActiveAlarmsListRequest message. + * \param vData - Data model of UIActiveAlarmsListRequestData. + * \return void + */ +void MessageDispatcher::onAdjustment(const UIActiveAlarmsListRequestData &) +{ + QVariantList mData; + actionTransmit(GuiActionType::ID_UIActiveAlarmsListRequest, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_FWVersionsRequest message. + * \param vData - Data model of FWVersionsRequestData. + * \return void + */ +void MessageDispatcher::onAdjustment(const FWVersionsRequestData &vData) +{ + QVariantList mData; + mData += vData.mMajor ; + mData += vData.mMinor ; + mData += vData.mMicro ; + mData += vData.mBuild ; + mData += vData.mCompatibility; + actionTransmit(GuiActionType::ID_FWVersionsRequest, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_UICheckIN message. + * \param vData - Data model of UICheckINData. + * \return void + */ +void MessageDispatcher::onAdjustment(const UICheckINData &) +{ + QVariantList mData; + actionTransmit(GuiActionType::ID_UICheckIN, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_UITreatmentParamsTOValidate message. + * \param vData - Data model of UITreatmentParamsTOValidateData. + * \return void + */ +void MessageDispatcher::onAdjustment(const UITreatmentParamsTOValidateData &vData) +{ + QVariantList mData; + mData += vData.mBloodflowrate_ml_min ; + mData += vData.mDialysateflowrate_ml_min ; + mData += vData.mTreatmentduration_min ; + mData += vData.mSalinebolusvolume_ml ; + mData += vData.mHepstoptime_min ; + mData += vData.mHeptype ; + mData += vData.mAcidconcentrate ; + mData += vData.mBicarbconcentrate ; + mData += vData.mDialyzertype ; + mData += vData.mBpinterval_min ; + mData += vData.mRinsebackflowrate_ml_min ; + mData += vData.mRinsebackvolume_ml ; + mData += vData.mArterialpressurelimitwindow_mmhg ; + mData += vData.mVenouspressurelimitwindow_mmhg ; + mData += vData.mVenouspressurelimitasymmetric_mmhg; + mData += vData.mTmplimitwindow_mmhg ; + mData += vData.mDialysatetemperature_degc ; + mData += vData.mHepdispenserate_ml_hr ; + mData += vData.mHepbolusvolume_ml ; + actionTransmit(GuiActionType::ID_UITreatmentParamsTOValidate, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_UIUltrafiltrationVolumeTOValidate message. + * \param vData - Data model of UIUltrafiltrationVolumeTOValidateData. + * \return void + */ +void MessageDispatcher::onAdjustment(const UIUltrafiltrationVolumeTOValidateData &vData) +{ + QVariantList mData; + mData += vData.mUfvolumeml; + actionTransmit(GuiActionType::ID_UIUltrafiltrationVolumeTOValidate, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_UITreatmentParamsConfirmed message. + * \param vData - Data model of UITreatmentParamsConfirmedData. + * \return void + */ +void MessageDispatcher::onAdjustment(const UITreatmentParamsConfirmedData &vData) +{ + QVariantList mData; + mData += vData.mConfirmed; + actionTransmit(GuiActionType::ID_UITreatmentParamsConfirmed, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_UIInitiateTreatmentWorkflow message. + * \param vData - Data model of UIInitiateTreatmentWorkflowData. + * \return void + */ +void MessageDispatcher::onAdjustment(const UIInitiateTreatmentWorkflowData &vData) +{ + QVariantList mData; + mData += vData.mCmd; + actionTransmit(GuiActionType::ID_UIInitiateTreatmentWorkflow, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment + * \details This method transmits the ID_UIUFPauseResumeRequest message. + * \param vData - Data model of UIUFPauseResumeRequestData. + * \return void + */ +void MessageDispatcher::onAdjustment(const UIUFPauseResumeRequestData &vData) +{ + QVariantList mData; + mData += vData.mPayload; + actionTransmit(GuiActionType::ID_UIUFPauseResumeRequest, mData); +} + +/* END OF AUTO GENERATED CODE */ +// ---------------------------------------------------------------------------------------------------- + +/*! + * \brief MessageDispatcher::actionTransmit + * \details This method is called by slot MessageDispatcher::onActionTransmit + * which emits didFrameTransmit on successful interpretation of the requested message + * and successfully creating of frame(s). + * \param vActionId - The ActionID of the message + * \param vData - The data of the Message + */ +void MessageDispatcher::actionTransmit(GuiActionType vActionId, const QVariantList &vData, Sequence vSequence, Can_Id vCanId) +{ + txCount(); + if (vSequence == 0) { // initialize + // it's obvious that this assignment does not effect outside of the function. + // but is make it easier to just assume the correct value has been passed + // and still using the same variable (function parameter) as a local variable. + vSequence = _txSequence; + } + + QByteArray mData; + Can_Id canid = vCanId; + if (! _interpreter.interpretMessage(vActionId, vData, mData, canid)) { + LOG_DEBUG(QString("Incorrect Message, cannot be interpreted, %1").arg(Format::toHexString(vActionId))); // TODO : LogInfo Improvement + return; + } + + // TODO : Create a buildFrames method + FrameList frameList; + Sequence mSequence = vSequence; + bool mNeedsAcknow = needsAcknow(vActionId); + if (mNeedsAcknow) { + mSequence = -mSequence; + if ( ! gDisableAcknowLog ) { + LOG_APPED_UI(tr("Ack Req, Sq:%1, ID:%2").arg(mSequence).arg(Format::toHexString(vActionId))); + } +#ifdef DEBUG_ACKBACK_HD_TO_UI + qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI AckReq : %1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(mSequence); +#endif + } + + // still checking here in case the logic has changed therefore buildFrame should still validate the message for developer safety. + if ( ! _builder.buildFrames(vActionId, mData, frameList, mSequence) ) { + LOG_DEBUG(QString("Incorrect Message cannot be built")); // TODO : LogInfo Improvement + return; + } + if (mNeedsAcknow) { + // NOTE : here vSequence should be used which is not negative + // because when we get the Acknow it is not the negative + // since it does not need Re-Acknow + // and this is the sequence number which will be used + // to remove the message from the Acknow list. + emit didAcknowTransmit(canid, vSequence, frameList); + } + framesTransmit(canid, frameList); +} + +/*! + * \brief MessageDispatcher::framesTransmit + * \details iterates through all the frames and emits to send the frames + * \param vCan_Id - The channel to send the frames to + * \param vFrameList - List of the frames to be sent + */ +void MessageDispatcher::framesTransmit(Can_Id vCan_Id, const FrameList &vFrameList) +{ + for (const auto &frame : vFrameList) { + emit didFrameTransmit(vCan_Id, frame); + } +} + +/*! + * \brief MessageDispatcher::buildMessage + * \details Calls the messageBuilder buildMessage method. + * \param vCan_Id - CANBus channel of the frame + * \param vPayload - Payload of the frame + * \return false on error + */ +bool MessageDispatcher::buildMessage(Can_Id vCan_Id, const QByteArray &vPayload) +{ + if (vPayload.length() < eLenCanFrame) { + // Each frame has to have exactly 8 (eLenCanFrame) bytes of data and unused bytes should be passed as 00. + LOG_DEBUG(QString("Incorrect frame length. Exp:%1,got:%2").arg(eLenCanFrame).arg(vPayload.length())); + return false; + } + if (! _builder.buildMessage(vPayload, _messageList[vCan_Id].last(), vCan_Id)) { + _messageList[vCan_Id].removeLast(); + return false; + } + return true; +} + +/*! + * \brief MessageDispatcher::checkAcknowReceived + * \details check if the message was an acknowledge. + * \param vMessage - The received message + * \param vSrcText - The source entity identifier text + * \return true if the message is Acknow + */ +bool MessageDispatcher::checkAcknowReceived(const Message &vMessage, const QString &vSrcText) +{ + GuiActionType mActionId = vMessage.actionId; + Sequence mSequence = vMessage.sequence; + bool ok = false; + if ( mActionId == GuiActionType::ID_AckMessageThatRequiresAck ) { + ok = true; + if ( ! gDisableAcknowLog ) { + LOG_APPED(tr(" ,%1,Ack Bak, Sq:%2").arg(vSrcText).arg(mSequence)); + } + #ifdef DEBUG_ACKBACK_HD_TO_UI + qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HD AckBak : %1 %2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(mSequence).arg(vMessage.actionId); + #endif + emit didAcknowReceive(mSequence); + } + return ok; +} + +/*! + * \brief MessageDispatcher::checkAcknowTransmit + * \details Sends the Ack message. + * \param vMessage - the received message which to check if it may need Ack. + * \param vSrcText - the source of the message which needs Ack. + * \return returns true if the message needs an Ack (Negative Sequence) + */ +bool MessageDispatcher::checkAcknowTransmit(const Message &vMessage, const QString &vSrcText) +{ + bool ok = false; + GuiActionType mActionId = vMessage.actionId; + Sequence mSequence = vMessage.sequence; + + // UI shall acknowledge the messages is intended for UI. + if ( ! needsAcknow(vMessage.can_id)) return ok; // false + + if (mSequence < 0) { + ok = true; + if ( ! gDisableAcknowLog ) { + LOG_APPED(tr(" ,%1,Ack Req, Sq:%2, ID:%3").arg(vSrcText).arg(mSequence).arg(Format::toHexString(mActionId))); + } + #ifdef DEBUG_ACKBACK_HD_TO_UI + qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HD AckReq : %1 %2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(mSequence).arg(vMessage.actionId); + #endif + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI AckBak is immediately handled at the same place. + QString dstText; + Can_Id dstID = MessageInterpreter::identifyDestination(vMessage.can_id, &dstText); + actionTransmit(GuiActionType::ID_AckMessageThatRequiresAck, {}, -mSequence, dstID); + if ( ! gDisableAcknowLog ) { + LOG_APPED_UI(tr("Ack Bak, Sq:%1, Dst:%2").arg(-mSequence).arg(dstText)); + } + #ifdef DEBUG_ACKBACK_HD_TO_UI + qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI AckBak : %1 %2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(-mSequence).arg(vMessage.actionId); + #endif + } + return ok; +} + +/*! + * \brief MessageDispatcher::interpretMessage + * \details Calls the MessageInterpreter interpretMessage method + * Regarding the Message Id and the sequence emit different signals + * to handle the normal or acknowledge messages. + * \param vMessage - The Message + * \return false on error + */ +bool MessageDispatcher::interpretMessage(const Message &vMessage) +{ + bool ok = false; + QVariantList mData; + QString srcText; + MessageInterpreter::identifySource(vMessage.can_id, &srcText); + if ( ! checkAcknowReceived(vMessage, srcText) ) { // check if the message was an acknowledge. + checkAcknowTransmit(vMessage, srcText); // then if needs acknow send it immediately. + } + + if ( _interpreter.interpretMessage( vMessage, mData ) ) { + ok = true; + emit didActionReceive(vMessage.actionId, mData); + } + + _messageList[vMessage.can_id].removeLast(); + return ok; +} + +/*! + * \brief MessageDispatcher::rxCount + * \details count received messages up the size of the Sequence type size + * \return message count + */ +Sequence MessageDispatcher::rxCount() +{ + if ( _rxSequence < SEQUENCE_MAX ) { + ++_rxSequence; + } else { + _rxSequence = 1; + } + return _rxSequence; +} + +/*! + * \brief MessageDispatcher::txCount + * \details count transmitted messages up the size of the Sequence type size + * \return message count + */ +Sequence MessageDispatcher::txCount() +{ + if ( _txSequence < SEQUENCE_MAX ) { + ++_txSequence; + } else { + _txSequence = 1; + } + return _txSequence; +} + +/*! + * \brief MessageDispatcher::needsAcknow + * \details List of the Action types which need Acknow + * \param vActionId - Action Type id + * \return true if needs an Acknow + */ +bool MessageDispatcher::needsAcknow(GuiActionType vActionId) +{ + return _needsAcknow.contains(vActionId); +} + +/*! + * \brief MessageDispatcher::needsAcknow + * \details List of the CAN channels which need Acknow + * \param vCan_Id - The message CANBus id + * \return true if needs an Acknow + */ +bool MessageDispatcher::needsAcknow(Can_Id vCan_Id) +{ + bool ok = true; + switch(vCan_Id) { // list if the channels UI shall not Ack + case eChlid_TD_DD : + case eChlid_DD_TD : + case eChlid_DD_FP : + case eChlid_FP_DD : + case eDialin_TD : + case eTD_Dialin : + case eDialin_DD : + case eDD_Dialin : + case eDialin_FP : + case eFP_Dialin : + ok = false; break; + + default: break; + } + + return ok; +} \ No newline at end of file Index: sources/canbus/MessageDispatcherAutoGen.h =================================================================== diff -u --- sources/canbus/MessageDispatcherAutoGen.h (revision 0) +++ sources/canbus/MessageDispatcherAutoGen.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,210 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "MessageBuilder.h" +#include "MessageInterpreter.h" + +// define +#define _MessageDispatcher Can::MessageDispatcher::I() + +// forward declarations +class tst_canbus; +class tst_acknow; +class tst_messaging; + +// since this class is the interface between GUI and Can +// it needs to use Gui namespace otherwise it makes code hard to read. +using namespace Gui; +namespace Can { +/*! + * \brief The MessageDispatcher class \n + * \details Message Dispatcher is the class which is the mediator between CanBus Frames \n + * and Application Messages. \n + * The massages and frames need to be interpreted form/to hex \n + * and also need to be split into frames or constructor from frames to be a message. \n + * ---------------------------------------------------------------------------------------- \n + * \n + * Interpreter : message [ toHex , fromHex] \n + * \n + * Builder : message [ toFrame , fromFrame ] \n + * \n + * Dispatcher : signal->Handler( .. frame .. ) \n + * \n + * Handler : signal->Dispatcher( .. frame .. ) \n + * \n + * ---------------------------------------------------------------------------------------- \n + * \n + * *** UI <-> AppController <-> Dispatcher <-> Handler <-> HD *** \n + * \n + * ---------------------------------------------------------------------------------------- \n + * \n + * UI -> message -> \n + * AppController { \n + * signal->Dispatcher ( .. message .. ) \n + * } \n + * \n + * Dispatcher { \n + * .. \n + * messageList[ch][frameList] += Builder.toFrame ( Interpreter.toHex ( message ) ) \n + * .. \n + * signal->Handler( .. frame .. ) \n + * } \n + * \n + * ---------------------------------------------------------------------------------------- \n + * \n + * HD -> frame -> \n + * Handler { \n + * signal->Dispatcher ( .. frame .. ) \n + * } \n + * \n + * Dispatcher { \n + * messageList[ch][frameList] += Interpreter.fromHex( frame ) \n + * isComplete => Builder.fromFrame( frameList ) : signal->AppController \n + * } \n + * \n + * ---------------------------------------------------------------------------------------- \n + */ +class MessageDispatcher : public QObject +{ + Q_OBJECT + + // Singleton + SINGLETON(MessageDispatcher) + + // friends + friend class ::tst_canbus; + friend class ::tst_acknow; + friend class ::tst_messaging; + + QHash _messageList; + + Sequence _txSequence = 0; + Sequence _rxSequence = 0; + + MessageBuilder _builder; + MessageInterpreter _interpreter; + + QThread *_thread = nullptr; + bool _init = false; + + // List of the transmit(request) only, messages which require acknowledge back(AckBack). + QList _needsAcknow { + /* START OF AUTO GENERATED CODE */ + GuiActionType::ID_UIActiveAlarmsListRequest , + GuiActionType::ID_FWVersionsRequest , + GuiActionType::ID_UICheckIN , + GuiActionType::ID_UITreatmentParamsTOValidate , + GuiActionType::ID_UIUltrafiltrationVolumeTOValidate , + GuiActionType::ID_UITreatmentParamsConfirmed , + GuiActionType::ID_UIInitiateTreatmentWorkflow , + GuiActionType::ID_UIUFPauseResumeRequest , + /* END OF AUTO GENERATED CODE */ + }; + +public slots: + bool init(); + bool init(QThread &vThread); + void quit(); + +public: + void enableConsoleOut(bool vEnable) { _builder.enableConsoleOut(vEnable); } + +private: + void initConnections(); + + void initThread(QThread &vThread); + void quitThread(); + + void actionTransmit (GuiActionType vActionId, const QVariantList &vData, Sequence vSequence = 0, Can_Id vCanId = Can::Can_Id::eChlid_UI_TD); + void framesTransmit (Can_Id vCan_Id, const FrameList &vFrameList); + + bool needsAcknow (GuiActionType vActionId); + bool needsAcknow (Can_Id vCan_Id); + + bool buildMessage (Can_Id vCan_Id, const QByteArray &vPayload); + bool interpretMessage(const Message &vMessage); + + Sequence txCount(); + Sequence rxCount(); + + bool checkAcknowReceived(const Message &vMessage, const QString &vSrcText); + bool checkAcknowTransmit(const Message &vMessage, const QString &vSrcText); + +signals: + /*! + * \brief didActionReceive + * \details When a message received over the CANBus this signal is emitted + * on successful collecting all required payloads from different frames if any + * and successfully has been built into a message and can be interpreted + * \param vAction - The action has been extracted from CANBus message header to be done + * \param vData - The data has been collected from CANBus frame(s) + */ + void didActionReceive (GuiActionType vAction , const QVariantList &vData); + + /*! + * \brief didActionReceive + * \details Emits when a message requires + * \param vData + */ + void didActionReceive (const Message &vMessage); + + /*! + * \brief didAcknowReceive + * \details if the type the received message id is and Acknow this signal will be emitted + * \param vData - the data of the Acknow message which is the message Sequence + * which we got the Ack for. + */ + void didAcknowReceive (Sequence vSequence); + + /*! + * \brief didAcknowTransmit + * \details this signal will be emitted when the message which has been sent + * needs Acknowledge back. + * \param vFrameList - the frames which has been send + * and will be used to be send on retries. + */ + void didAcknowTransmit(Can_Id vCan_Id, Sequence vSequence, const FrameList &vFrameList); + + /*! + * \brief didFrameTransmit + * \details When a message is requested to be transmitted this signal is emitted + * on successful interpretation and building the message into frames + * \param vCan_Id - Target channel of the CANBus message + * \param vPayload - The payload of the message to be sent + */ + void didFrameTransmit (Can_Id vCan_Id, const QByteArray &vPayload); + + /*! + * \brief didFailedTransmit + * \details When a message fails to transmit to the HD, emit this signal. + * \param vSequence - The message Sequence we that failed to send. + */ + void didFailedTransmit(Sequence vSequence); + +private slots: + // A Frame has been received from CanInterface + void onFrameReceive (Can_Id vCan_Id, const QByteArray &vPayload); + + // + void onFramesTransmit (Can_Id vCan_Id, Sequence vSequence, const FrameList &vFrameList); + void onFailedTransmit ( Sequence vSequence); + + // An Action has been requested to be transmitted. + void onActionTransmit (GuiActionType vActionId, const QVariantList &vData); + + void onSettingsDone (); + + // ---- Signal/Slots + ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_NOEMIT + ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS + + // AUTOGEN ISSUE + // TODO Uncomment once the UI post final results message has been defined + // ACTION_RECEIVE_PRIVATE_SLOT(UIPostFinalResultHDRequestData) +}; +} \ No newline at end of file Index: sources/canbus/MessageGlobalsAutoGen.h =================================================================== diff -u --- sources/canbus/MessageGlobalsAutoGen.h (revision 0) +++ sources/canbus/MessageGlobalsAutoGen.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,230 @@ + +#pragma once +// Qt +#include + +// Project +#include "GuiGlobalsAutoGen.h" +#include "types.h" + +namespace Can { + +/*! + * \brief Sequence + * \details the messages sequence type + */ +typedef qint16 Sequence; +typedef Types::S16 Sequence_Bytes; +#define SEQUENCE_MAX INT16_MAX + +/*! + * \brief FrameCount + * \details The maximum unsigned integer value to be used as the frame count + */ +typedef quint64 FrameCount; + +/*! + * \brief Payload Length + * \details List of each ActionID required data (in byte) length in the message. + * So the data collector has to collect this amount of bytes as payload of a message. + * + */ +const QHash payloadLen { + // FixMe: This has to be move to each model. + // it has been observed that these length can only check the payload length is correct. + // but if the model still needs more the model will fail. + // so it is better to keep them next to each other to make sure they are in sync. + // ---- + {Gui::GuiActionType::ID_AlarmStatusData , 1 * 2 + 3 * 4 }, // 1 parameter(s) of 2 byte(s) and 3 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_AlarmTriggered , 8 * 4 }, // 8 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_AlarmCleared , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_AlarmConditionCleared , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDAlarmInformationData , 6 * 1 + 6 * 4 }, // 6 parameter(s) of 1 byte(s) and 6 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDAlarmInfoData , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_UIActiveAlarmsListRequest , 0 * 4 }, // 0 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDActiveAlarmsListRequestResponse , 12 * 4 }, // 12 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_FWVersionsRequest , 3 * 1 + 1 * 2 + 1 * 4 }, // 3 parameter(s) of 1 byte(s) and 1 parameter(s) of 2 byte(s) and 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDVersionResponse , 7 * 1 + 1 * 2 + 1 * 4 }, // 7 parameter(s) of 1 byte(s) and 1 parameter(s) of 2 byte(s) and 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDVersionResponse , 7 * 1 + 1 * 2 + 1 * 4 }, // 7 parameter(s) of 1 byte(s) and 1 parameter(s) of 2 byte(s) and 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_UICheckIN , 0 * 4 }, // 0 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDBloodPumpData , 9 * 4 }, // 9 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDOPModeData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDOPModeData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDEvent , 5 * 4 }, // 5 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDEvent , 5 * 4 }, // 5 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDValvesStatesData , 30 * 1 + 1 * 2 }, // 30 parameter(s) of 1 byte(s) and 1 parameter(s) of 2 byte(s) + {Gui::GuiActionType::ID_DDPressuresData , 14 * 4 }, // 14 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDVoltagesData , 11 * 4 }, // 11 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDBubblesData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDConductivityData , 4 * 4 }, // 4 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDAirPumpData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDSwitchesData , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_PowerOffWarning , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_OffButtonPressRequest , 1 * 1 }, // 1 parameter(s) of 1 byte(s) + {Gui::GuiActionType::ID_TDPressureData , 12 * 4 }, // 12 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDConcentratePumpData , 25 * 4 }, // 25 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDTemperatureData , 11 * 4 }, // 11 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DialysatePumpsData , 20 * 4 }, // 20 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDHeatersData , 17 * 4 }, // 17 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDLevelData , 3 * 4 }, // 3 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDAirTrapData , 7 * 4 }, // 7 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDValvesData , 2 * 2 + 3 * 4 }, // 2 parameter(s) of 2 byte(s) and 3 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROEvent , 5 * 4 }, // 5 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROAlarmInfoData , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDBalChamberData , 8 * 4 }, // 8 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDGenDialysateModeData , 9 * 4 }, // 9 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDGenDialysateRequestData , 7 * 4 }, // 7 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROValvesStatesData , 9 * 1 + 1 * 2 }, // 9 parameter(s) of 1 byte(s) and 1 parameter(s) of 2 byte(s) + {Gui::GuiActionType::ID_ROPumpData , 8 * 4 }, // 8 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROOPModeData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROPressuresData , 18 * 4 }, // 18 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROLevelData , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROFlowData , 4 * 4 }, // 4 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROConductivityData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDROStartStopCmdRequest , 3 * 4 }, // 3 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROTemperatureData , 5 * 4 }, // 5 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROHeaterData , 4 * 4 }, // 4 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDTreatmentTimeData , 3 * 4 }, // 3 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDTreatmentStateData , 10 * 4 }, // 10 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDSalineBolusData , 4 * 4 }, // 4 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDUltrafiltrationData , 4 * 4 }, // 4 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_UITreatmentParamsTOValidate , 19 * 4 }, // 19 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDRespTreatmentParamsTOValidate , 21 * 4 }, // 21 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_UIUltrafiltrationVolumeTOValidate , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDRespUltrafiltrationVolumeTOValidate , 3 * 4 }, // 3 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDTreatmentParamRanges , 6 * 4 }, // 6 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_UITreatmentParamsConfirmed , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_UIInitiateTreatmentWorkflow , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDRespInitiateTreatmentWorkflow , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_UIUFPauseResumeRequest , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDUFPauseResumeResponse , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROGenWaterModeData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDPreGenDialysateStateData , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDPostGenDialysateStateData , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDPreGenDialysateRequestData , 5 * 4 }, // 5 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_ROPreGenWaterModeData , 1 * 4 }, // 1 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDEjectorData , 2 * 4 }, // 2 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_TDTreatmentSetPoints , 3 * 4 }, // 3 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_DDPistonPumpControlData , 9 * 4 }, // 9 parameter(s) of 4 byte(s) + {Gui::GuiActionType::ID_AckMessageThatRequiresAck , 0 * 4 }, // 0 parameter(s) of 4 byte(s) +}; + +/*! + * \brief The Payload_Data enum + * \details Global information for message packet. + */ +enum Payload_Data : quint8 { + ePayload_None = 0x00, + ePayload_Sync = 0xA5, +}; + +/*! + * \brief The Frame_Data enum + * \details Global information for each message frame. + */ +enum Frame_Data : quint8 { + eLenCanFrame = 8, ///< The length of each can frame. Should be padded by 0x00 if is less. + eLenHeaderInfo = 5, ///< The Header length witch is included in CRC after Sync byte (it's the sum of eLenSequence + eLenActionId + eLenLength) + eLenMaxHeaderData = 3, ///< Maximum data byte can be in one frame as header data portion + eLenMaxData = 255, ///< Maximum data length in a Can Message since data length value kept in one byte + + eLenSyncByte = 1, ///< The length of Sync byte at the beginning of each header frame + eLenSequence = 2, ///< The length of Sequence number bytes (2) at the beginning of each header frame after sync + eLenActionId = 2, ///< The length of MessageID bytes + eLenLength = 1, ///< The length of data length value byte at the beginning of each header frame after MessageID + + eLenCRCDigits = 2, ///< The length of CRC value byte in each Denali message + eLenChannelDigits = 3, ///< The length of channel value byte in each Denali message + eLenMessageIDDigits = 4, ///< The length of message id value byte in each Denali message + +}; + +/*! + * \brief The Can_Id enum + * \details The Valid CANBus MessageID of each frame + */ +enum Can_Id : quint16 { + eChlid_LOWEST = 0x7FF, + eChlid_NONE = 0x7FF, + + // Broadcasts + //// Alarm + eChlid_TD_Alarm = 0x001, ///< TD alarm broadcast + eChlid_DD_Alarm = 0x002, ///< DD alarm broadcast + eChlid_FP_Alarm = 0x003, ///< FP alarm broadcast + eChlid_UI_Alarm = 0x004, ///< UI alarm broadcast [Out] + //// Sync + eChlid_TD_Sync = 0x100, ///< HD sync broadcast + eChlid_DD_Sync = 0x101, ///< DD sync broadcast + eChlid_FP_Sync = 0x102, ///< DD sync broadcast + eChlid_UI_Sync = 0x103, ///< UI sync broadcast [Out] + + // UI not listening + eChlid_TD_DD = 0x010, ///< TD => DD + eChlid_DD_TD = 0x011, ///< DD => TD + eChlid_DD_FP = 0x021, ///< DD => FP + eChlid_FP_DD = 0x020, ///< FP => DD + + // UI is listening + eChlid_TD_UI = 0x040, ///< TD => UI + eChlid_UI_TD = 0x041, ///< UI => TD [Out] + + // UI listens occasionally + eChlid_DD_UI = eChlid_DD_Sync , ///< DD => UI + eChlid_UI_DD = eChlid_UI_Sync , ///< UI => DD [Out] + + // Dialing channel has been requested by V&V team for CANBus testing + // and clarify the source of the unexpected channel message + // UI still does not do anything with the messages on these channels. + eDialin_TD = 0x400, ///< dialin => TD + eTD_Dialin = 0x401, ///< TD => dialin + eDialin_DD = 0x402, ///< dialin => DD + eDD_Dialin = 0x403, ///< DD => dialin + eDialin_FP = 0x404, ///< dialin => FP + eFP_Dialin = 0x405, ///< FP => dialin + eDialin_UI = 0x406, ///< dialin => UI + eUI_Dialin = 0x407, ///< UI => dialin +}; + +/*! + * \brief The Can_Source enum + * \details The allowable sources of the CANBus messages. + */ +enum Can_Source { + eCan_Unknown = -1, + eCan_TD = 0, + eCan_DD = 1, + eCan_FP = 2, + eCan_DI = 3, +}; + +/*! + * \brief The Message struct + * \details The message structure after it's been converted form hex bytes to meaningful struct for UI. + */ +struct Message { // TODO : Should be converted to MessageModel class // no time left for now !!! + Can_Id can_id = eChlid_NONE; + Sequence sequence = 0; // seq 0 is invalid + Gui::GuiActionType actionId = Gui::GuiActionType::ID_Unknown; + int length = 0; + QByteArray head; + QByteArray data; + bool initialized = false; + + bool isEmpty () { + // Since the crc is part of the data and there is no message without crc + // initialized flag and data.length() == 0 became the same. + // It is preferred to keep it as is so that the initialization is independent of data. + return !initialized || !data.length(); + } + bool isComplete() { + // Since the crc is part of the data and there is no message without crc + // then a message would never be empty. + // It is preferred to keep it as is so that the initialization is independent of data. + return !isEmpty() && data.length() == length; + } +}; + +typedef QList MessageList; +typedef QList FrameList; +} \ No newline at end of file Index: sources/canbus/MessageInterpreter.h =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/canbus/MessageInterpreter.h (.../MessageInterpreter.h) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/canbus/MessageInterpreter.h (.../MessageInterpreter.h) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -64,13 +64,14 @@ bool interpretMessage_TD (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; bool interpretMessage_DD (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + bool interpretMessage_FP (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; // ----- Debug - bool canbusFaultCountData (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + //bool canbusFaultCountData (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; // ----- Adjustments - bool adjustUltrafiltrationEdit (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; - bool adjustUltrafiltrationConfirm (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + //bool adjustUltrafiltrationEdit (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + //bool adjustUltrafiltrationConfirm (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; template bool notify (const Message &vMessage, QVariantList &vData, Gui::GuiActionType vIdCheck) __attribute_warn_unused_result__; Index: sources/canbus/MessageInterpreterAutoGen.cpp =================================================================== diff -u --- sources/canbus/MessageInterpreterAutoGen.cpp (revision 0) +++ sources/canbus/MessageInterpreterAutoGen.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,595 @@ + +#include "MessageInterpreter.h" + +// Qt +#include +// #include + +// Project +#include "Logger.h" +#include "format.h" +#include "Settings.h" + +using namespace Can; +using namespace Model; + +#define DISABLE_CHECKIN_LOG 0 +#define DEBUG_SIGNAL(vID, vMODEL) // qDebug() << vID << vMODEL; + +// a macro to simplify the transmit message +// would be better later to be replaced by a template method +// like the notify method of received messages +#define INTERPRET_TRANSMIT_MESSAGE(vMODEL) \ + if ( ! length ) { logInvalidLength(vActionId); return false; } \ + vCanId = vMODEL::canid(); \ + vPayload = Format::fromVariant(vData); \ + LOG_APPED_MSG(vActionId, vMODEL::toString(vData)); \ + DEBUG_SIGNAL(0, typeid(vMODEL).name()) + +// another version of the INTERPRET_TRANSMIT_MESSAGE for empty messages +// same later improvements apply to this MACRO as well. +#define INTERPRET_TRSMT_MT_MESSAGE(vMODEL) \ + if ( length ) { logInvalidLength(vActionId); return false; } \ + vCanId = vMODEL::canid(); \ + vPayload = Format::fromVariant(vData); \ + LOG_APPED_MSG(vActionId, vMODEL::toString(vData)); \ + DEBUG_SIGNAL(0, typeid(vMODEL).name()) + +/*! + * \brief MessageInterpreter::MessageInterpreter + * \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) { } + +/*! + * \brief MessageInterpreter::notify + * \details Checks and prepares the model with the Message Data + * Regarding the type of message logs the message received. + * Notifies observers by emitting the didActionReceive( < Data > ) signal + * \param vMessage - The Denali message + * \param vID - The Message ID to be checked against + * \param vModel - The appropriate model for the Message Data + * \param vData - A QVariant list of the Message Data which will be used for debugging if needed. + * \return true on successful check and prepare. + */ +template +bool MessageInterpreter::notify(const Message &vMessage, QVariantList &vData, Gui::GuiActionType vIdCheck) +{ + bool ok = false; + TModel tModel; + if ( ! isValidMessage(vMessage, vIdCheck) ) return ok; + ok = tModel.fromByteArray(vMessage.data); + tModel.toVariantList(vData); + // This code will never go false + // because the isValidMessage is catching errors. + // only is checking here for developer safety if logic has changed. + if ( ! ok ) return false; + + emit didActionReceive(tModel.data()); + LOG_APPED_MSG(vIdCheck, tModel.toString()); + DEBUG_SIGNAL(vIdCheck, typeid(TModel).name()) + return ok; +} + +/*! + * \brief MessageInterpreter::isType + * \details Checks if this is the message intended to be + * \param vMessage - The message + * \param vType - The type of the message to be checked against + * \return true on correct type + */ +bool MessageInterpreter::isType(const Message &vMessage, Gui::GuiActionType vType) const +{ + if ( vMessage.actionId != vType ) { + LOG_DEBUG(QString("Incorrect expected ID '%1', got '%2'") + .arg(vType) + .arg(vMessage.actionId) + ); + return false; + } + return true; +} + +/*! + * \brief MessageInterpreter::isPayloadLenValid + * \details Checks if the Data length has been defined for this type of message + * if not logs Undefined Data Length error + * if defined checks if the correct length of data is provided for this type of message. + * if not logs Incorrect Data Length error + * otherwise returns true + * \param vMessage - The message + * \param vType - The type of the message to be checked against + * \return true on correct data length for the type vType + */ +bool MessageInterpreter::isPayloadLenValid(const Message &vMessage, Gui::GuiActionType vType) const +{ + int len = vMessage.data.length(); + QString mActionIdHexString = Format::toHexString(vMessage.actionId); + if ( ! payloadLen.contains(vType) ) { + LOG_DEBUG(QString("Undefined data length for received Message with ID '%1'").arg(mActionIdHexString)); + return false; + } + if ( len < payloadLen[vType] ) { + LOG_DEBUG(QString("Incorrect data length (%2 of %3) for received Message with ID '%1'") + .arg(mActionIdHexString) + .arg(len) + .arg(payloadLen[vType]) + ); + return false; + } + return true; +} + +/*! + * \brief MessageInterpreter::logInvalidLength + * \details Logs invalid data length for the message type vActionId + * \param vActionId - Message Type + */ +void MessageInterpreter::logInvalidLength(const Gui::GuiActionType &vActionId) +{ + QString mActionIdHexString = Format::toHexString(vActionId); + LOG_DEBUG(QString("Incorrect data length for transmit message with ID '%1'") + .arg(mActionIdHexString)); +} + +/*! + * \brief MessageInterpreter::validateMessage + * \details Validate the message by checking its type and data + * \param vMessage - The message + * \param vType - The type of the message to be checked against + * \return true on valid massage + */ +bool MessageInterpreter::isValidMessage(const Message &vMessage, Gui::GuiActionType vType) const +{ + if ( ! isType (vMessage, vType) ) return false; + if ( ! isPayloadLenValid(vMessage, vType) ) return false; + return true; +} + +/*! + * \brief MessageInterpreter::printUnhandled + * \details Prints out the formatted string of the vMessage of type Message + * In case the Message ID of received CANBus message + * is known to the interpreter but has not been handled/implemented. + * \param vMessage - The message contains Unhandled Message ID + */ +void MessageInterpreter::printUnhandled(const Message &vMessage) const +{ + if ( logUnhandledMessage(vMessage)) return; // the message is defined as unhandled and can still be handled and logged, return. + if ( gDisableUnhandledReport ) return; // if the unhandled message error has been disabled, return. + QString mActionIdHexString = Format::toHexString(vMessage.actionId, false, eLenMessageIDDigits); + QString logMessage = tr("Unhandled Message ID (TD)") + '\n' + + QString("%1 # %2 %3") + .arg(int(vMessage.can_id), 3, 16, QChar('0')) + .arg(mActionIdHexString) + .arg(QString(vMessage.data.toHex('.'))).toUpper(); + LOG_DEBUG(logMessage); +} + +/*! + * \brief MessageInterpreter::interpretMessage + * \details This method will be called + * to interpret messages from UI regarding vActionId. + * \param vActionId - The ActionID of type GuiActionType + * to be interpreted to hex representation of Message ID. + * \param vData - The data which has to be sent over the CANBus. + * \param vPayload - The Payload of the frame of Type QByteArray of hex values + * Which has been interpreted from vData of Type QVariantList + * \return true if the vActionId is valid. + * This return value will be used later for error handling. + */ +bool MessageInterpreter::interpretMessage(const Gui::GuiActionType &vActionId, const QVariantList &vData, QByteArray &vPayload, Can_Id &vCanId) +{ + bool ok = true; + if (vCanId == Can::Can_Id::eChlid_NONE ) + vCanId = Can::Can_Id::eChlid_UI_TD ; + vPayload.clear(); + int length = vData.length(); + + // DEBUG: LOG_EVENT(QString("0x%0").arg(vActionId, 4, 16,QChar('0'))); + switch (vActionId) { // notice we are in transmit mode + // START OF AUTO GENERATED CODE // + case Gui::GuiActionType::ID_UIActiveAlarmsListRequest : INTERPRET_TRSMT_MT_MESSAGE(UIActiveAlarmsListRequestData ); break; + case Gui::GuiActionType::ID_FWVersionsRequest : INTERPRET_TRANSMIT_MESSAGE(FWVersionsRequestData ); break; + case Gui::GuiActionType::ID_UICheckIN : INTERPRET_TRSMT_MT_MESSAGE(UICheckINData ); break; + case Gui::GuiActionType::ID_UITreatmentParamsTOValidate : INTERPRET_TRANSMIT_MESSAGE(UITreatmentParamsTOValidateData ); break; + case Gui::GuiActionType::ID_UIUltrafiltrationVolumeTOValidate : INTERPRET_TRANSMIT_MESSAGE(UIUltrafiltrationVolumeTOValidateData ); break; + case Gui::GuiActionType::ID_UITreatmentParamsConfirmed : INTERPRET_TRANSMIT_MESSAGE(UITreatmentParamsConfirmedData ); break; + case Gui::GuiActionType::ID_UIInitiateTreatmentWorkflow : INTERPRET_TRANSMIT_MESSAGE(UIInitiateTreatmentWorkflowData ); break; + case Gui::GuiActionType::ID_UIUFPauseResumeRequest : INTERPRET_TRANSMIT_MESSAGE(UIUFPauseResumeRequestData ); break; + // END OF AUTO GENERATED CODE // + + default: + QString mActionIdHexString = Format::toHexString(vActionId); + LOG_DEBUG(tr("Unknown transmit Message with ID '%1'").arg(mActionIdHexString)); + ok = false; + break; + } + return ok; +} + +/*! + * \brief MessageInterpreter::identifySource + * \details Identifies the source of the message regarding the channel id + * \return the source of the message in enum + * \sa can::Can_Source + */ +Can_Source MessageInterpreter::identifySource(Can_Id vCanId, QString *vText) +{ + switch (vCanId) { + case eChlid_TD_DD : + case eChlid_TD_UI : + case eChlid_TD_Alarm: + case eChlid_TD_Sync : + if (vText) *vText = "TD"; + return Can_Source::eCan_TD; + + case eChlid_DD_TD : + //case eChlid_DD_UI : // has duplicate value as eChlid_DD_Sync + case eChlid_DD_Alarm: + case eChlid_DD_Sync : + if (vText) *vText = "DD"; + return Can_Source::eCan_DD; + + case eChlid_DD_FP : + //case eChlid_FP_UI : + case eChlid_FP_Alarm: + case eChlid_FP_Sync : + if (vText) *vText = "FP"; + return Can_Source::eCan_FP; + + case eDialin_TD : + case eTD_Dialin : + case eDialin_DD : + case eDD_Dialin : + case eDialin_FP : + case eFP_Dialin : + case eDialin_UI : + case eUI_Dialin : + if (vText) *vText = "DI"; + return Can_Source::eCan_DI; + + default: + if (vText) *vText = "XX"; + return Can_Source::eCan_Unknown; + } +} + +/*! + * \brief MessageInterpreter::identifyDestination + * \details Identifies the destination of the message regarding the channel id for the ACKNOWLEDGES + * \return the destination of the message in enum + * \sa can::Can_Source + * \sa can::Can_Id + */ +Can_Id MessageInterpreter::identifyDestination(Can_Id vCanId, QString *vText) +{ + //// + //TODO: let's decide if UI should ack anything other than direct recieved message ( [ TD, DD ] => UI ) + //// + switch (vCanId) { + case eChlid_TD_UI : + case eChlid_TD_Alarm: + case eChlid_TD_Sync : + if (vText) *vText = "TD"; + return Can_Id::eChlid_UI_TD; + + //case eChlid_DD_UI : // has duplicate value as eChlid_DD_Sync + case eChlid_DD_Alarm: + case eChlid_DD_Sync : + if (vText) *vText = "DD"; + return Can_Id::eChlid_UI_DD; + + // FP is not designed to directly communicate with UI + //case eChlid_DD_FP : + //case eChlid_FP_UI : + //case eChlid_FP_Alarm: + //case eChlid_FP_Sync : + // if (vText) *vText = "FP"; + // return Can_Id::eChlid_UI_Sync; + + case eDialin_TD : + case eTD_Dialin : + case eDialin_DD : + case eDD_Dialin : + case eDialin_FP : + case eFP_Dialin : + case eDialin_UI : + case eUI_Dialin : + if (vText) *vText = "DI"; + return Can_Id::eChlid_UI_Sync; + + default: + if (vText) *vText = "XX"; + return Can_Id::eChlid_UI_Sync; + } +} + +/*! + * \brief MessageInterpreter::interpretMessage + * \details This method will call appropriate message interpreter + * for received messages from TD or DD regarding the Can_Id. + * This function checks to identify the source of the message. + * if it is from TD or DD then checks the standard handled messages with strongly typed models. + * we still have a chance in each TD/DD interpreter to log the unhandled messages. + * if the source is none of the HD or DG it doesn't go to the individual interpreters, + * and the message will identified as unhandled immediately. + * \param vCan_Id - The Channel Id of the CANBus frame. + * \param vMessage - The complete message of type Message which needs to be interpreted. + * \param vActionId - The ActionId of GuiActionType which will be extracted from vMessage. + * \param vData - The values of QVariantList which is understandable for UI + * and has been extracted from hex values of the CANBus Message Payload + * regarding each Message Id definition. + * \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 Message &vMessage, QVariantList &vData) +{ + bool ok = false; + + if ( ! gLogUnhandledOnly ) { + switch (identifySource(vMessage.can_id)) { + case Can_Source::eCan_TD: ok = interpretMessage_TD(vMessage, vData); break; + case Can_Source::eCan_DD: ok = interpretMessage_DD(vMessage, vData); break; + default : printUnhandled (vMessage ); break; // ok is false, the individual interpreters for ?HD/DG should not be called, and it should be done here. + } + } + else { + Q_UNUSED (vData ); + printUnhandled (vMessage ); + } + return ok; +} + +/*! + * \brief MessageInterpreter::interpretMessage_TD + * \details This method will be called + * for received messages from TD to interpret the vMessage of type Message + * to vData of type QVariantList which UI understands regarding the Can_Id. + * \param vMessage - The complete message of type Message which needs to be interpreted. + * \param vActionId - The ActionId of GuiActionType which will be extracted from vMessage. + * \param vData - The values of QVariantList which is understandable for UI + * and has been extracted from hex values of the CANBus Message Payload + * in vMessage of type Message regarding each Message Id definition. + * \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_TD(const Message &vMessage, QVariantList &vData) +{ + bool ok = false; + vData.clear(); + switch (vMessage.actionId) { // notice we are in receive mode + // START OF AUTO GENERATED CODE // + case Gui::GuiActionType::ID_AlarmStatusData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmStatusData ); break; + case Gui::GuiActionType::ID_AlarmTriggered : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmTriggered ); break; + case Gui::GuiActionType::ID_AlarmCleared : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmCleared ); break; + case Gui::GuiActionType::ID_AlarmConditionCleared : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmConditionCleared ); break; + case Gui::GuiActionType::ID_TDAlarmInformationData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDAlarmInformationData ); break; + case Gui::GuiActionType::ID_TDActiveAlarmsListRequestResponse : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDActiveAlarmsListRequestResponse ); break; + case Gui::GuiActionType::ID_TDVersionResponse : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDVersionResponse ); break; + case Gui::GuiActionType::ID_TDBloodPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDBloodPumpData ); break; + case Gui::GuiActionType::ID_TDOPModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDOPModeData ); break; + case Gui::GuiActionType::ID_TDEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDEvent ); break; + case Gui::GuiActionType::ID_TDVoltagesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDVoltagesData ); break; + case Gui::GuiActionType::ID_TDBubblesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDBubblesData ); break; + case Gui::GuiActionType::ID_TDAirPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDAirPumpData ); break; + case Gui::GuiActionType::ID_TDSwitchesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDSwitchesData ); break; + case Gui::GuiActionType::ID_PowerOffWarning : ok = notify(vMessage, vData, Gui::GuiActionType::ID_PowerOffWarning ); break; + case Gui::GuiActionType::ID_OffButtonPressRequest : ok = notify(vMessage, vData, Gui::GuiActionType::ID_OffButtonPressRequest ); break; + case Gui::GuiActionType::ID_TDPressureData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDPressureData ); break; + case Gui::GuiActionType::ID_TDAirTrapData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDAirTrapData ); break; + case Gui::GuiActionType::ID_TDValvesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDValvesData ); break; + case Gui::GuiActionType::ID_DDGenDialysateRequestData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDGenDialysateRequestData ); break; + case Gui::GuiActionType::ID_TDTreatmentTimeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDTreatmentTimeData ); break; + case Gui::GuiActionType::ID_TDTreatmentStateData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDTreatmentStateData ); break; + case Gui::GuiActionType::ID_TDSalineBolusData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDSalineBolusData ); break; + case Gui::GuiActionType::ID_TDUltrafiltrationData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDUltrafiltrationData ); break; + case Gui::GuiActionType::ID_TDRespTreatmentParamsTOValidate : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDRespTreatmentParamsTOValidate ); break; + case Gui::GuiActionType::ID_TDRespUltrafiltrationVolumeTOValidate: ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDRespUltrafiltrationVolumeTOValidate); break; + case Gui::GuiActionType::ID_TDTreatmentParamRanges : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDTreatmentParamRanges ); break; + case Gui::GuiActionType::ID_TDRespInitiateTreatmentWorkflow : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDRespInitiateTreatmentWorkflow ); break; + case Gui::GuiActionType::ID_TDUFPauseResumeResponse : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDUFPauseResumeResponse ); break; + case Gui::GuiActionType::ID_DDPreGenDialysateRequestData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPreGenDialysateRequestData ); break; + case Gui::GuiActionType::ID_TDEjectorData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDEjectorData ); break; + case Gui::GuiActionType::ID_TDTreatmentSetPoints : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TDTreatmentSetPoints ); break; + case Gui::GuiActionType::ID_AckMessageThatRequiresAck : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AckMessageThatRequiresAck ); break; + // END OF AUTO GENERATED CODE // + // unhandled messages: these will only be logged as received message + // there has nothing been defined for these messages. + default : printUnhandled (vMessage ); break; + } + + return ok; +} + +/*! + * \brief MessageInterpreter::interpretMessage_DD + * \details This method will be called + * for received messages from DD to interpret the vMessage of type Message + * to vData of type QVariantList which UI understands regarding the Can_Id. + * \param vMessage - The complete message of type Message which needs to be interpreted. + * \param vActionId - The ActionId of GuiActionType which will be extracted from vMessage. + * \param vData - The values of QVariantList which is understandable for UI + * and has been extracted from hex values of the CANBus Message Payload + * in vMessage of type Message regarding each Message Id definition. + * \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_DD(const Message &vMessage, QVariantList &vData) +{ + bool ok = false; + vData.clear(); + switch (vMessage.actionId) { // notice we are in receive mode + // START OF AUTO GENERATED CODE // + case Gui::GuiActionType::ID_DDAlarmInfoData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDAlarmInfoData ); break; + case Gui::GuiActionType::ID_DDVersionResponse : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDVersionResponse ); break; + case Gui::GuiActionType::ID_DDOPModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDOPModeData ); break; + case Gui::GuiActionType::ID_DDEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDEvent ); break; + case Gui::GuiActionType::ID_DDValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDValvesStatesData ); break; + case Gui::GuiActionType::ID_DDPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPressuresData ); break; + case Gui::GuiActionType::ID_DDConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConductivityData ); break; + case Gui::GuiActionType::ID_DDConcentratePumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDConcentratePumpData ); break; + case Gui::GuiActionType::ID_DDTemperatureData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDTemperatureData ); break; + case Gui::GuiActionType::ID_DialysatePumpsData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DialysatePumpsData ); break; + case Gui::GuiActionType::ID_DDHeatersData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDHeatersData ); break; + case Gui::GuiActionType::ID_DDLevelData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDLevelData ); break; + case Gui::GuiActionType::ID_DDBalChamberData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDBalChamberData ); break; + case Gui::GuiActionType::ID_DDGenDialysateModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDGenDialysateModeData ); break; + case Gui::GuiActionType::ID_DDROStartStopCmdRequest : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDROStartStopCmdRequest ); break; + case Gui::GuiActionType::ID_DDPreGenDialysateStateData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPreGenDialysateStateData ); break; + case Gui::GuiActionType::ID_DDPostGenDialysateStateData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPostGenDialysateStateData ); break; + case Gui::GuiActionType::ID_DDPistonPumpControlData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPistonPumpControlData ); break; + // END OF AUTO GENERATED CODE // + // unhandled messages: these will only be logged as received message + // there has nothing been defined for these messages. + default : printUnhandled (vMessage ); break; + } + + return ok; +} + +/*! + * \brief MessageInterpreter::interpretMessage_FP + * \details This method will be called + * for received messages from FP to interpret the vMessage of type Message + * to vData of type QVariantList which UI understands regarding the Can_Id. + * \param vMessage - The complete message of type Message which needs to be interpreted. + * \param vActionId - The ActionId of GuiActionType which will be extracted from vMessage. + * \param vData - The values of QVariantList which is understandable for UI + * and has been extracted from hex values of the CANBus Message Payload + * in vMessage of type Message regarding each Message Id definition. + * \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_FP(const Message &vMessage, QVariantList &vData) +{ + bool ok = false; + vData.clear(); + switch (vMessage.actionId) { // notice we are in receive mode + // START OF AUTO GENERATED CODE // + case Gui::GuiActionType::ID_ROEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROEvent ); break; + case Gui::GuiActionType::ID_ROAlarmInfoData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROAlarmInfoData ); break; + case Gui::GuiActionType::ID_ROValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROValvesStatesData ); break; + case Gui::GuiActionType::ID_ROPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROPumpData ); break; + case Gui::GuiActionType::ID_ROOPModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROOPModeData ); break; + case Gui::GuiActionType::ID_ROPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROPressuresData ); break; + case Gui::GuiActionType::ID_ROLevelData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROLevelData ); break; + case Gui::GuiActionType::ID_ROFlowData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROFlowData ); break; + case Gui::GuiActionType::ID_ROConductivityData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROConductivityData ); break; + case Gui::GuiActionType::ID_ROTemperatureData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROTemperatureData ); break; + case Gui::GuiActionType::ID_ROHeaterData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROHeaterData ); break; + case Gui::GuiActionType::ID_ROGenWaterModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROGenWaterModeData ); break; + case Gui::GuiActionType::ID_ROPreGenWaterModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_ROPreGenWaterModeData ); break; + // END OF AUTO GENERATED CODE // + // unhandled messages: these will only be logged as received message + // there has nothing been defined for these messages. + default : printUnhandled (vMessage ); break; + } + + return ok; +} + +// ---------- ---------- Message handlers ---------- ---------- // + +// ---------- ---------- ---------- ---------- ---------- Adjustments ---------- ---------- ---------- ---------- ---------- // +/*! + * \brief MessageInterpreter::updateUnhandledMessages + * \return this method is converting the general settings messages/unhandled (Storage::Settings_Category_MessagesUnhandled) group of settings to the message interpreter specific map structure. + * it is done for performance to keep the lookup table shorter and faster. + * This method is called by the chain of events when Application controller is done reading the settings and emits it didSettingsDone, + * which Message dispatcher is listening to will call this function in its signal handler slot. + */ +void MessageInterpreter::updateUnhandledMessages() +{ + QString category = Storage::Settings_Category_MessagesUnhandled; + QStringList groups = _Settings.groups(category); + // DEBUG: qDebug() << groups; + for(const auto &group: qAsConst(groups)) { + bool ok; + quint16 id = QString(group).toUInt(&ok,16); + if (!ok) continue; + _messageList[ id ] = _Settings.keys(category, group); + // DEBUG: qDebug() << _Settings.keys(group); + } +} + +/*! + * \brief MessageInterpreter::logUnhandledMessage + * \details Search in the list of the unhandled messages and tries to extract the data and log it. + * \param vMessage - the received message. + * \return true if the message data can be extracted and logged. + */ +bool MessageInterpreter::logUnhandledMessage(const Message &vMessage) const { + bool ok = false; + quint16 msg_id = vMessage.actionId; + QString logString = QString("%1,").arg(msg_id,4,16); + QString can_id; + QString item = ""; + + identifySource(vMessage.can_id, &can_id); // Message Can Channel. + logString += can_id + ","; + // qDebug() << __FUNCTION__ << logString; + + if (_messageList.contains(msg_id)) { + ok = true; + QStringList items = _messageList[msg_id]; + int index = 0; + for ( int i = 0; i < items.count(); i++ ) { + item = items[i]; + if (i == 0) { // Message Name/Identifier + logString += "~" + item; + } + else { // Message payload data + if ( item == "F32" ) { + Types::F32 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } else + if ( item == "S32" ) { + Types::S32 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } else + if ( item == "U32" ) { + Types::U32 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } else + if ( item == "S16" ) { + Types::S16 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } else + if ( item == "U16" ) { + Types::U16 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } else + if ( item == "S08" ) { + Types::S08 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } else + if ( item == "U08" ) { + Types::U08 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } else + if ( item == "BOOL" ) { + Types::U32 param; + if (! GetValue(vMessage.data, index, param )) logString += ",?"; + else logString += "," + QString::number(param.value); + } + } + } + } + else { + if ( gDisableUnhandledReport ) { // if the unhandled message error has been disabled, return. + LOG_DEBUG(QString("Undefined unhandled message [%1]").arg(msg_id, 0, 16)); + } + } + LOG_APPED(logString + item); + return ok; +} \ No newline at end of file Index: sources/gui/GuiController.cpp =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/GuiController.cpp (.../GuiController.cpp) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/gui/GuiController.cpp (.../GuiController.cpp) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -355,7 +355,7 @@ { AlarmStatusData data = AlarmGenerator::ALARM_ID_TD_COMM_TIMEOUT(); LOG_APPED_MSG(GuiActions::ID_AlarmStatusData, AlarmGenerator::toString()); - //DEBUG qDebug() << " A" << _MessageAcknowModel.count(); + /*DEBUG*/ //qDebug() << " A" << _MessageAcknowModel.count(); emit didActionReceive(data); } Index: sources/gui/GuiController.h =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/GuiController.h (.../GuiController.h) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/gui/GuiController.h (.../GuiController.h) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -19,7 +19,6 @@ // Project #include "main.h" // Doxygen : do not remove -//#include "MModel.h" #include "MModelAutoGen.h" #include "GuiGlobalsAutoGen.h" #include "MessageGlobalsAutoGen.h" Index: sources/gui/GuiGlobalsAutoGen.cpp =================================================================== diff -u --- sources/gui/GuiGlobalsAutoGen.cpp (revision 0) +++ sources/gui/GuiGlobalsAutoGen.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,182 @@ + +#include "GuiGlobalsAutoGen.h" + +// Qt +#include +#include + +// Project +#include "Logger.h" +#include "GuiView.h" +#include "VEventSpy.h" +#include "VGeneralEvent.h" + +// Confirm +#include "VConfirm.h" + +// Device +#include "DeviceView.h" + +// Project +#include "VViewAutoGen.h" +// Settings +#include "VSettings.h" +#include "VLocalization.h" +#include "VAlarmStatus.h" +#include "VAlarmActiveList.h" +#include "VDateTime.h" +#include "VBluetooth.h" +#include "VCloudSync.h" + +// START OF AUTO GENERATED CODE // +#include "VAlarmStatus.h" +#include "VAlarmTriggered.h" +#include "VAlarmCleared.h" +#include "VAlarmConditionCleared.h" +#include "VTDAlarmInformation.h" +#include "VDDAlarmInfo.h" +#include "VUIActiveAlarmsListRequest.h" +#include "VTDActiveAlarmsListRequestResponse.h" +#include "VFWVersionsRequest.h" +#include "VTDVersionResponse.h" +#include "VDDVersionResponse.h" +#include "VUICheckIN.h" +#include "VTDBloodPump.h" +#include "VTDOPMode.h" +#include "VDDOPMode.h" +#include "VTDEvent.h" +#include "VDDEvent.h" +#include "VDDValvesStates.h" +#include "VDDPressures.h" +#include "VTDVoltages.h" +#include "VTDBubbles.h" +#include "VDDConductivity.h" +#include "VTDAirPump.h" +#include "VTDSwitches.h" +#include "VPowerOffWarning.h" +#include "VOffButtonPressRequest.h" +#include "VTDPressure.h" +#include "VDDConcentratePump.h" +#include "VDDTemperature.h" +#include "VDialysatePumps.h" +#include "VDDHeaters.h" +#include "VDDLevel.h" +#include "VTDAirTrap.h" +#include "VTDValves.h" +#include "VROEvent.h" +#include "VROAlarmInfo.h" +#include "VDDBalChamber.h" +#include "VDDGenDialysateMode.h" +#include "VDDGenDialysateRequest.h" +#include "VROValvesStates.h" +#include "VROPump.h" +#include "VROOPMode.h" +#include "VROPressures.h" +#include "VROLevel.h" +#include "VROFlow.h" +#include "VROConductivity.h" +#include "VDDROStartStopCmdRequest.h" +#include "VROTemperature.h" +#include "VROHeater.h" +#include "VTDTreatmentTime.h" +#include "VTDTreatmentState.h" +#include "VTDSalineBolus.h" +#include "VTDUltrafiltration.h" +#include "VUITreatmentParamsTOValidate.h" +#include "VTDRespTreatmentParamsTOValidate.h" +#include "VUIUltrafiltrationVolumeTOValidate.h" +#include "VTDRespUltrafiltrationVolumeTOValidate.h" +#include "VTDTreatmentParamRanges.h" +#include "VUITreatmentParamsConfirmed.h" +#include "VUIInitiateTreatmentWorkflow.h" +#include "VTDRespInitiateTreatmentWorkflow.h" +#include "VUIUFPauseResumeRequest.h" +#include "VTDUFPauseResumeResponse.h" +#include "VROGenWaterMode.h" +#include "VDDPreGenDialysateState.h" +#include "VDDPostGenDialysateState.h" +#include "VDDPreGenDialysateRequest.h" +#include "VROPreGenWaterMode.h" +#include "VTDEjector.h" +#include "VTDTreatmentSetPoints.h" +#include "VDDPistonPumpControl.h" +#include "VAckMessageThatRequiresAck.h" +#include "valarmstatushelper.h" +// END OF AUTO GENERATED CODE // + +namespace Gui { + MainView *_viewer = nullptr; + + /*! + * \brief registerTypes + * \details registering meta types + */ + void registerTypes() + { + qRegisterMetaType ("GuiActionType" ); + qRegisterMetaType ("GuiActionData" ); + + qRegisterMetaType ("GuiAlarmID" ); + qRegisterMetaType ("GuiAlarmPriority"); + + qRegisterMetaType ("GuiRequestReasons"); + + qRegisterMetaType ("GuiStringIndexMap" ); + qRegisterMetaType ("GuiUint08IndexMap" ); + + // Note that this Models are not used in the QML + // but Qt needs them to be registered to be able to use them in between threads queue + // by their metadata information. + REGISTER_MODEL_METATYPES + LOG_DEBUG("Models Registered"); + } + + /*! + * \brief registerQmlTypes + * \details registering QML types + */ + void registerQmlTypes() + { + //using namespace View; + qmlRegisterType ("Gui.View" , 0, 1, "GuiView"); + qmlRegisterUncreatableType ("Gui.Actions" , 0, 1, "GuiActions" , QStringLiteral("Used only for enumerations no need to have an object")); + qmlRegisterSingletonType ("Gui.VEventSpy", 0, 1, "GuiEventSpy", [](QQmlEngine *, QJSEngine *) -> QObject * { + return &_VEventSpy; + }); + + REGISTER_VIEW_TYPES + LOG_DEBUG("Views Registered"); + } + + /*! + * \brief startGui + * \details the GUI initializer/starter function + */ + bool startGui() { + _viewer = new MainView; + registerTypes(); + registerQmlTypes(); + + QObject::connect(_viewer, &MainView::statusChanged, qApp, [=](MainView::Status vStatus) { + // this portion of the code is handling application initialization + // and if not initialized correctly will terminate the application . + bool ok = vStatus == MainView::Ready; + if (ok) { + _viewer->show(); + } + else if (vStatus == MainView::Error || vStatus == MainView::Null) { + for (const auto &error : _viewer->errors()) { + LOG_DEBUG(QString("Application Terminated: %1").arg(error.toString())); + } + QCoreApplication::exit(-1); + } + }, Qt::QueuedConnection ); + + LOG_DEBUG("MainView Starting"); + _viewer->engine()->addImportPath("qrc:/plugins"); + //DEBUG: qDebug() << _viewer->engine()->importPathList(); + _viewer->setSource(QStringLiteral("qrc:/main.qml")); + LOG_DEBUG("MainView started"); + return true; + } +} Index: sources/gui/GuiGlobalsAutoGen.h =================================================================== diff -u --- sources/gui/GuiGlobalsAutoGen.h (revision 0) +++ sources/gui/GuiGlobalsAutoGen.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,315 @@ + +/* + * NOTE: this header file is autogenerated. Any changes in this file will be overridden. + */ + + #pragma once + +// Qt +#include + +// Project + +namespace Gui { + /*! + * \brief The MainView class + * \details A QQuickView inherited child. + * Main entry of the QML. + * It's not usual to inherit from QQuickView and most of the time the class QQuickView, itself, is used. + * It's been inherited to grab all the events which is send/received to/from QML. + * \sa VEventSpy + */ + class MainView : public QQuickView { + Q_OBJECT + + bool event(QEvent* vEvent) override + { + emit eventSpy(vEvent); + return QQuickView::event(vEvent); + } + signals: + void eventSpy(QEvent* vEvent); + }; + extern MainView *_viewer; + + class GuiActions + { + Q_GADGET + explicit GuiActions(); + + public: + enum GuiActionsType_Enum /* : quint16 QML does not support enum types */ { + ID_Unknown = 0x0000, + /* START OF AUTO GENERATED CODE */ + ID_AlarmStatusData = 0x0100, // 1 + ID_AlarmTriggered = 0x0200, // 2 + ID_AlarmCleared = 0x0300, // 3 + ID_AlarmConditionCleared = 0x0400, // 4 + ID_TDAlarmInformationData = 0x0700, // 7 + ID_DDAlarmInfoData = 0x0800, // 8 + ID_UIActiveAlarmsListRequest = 0x0900, // 9 + ID_TDActiveAlarmsListRequestResponse = 0x0A00, // 10 + ID_FWVersionsRequest = 0x0D00, // 13 + ID_TDVersionResponse = 0x0E00, // 14 + ID_DDVersionResponse = 0x0F00, // 15 + ID_UICheckIN = 0x1000, // 16 + ID_TDBloodPumpData = 0x1100, // 17 + ID_TDOPModeData = 0x1200, // 18 + ID_DDOPModeData = 0x1300, // 19 + ID_TDEvent = 0x1700, // 23 + ID_DDEvent = 0x1800, // 24 + ID_DDValvesStatesData = 0x1B00, // 27 + ID_DDPressuresData = 0x1C00, // 28 + ID_TDVoltagesData = 0x1D00, // 29 + ID_TDBubblesData = 0x1E00, // 30 + ID_DDConductivityData = 0x1F00, // 31 + ID_TDAirPumpData = 0x2000, // 32 + ID_TDSwitchesData = 0x2100, // 33 + ID_PowerOffWarning = 0x2200, // 34 + ID_OffButtonPressRequest = 0x2300, // 35 + ID_TDPressureData = 0x2400, // 36 + ID_DDConcentratePumpData = 0x2500, // 37 + ID_DDTemperatureData = 0x2600, // 38 + ID_DialysatePumpsData = 0x2700, // 39 + ID_DDHeatersData = 0x2800, // 40 + ID_DDLevelData = 0x2900, // 41 + ID_TDAirTrapData = 0x2A00, // 42 + ID_TDValvesData = 0x2B00, // 43 + ID_ROEvent = 0x2C00, // 44 + ID_ROAlarmInfoData = 0x2D00, // 45 + ID_DDBalChamberData = 0x2E00, // 46 + ID_DDGenDialysateModeData = 0x2F00, // 47 + ID_DDGenDialysateRequestData = 0x3000, // 48 + ID_ROValvesStatesData = 0x3100, // 49 + ID_ROPumpData = 0x3200, // 50 + ID_ROOPModeData = 0x3300, // 51 + ID_ROPressuresData = 0x3400, // 52 + ID_ROLevelData = 0x3500, // 53 + ID_ROFlowData = 0x3600, // 54 + ID_ROConductivityData = 0x3700, // 55 + ID_DDROStartStopCmdRequest = 0x3800, // 56 + ID_ROTemperatureData = 0x3900, // 57 + ID_ROHeaterData = 0x3A00, // 58 + ID_TDTreatmentTimeData = 0x3B00, // 59 + ID_TDTreatmentStateData = 0x3C00, // 60 + ID_TDSalineBolusData = 0x3D00, // 61 + ID_TDUltrafiltrationData = 0x3E00, // 62 + ID_UITreatmentParamsTOValidate = 0x3F00, // 63 + ID_TDRespTreatmentParamsTOValidate = 0x4000, // 64 + ID_UIUltrafiltrationVolumeTOValidate = 0x4100, // 65 + ID_TDRespUltrafiltrationVolumeTOValidate = 0x4200, // 66 + ID_TDTreatmentParamRanges = 0x4300, // 67 + ID_UITreatmentParamsConfirmed = 0x4400, // 68 + ID_UIInitiateTreatmentWorkflow = 0x4500, // 69 + ID_TDRespInitiateTreatmentWorkflow = 0x4600, // 70 + ID_UIUFPauseResumeRequest = 0x4700, // 71 + ID_TDUFPauseResumeResponse = 0x4800, // 72 + ID_ROGenWaterModeData = 0x4900, // 73 + ID_DDPreGenDialysateStateData = 0x4A00, // 74 + ID_DDPostGenDialysateStateData = 0x4B00, // 75 + ID_DDPreGenDialysateRequestData = 0x4C00, // 76 + ID_ROPreGenWaterModeData = 0x4D00, // 77 + ID_TDEjectorData = 0x4E00, // 78 + ID_TDTreatmentSetPoints = 0x4F00, // 79 + ID_DDPistonPumpControlData = 0xF000, // 240 + ID_AckMessageThatRequiresAck = 0xFFFF, // 65535 + /* END OF AUTO GENERATED CODE */ + }; + enum class GuiActionsData_Enum /*: quint8 QML does not support*/ { + NoData = 0x00, + + Command = 0x00, // HD=>UI : should be handled in receive + Request = 0x00, // UI=>HD : should be handled in transmit + + // UI=>HD : should be handled in transmit + Accepted = 0x01, + Rejected = 0x02, + + // Power-Off Data // HD=>UI : should be handled in receive + Timeout = 0x01, + }; + + Q_ENUM(GuiActionsType_Enum) + Q_ENUM(GuiActionsData_Enum) + + #include "AlarmDefs.h" + Q_ENUM(Alarm_Priorities) + Q_ENUM(Alarm_List ) + Q_ENUM(Alarm_State_Flag_Bit_Positions) + Q_ENUM(Alarm_User_Actions) + Q_ENUM(Alarm_Data_Types) + + #include "MsgDefs.h" + Q_ENUM(Request_Reject_Reasons) + + #include "TDDefs.h" + // Confirm + Q_ENUM(Generic_Confirm_Id) + Q_ENUM(Generic_Confirm_Command) + // + Q_ENUM(TD_POST_States) + Q_ENUM(TD_Op_Modes) + Q_ENUM(TD_Standby_States) + // Treatment + Q_ENUM(Treatment_States) + // Dialysis + Q_ENUM(Dialysis_States) + // Ultrafiltration + Q_ENUM(UF_Adjustments) + Q_ENUM(UF_Commands) + // Saline + Q_ENUM(Saline_Bolus_States) + Q_ENUM(Saline_Commands) + // Heparin + Q_ENUM(Heparin_States) + Q_ENUM(Heparin_Commands) + // Rinseback + Q_ENUM(Rinseback_States) + Q_ENUM(Requested_Rinseback_User_Actions) + // Recirculate + Q_ENUM(Treatment_Recirc_States) + Q_ENUM(Requested_Treatment_Recirc_User_Actions) + // Blood Prime + Q_ENUM(Blood_Prime_States) + // Treatment End + Q_ENUM(Treatment_End_States) + Q_ENUM(Requested_Treatment_End_User_Actions) + // Treatment Stop + Q_ENUM(Treatment_Paused_States) + // Pre-Treatment SubMode + Q_ENUM(TD_Pre_Treatment_Mode_States) + // Pre-Treatment Water Sample + Q_ENUM(TD_Pre_Treatment_Sample_Water_States) + Q_ENUM(Requested_Sample_Water_User_Actions) + // Pre-Treatment Self Test Consumable + Q_ENUM(TD_Pre_Treatment_Consumable_Self_Test_States) + // Pre-Treatment Self Test No Cartridge + Q_ENUM(TD_Pre_Treatment_No_Cart_Self_Tests_States) + // Pre-Treatment Self Test Dry + Q_ENUM(TD_Pre_Treatment_Dry_Self_Tests_States) + // Pre-Treatment Prime + Q_ENUM(TD_Pre_Treatment_Prime_States) + // Pre-Treatment Recirculate + Q_ENUM(TD_Pre_Treatment_Recirc_States) + // Post-Treatment SubMode + Q_ENUM(TD_Post_Treatment_Mode_States) + + // Disinfection + + #include "DDDefs.h" + Q_ENUM(DD_Op_Modes) + Q_ENUM(DD_Disinfect_States) + Q_ENUM(DD_Heat_UI_States) + }; + + // to be able to use the enum as signal/slot parameter + typedef GuiActions::GuiActionsType_Enum GuiActionType; + typedef GuiActions::GuiActionsData_Enum GuiActionData; + + typedef GuiActions::Alarm_Priorities GuiAlarmPriority; + typedef GuiActions::Alarm_List GuiAlarmID; + typedef GuiActions::Alarm_State_Flag_Bit_Positions GuiAlarmFlags; + typedef GuiActions::Alarm_User_Actions GuiAlarmUserActions; + typedef GuiActions::Alarm_Data_Types GuiAlarmDataTypes; + + typedef GuiActions::Request_Reject_Reasons GuiRequestReasons; + // confirm + typedef GuiActions::Generic_Confirm_Id GuiConfirmId; + typedef GuiActions::Generic_Confirm_Command GuiConfirmCommand; + // POST + typedef GuiActions::TD_POST_States GuiTDPOSTStates; + typedef GuiActions::DD_POST_States GuiDDPOSTStates; + // operation mode + typedef GuiActions::TD_Op_Modes GuiTDOpModes; + typedef GuiActions::DD_Op_Modes GuiDDOpModes; + typedef GuiActions::TD_Standby_States GuiTDStandbyStates; + // Treatment States + typedef GuiActions::Treatment_States GuiTreatmentStates; + // Dialysis + typedef GuiActions::Dialysis_States GuiDialysisState; + // Ultrafiltration + typedef GuiActions::UF_Commands GuiUFCommands; + typedef GuiActions::UF_Adjustments GuiUFAdjustment; + // Saline + typedef GuiActions::Saline_Bolus_States GuiSalineStates; + typedef GuiActions::Saline_Commands GuiSalineCommands; + // Heparin + typedef GuiActions::Heparin_States GuiHeparinStates; + typedef GuiActions::Heparin_Commands GuiHeparinCommands; + // Rinseback + typedef GuiActions::Rinseback_States GuiRinsebackStates; + typedef GuiActions::Requested_Rinseback_User_Actions GuiRinsebackCommands; + // Recirculate + typedef GuiActions::Treatment_Recirc_States GuiRecirculateStates; + typedef GuiActions::Requested_Treatment_Recirc_User_Actions GuiRecirculateCommands; + // Blood Prime + typedef GuiActions::Blood_Prime_States GuiBloodPrimeStates; + // Treatment End + typedef GuiActions::Treatment_End_States GuiTreatmentEndStates; + typedef GuiActions::Requested_Treatment_End_User_Actions GuiTreatmentEndCommands; + // Treatment Stop + typedef GuiActions::Treatment_Paused_States GuiTreatmentPausedStates; + // Pre-Treatment SubMode + typedef GuiActions::TD_Pre_Treatment_Mode_States GuiPreTreatmentStates; + // Pre-Treatment Water Sample + typedef GuiActions::TD_Pre_Treatment_Sample_Water_States GuiPreTreatmentWaterSampleStates; + typedef GuiActions::Requested_Sample_Water_User_Actions GuiPreTreatmentWaterSampleCommands; + // Pre-Treatment Self Test Consumable + typedef GuiActions::TD_Pre_Treatment_Consumable_Self_Test_States GuiPreTreatmentSelfTestConsumablesStates; + // Pre-Treatment Self Test No Cartridge + typedef GuiActions::TD_Pre_Treatment_No_Cart_Self_Tests_States GuiPreTreatmentSelfTestNoCartridgeStates; + // Pre-Treatment Self Test Dry + typedef GuiActions::TD_Pre_Treatment_Dry_Self_Tests_States GuiPreTreatmentSelfTestDryStates; + // Pre-Treatment Prime + typedef GuiActions::TD_Pre_Treatment_Prime_States GuiPreTreatmentPrimeStates; + // Pre-Treatment Recirculate + typedef GuiActions::TD_Pre_Treatment_Recirc_States GuiPreTreatmentRecirculateStates; + + // Post-Treatment SubMode + typedef GuiActions::TD_Post_Treatment_Mode_States GuiPostTreatmentStates; + + // Disinfection Heat States + typedef GuiActions::DD_Disinfect_States GuiDisinfectDGStates; + typedef GuiActions::DD_Heat_UI_States GuiDisinfectDGHeatStates; + + typedef QMap GuiStringIndexMap; + typedef QPair GuiStringIndexMapItem; + typedef QMapIterator GuiStringIndexMapIterator; + + typedef QMap GuiUint08IndexMap; + typedef QPair GuiUint08IndexMapItem; + typedef QMapIterator GuiUint08IndexMapIterator; + + /*! + * \brief enumString + * \details converts the enum index to it's code defined text + * \note the enum has to be defined in the Qt metadata by Q_ENUM + * \note the passed vEnum has to be in the type of enum and if not has to be cast by static_cast< ENUM >( VALUE ) + * \param vEnum - the enum to get the name of it + * \param vUndefined - the string format to be used to return if enum is undefined and the number itself is going to be returned. + * \return name of the enum as string or a formatted text by vUndefined containing the enum index number. + */ + template + QString enumString(const T_ENUM &vEnum, const char *vUndefined = nullptr) { + const QMetaObject *mo = qt_getEnumMetaObject(vEnum); + int enumIdx = mo->indexOfEnumerator(qt_getEnumName(vEnum)); + const char *key = mo->enumerator(enumIdx).valueToKey(vEnum); + if (key) { + return qPrintable(key); + } + else { + QString undefined; + if ( vUndefined ) { + undefined = vUndefined; + if (undefined.trimmed().isEmpty()) undefined = "UNDEFINED [%1]"; + } + return undefined.arg(vEnum); + } + } + + + void registerTypes(); + void registerQmlTypes(); + + bool startGui(); +} \ No newline at end of file Index: sources/gui/qml/AlarmItem.qml =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/AlarmItem.qml (.../AlarmItem.qml) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/gui/qml/AlarmItem.qml (.../AlarmItem.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -18,7 +18,9 @@ // Project // C++ imports -import VAlarmStatus 0.1 +//import VAlarmStatus 0.1 +import VAlarmActiveList 0.1 +import VAlarmStatusHelper 0.1 // Qml imports import "qrc:/globals" @@ -35,17 +37,19 @@ anchors.fill: parent - VAlarmStatus { id: vAlarmStatus } + //VAlarmStatus { id: vAlarmStatus } VAlarmActiveList { id: vAlarmActiveList } + VAlarmStatusHelper { id: vAlarmStatusHelper } + readonly property alias backgroundColor: _alarmDialog.backgroundColor - readonly property alias textColor : _alarmDialog.textColor - readonly property string title : vAlarmStatus.title - readonly property string message : vAlarmStatus.message - readonly property alias isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced - readonly property alias timeout : vAlarmStatus.alarm_MuteTimeout - readonly property alias alarm_AlarmID : vAlarmStatus.alarm_AlarmID - readonly property alias hasAlarm : vAlarmStatus.hasAlarm + readonly property color textColor : "red" //_alarmDialog.textColor + readonly property string title : vAlarmStatusHelper.alarmTop //vAlarmStatus.title + readonly property string message : vAlarmStatusHelper.alarmMessage //vAlarmStatus.message + readonly property bool isSilenced : false //vAlarmStatus.alarmsFlags + readonly property int timeout : 0 //vAlarmStatus.alarm_MuteTimeout + readonly property int alarm_AlarmID : vAlarmStatusHelper.alarmTop //vAlarmStatus.alarm_AlarmID + readonly property bool hasAlarm : vAlarmStatusHelper.alarmTop !== 0 function alarmMinimize() { // The has alarm check has been added here to let other components call this function, @@ -66,7 +70,8 @@ // The has alarm check has been added here to let other components call this function, // without worrying about the alarmDialog popoing up without an alarm present. // Look at the PowerItem as an example. - if ( ! vAlarmStatus.hasAlarm ) return + //if ( ! vAlarmStatus.hasAlarm ) return + if (!hasAlarm) return // close the user confirmation dialog if the alarm dialog is going to be dispalyed _confirmDialog.close() @@ -104,11 +109,15 @@ function onClicked ( ) { alarmMaximize () } function onMuteClicked ( ) { vAlarmStatus.doSilence() } } - Connections { target: vAlarmStatus - function onDidAlarmRaise ( ) { alarmMaximize () } - function onDidAlarmEmpty ( ) { alarmHide () } + //Connections { target: vAlarmStatus + // function onDidAlarmRaise ( ) { alarmMaximize () } + // function onDidAlarmEmpty ( ) { alarmHide () } + //} + onHasAlarmChanged: { + console.log("HasAlarm" + hasAlarm) + if (hasAlarm) alarmMaximize() + else alarmHide() } - // TODO : Later need to create a base Notification dialog class // and inherit NotificationDialog and AlarmListDialog from that // Better be the NotificationDialog defined as parent @@ -117,28 +126,28 @@ NotificationDialog { id : _alarmDialog // this will change later to the actual message text // and the instruction would be in the dialog content - - titleText : vAlarmStatus.title + titleBarForeground: "red" + titleText : _root.title //"Title" //vAlarmStatus.title titlePixelSize : Fonts.fontPixelAlarmTitle - description : vAlarmStatus.message + description : _root.message //vAlarmStatus.message descriptionPixelSize: Fonts.fontPixelAlarmMessage - alarmID : vAlarmStatus.alarm_AlarmID - isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced - timeout : vAlarmStatus.alarm_MuteTimeout - okVisible : vAlarmStatus.alarm_Flag_UserMustAck - resumeVisible : ! vAlarmStatus.alarm_Flag_noResume - rinsebackVisible : ! vAlarmStatus.alarm_Flag_noRinseback - endVisible : ! vAlarmStatus.alarm_Flag_noEndTreatment - minVisible : ! vAlarmStatus.alarm_Flag_noMinimize - titleFading : vTDOpMode.fault - countDown : vTreatmentStop.countDown - countDownVisible : vTDOpMode.inTreatment - && ( - vHDTreatmentStates.txStop - || vHDTreatmentStates.txRinseback - || vHDTreatmentStates.txEnd - ) - && vTreatmentStop.total + alarmID : 0 //vAlarmStatus.alarmTop + isSilenced : false //vAlarmStatus.alarm_Flag_alarmsSilenced + timeout : 0 //vAlarmStatus.alarm_MuteTimeout + okVisible : false //vAlarmStatus.alarm_Flag_UserMustAck + resumeVisible : ! false //vAlarmStatus.alarm_Flag_noResume + rinsebackVisible : ! false //vAlarmStatus.alarm_Flag_noRinseback + endVisible : ! false //vAlarmStatus.alarm_Flag_noEndTreatment + minVisible : ! false //vAlarmStatus.alarm_Flag_noMinimize + titleFading : false //vTDOpMode.fault + countDown : 0 //vTreatmentStop.countDown + countDownVisible : false //vTDOpMode.inTreatment + //&& ( + // vHDTreatmentStates.txStop + //|| vHDTreatmentStates.txRinseback + //|| vHDTreatmentStates.txEnd + // ) + //&& vTreatmentStop.total onMuteClicked : vAlarmStatus.doSilence () onResumeClicked : vAlarmStatus.doUserActionResume () @@ -148,21 +157,21 @@ } AlarmListDialog { id : _alarmListDialog - isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced - timeout : vAlarmStatus.alarm_MuteTimeout - minVisible : ! vAlarmStatus.alarm_Flag_noMinimize + isSilenced : false //vAlarmStatus.alarm_Flag_alarmsSilenced + timeout : 0 //vAlarmStatus.alarm_MuteTimeout + minVisible : ! false //vAlarmStatus.alarm_Flag_noMinimize onMuteClicked : vAlarmStatus.doSilence() - titleFading : vTDOpMode.fault + titleFading : true //vTDOpMode.fault } - Connections { target: vAlarmStatus - function onAlarm_PriorityChanged ( vValue ) { - [ - _alarmDialog.titleBarBackground, - _alarmDialog.titleBarForeground, - _alarmDialog.backgroundColor , - _alarmDialog.textColor , - ] = Colors.alarmPriorityColors(vValue) - } - } + //Connections { target: vAlarmStatus + // function onAlarm_PriorityChanged ( vValue ) { + // [ + // _alarmDialog.titleBarBackground, + // _alarmDialog.titleBarForeground, + // _alarmDialog.backgroundColor , + // _alarmDialog.textColor , + // ] = Colors.alarmPriorityColors(vValue) + // } + //} } Index: sources/gui/qml/PowerItem.qml =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/PowerItem.qml (.../PowerItem.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/gui/qml/PowerItem.qml (.../PowerItem.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -110,32 +110,32 @@ } } - Connections { target: vConfirm - function onIsRejectChanged ( vValue ) { - _powerOffDialog.footerUpdate() - } +// Connections { target: vConfirm +// function onIsRejectChanged ( vValue ) { +// _powerOffDialog.footerUpdate() +// } - function onVisibleChanged ( vValue ) { - if ( vValue ) open () - else close () - } +// function onVisibleChanged ( vValue ) { +// if ( vValue ) open () +// else close () +// } - function onPoweroffTriggered ( vValue ) { - switch ( vValue ) { - case GuiActions.Command : open (); break; - case GuiActions.Timeout : close (); break; - case GuiActions.Rejected: reject(); break; - } - } - function onAdjustmentTriggered ( vValue ) { - // DEBUG: - // console.debug('\n' + - // 'id : ' + vConfirm.id + '\n' + - // 'command : ' + vConfirm.command + '\n' + - // 'title : ' + vConfirm.title + '\n' + - // 'message : ' + vConfirm.message + '\n' + - // 'adjustment_ReasonText : ' + vConfirm.adjustment_ReasonText - // ) - } - } +// function onPoweroffTriggered ( vValue ) { +// switch ( vValue ) { +// case GuiActions.Command : open (); break; +// case GuiActions.Timeout : close (); break; +// case GuiActions.Rejected: reject(); break; +// } +// } +// function onAdjustmentTriggered ( vValue ) { +// // DEBUG: +// // console.debug('\n' + +// // 'id : ' + vConfirm.id + '\n' + +// // 'command : ' + vConfirm.command + '\n' + +// // 'title : ' + vConfirm.title + '\n' + +// // 'message : ' + vConfirm.message + '\n' + +// // 'adjustment_ReasonText : ' + vConfirm.adjustment_ReasonText +// // ) +// } +// } } Index: sources/gui/qml/dialogs/DiagnosticsDialog.qml =================================================================== diff -u -r8a8e17d51f3dc3f83ab7b284a4da1c9cabce59d2 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision 8a8e17d51f3dc3f83ab7b284a4da1c9cabce59d2) +++ sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -65,15 +65,15 @@ x: col(0) y: row(0) model: [ - vTDBloodPump.setFlow , - vTDBloodPump.measFlow .toFixed(2) , - vTDBloodPump.rotorSpeed .toFixed(2) , - vTDBloodPump.motorSpeed .toFixed(2) , - vTDBloodPump.currMotor .toFixed(2) , - vTDBloodPump.setRPM .toFixed(2) , - vTDBloodPump.pressureFlow , - vTDBloodPump.rotationCount , - vTDBloodPump.rotorHallState , + 0, //vTDBloodPump.setFlow , + 0, //vTDBloodPump.measFlow .toFixed(2) , + 0, //vTDBloodPump.rotorSpeed .toFixed(2) , + 0, //vTDBloodPump.motorSpeed .toFixed(2) , + 0, //vTDBloodPump.currMotor .toFixed(2) , + 0, //vTDBloodPump.setRPM .toFixed(2) , + 0, //vTDBloodPump.pressureFlow , + 0, //vTDBloodPump.rotationCount , + 0, //vTDBloodPump.rotorHallState , ] label: [ @@ -95,20 +95,22 @@ x: col(1.5) y: row(0) model: [ - vTDAirTrap.lowLevel , - vTDAirTrap.upLevel , - vTDAirTrap.lowLevelRaw , - vTDAirTrap.upLevelRaw , - vTDAirTrap.valveState , - vTDAirTrap.controlling , + vTDAirTrap.h17State , + vTDAirTrap.h16State , + vTDAirTrap.h17RawState , + vTDAirTrap.h16RawState , + vTDAirTrap.h13State , + vTDAirTrap.h20State , + vTDAirTrap.isAutoControlling , ] label: [ "ATL", "ATU", "rATL", "rATU", "state", - "ctrl", + "state2", + "ctrl", ] } @@ -118,11 +120,11 @@ x: col(3) y: row(0) model: [ - vTDValves.valveId , - vTDValves.state , - vTDValves.posName , - vTDValves.posCount , - vTDValves.nextPos , + 0, //vTDValves.valveId , + 0, //vTDValves.state , + 0, //vTDValves.posName , + 0, //vTDValves.posCount , + 0, //vTDValves.nextPos , ] label: [ @@ -140,8 +142,8 @@ x: col(4.5) y: row(0) model: [ - vTDEjector.state , - vTDEjector.setSpeed .toFixed(2) , + 0, //vTDEjector.state , + 0, //vTDEjector.setSpeed .toFixed(2) , ] label: [ @@ -156,7 +158,7 @@ x: col(6) y: row(0) model: [ - vTDSwitches.door , + 0, //vTDSwitches.door , ] label: [ @@ -171,8 +173,8 @@ x: col(0) y: row(3.5) model: [ - vTDBattery.aCPower , - vTDBattery.capacity , + 0, //vTDBattery.aCPower , + 0, //vTDBattery.capacity , ] label: [ "AC ", @@ -186,17 +188,17 @@ x: col(1.5) y: row(3.5) model: [ - vTDVoltage.line_1_2V .toFixed(2) , - vTDVoltage.line_3_3V .toFixed(2) , - vTDVoltage.logic5V .toFixed(2) , - vTDVoltage.sensors5V .toFixed(2) , - vTDVoltage.line_24V .toFixed(2) , - vTDVoltage.regen24V .toFixed(2) , - vTDVoltage.fpgaAdcRef .toFixed(2) , - vTDVoltage.presRef .toFixed(2) , - vTDVoltage.fpgaVcc .toFixed(2) , - vTDVoltage.fpgaVaux .toFixed(2) , - vTDVoltage.fpgaVpvn .toFixed(2) + 0, //vTDVoltage.line_1_2V .toFixed(2) , + 0, //vTDVoltage.line_3_3V .toFixed(2) , + 0, //vTDVoltage.logic5V .toFixed(2) , + 0, //vTDVoltage.sensors5V .toFixed(2) , + 0, //vTDVoltage.line_24V .toFixed(2) , + 0, //vTDVoltage.regen24V .toFixed(2) , + 0, //vTDVoltage.fpgaAdcRef .toFixed(2) , + 0, //vTDVoltage.presRef .toFixed(2) , + 0, //vTDVoltage.fpgaVcc .toFixed(2) , + 0, //vTDVoltage.fpgaVaux .toFixed(2) , + 0, //vTDVoltage.fpgaVpvn .toFixed(2) ] label: [ "1.2V", @@ -219,7 +221,7 @@ x: col(3) y: row(3.5) model: [ - vTDTemperature.boardTemp .toFixed(2) + 0, //vTDTemperature.boardTemp .toFixed(2) ] label: [ "board", @@ -247,16 +249,16 @@ horizontalAlignmentText: Text.AlignLeft fontPixelSizeText: Fonts.fontPixelDebugTitle model: [ "TD: v%1.%2.%3-%4 v%5.%6.%7-%8 c%9\nTD Serial#: %10" - .arg(vAdjustmentVersions.tdVerMajor ) - .arg(vAdjustmentVersions.tdVerMinor ) - .arg(vAdjustmentVersions.tdVerMicro ) - .arg(vAdjustmentVersions.tdVerBuild ) - .arg(vAdjustmentVersions.tdVerFPGAMajor ) - .arg(vAdjustmentVersions.tdVerFPGAMinor ) - .arg(vAdjustmentVersions.tdVerFPGALab ) - .arg(vAdjustmentVersions.tdVerFPGAId ) - .arg(vAdjustmentVersions.tdVerCompatibilityRev ) - .arg(vAdjustmentVersions.tdSerial ) + .arg(0) //vAdjustmentVersions.tdVerMajor ) + .arg(0) //vAdjustmentVersions.tdVerMinor ) + .arg(0) //vAdjustmentVersions.tdVerMicro ) + .arg(0) //vAdjustmentVersions.tdVerBuild ) + .arg(0) //vAdjustmentVersions.tdVerFPGAMajor ) + .arg(0) //vAdjustmentVersions.tdVerFPGAMinor ) + .arg(0) //vAdjustmentVersions.tdVerFPGALab ) + .arg(0) //vAdjustmentVersions.tdVerFPGAId ) + .arg(0) //vAdjustmentVersions.tdVerCompatibilityRev ) + .arg(0) //vAdjustmentVersions.tdSerial ) ] } @@ -266,16 +268,16 @@ horizontalAlignmentText: Text.AlignLeft fontPixelSizeText: Fonts.fontPixelDebugTitle model: [ "DD: v%1.%2.%3-%4 v%5.%6.%7-%8 c%9\nDD Serial#: %10" - .arg(vAdjustmentVersions.ddVerMajor ) - .arg(vAdjustmentVersions.ddVerMinor ) - .arg(vAdjustmentVersions.ddVerMicro ) - .arg(vAdjustmentVersions.ddVerBuild ) - .arg(vAdjustmentVersions.ddVerFPGAMajor ) - .arg(vAdjustmentVersions.ddVerFPGAMinor ) - .arg(vAdjustmentVersions.ddVerFPGALab ) - .arg(vAdjustmentVersions.ddVerFPGAId ) - .arg(vAdjustmentVersions.ddVerCompatibilityRev ) - .arg(vAdjustmentVersions.ddSerial ) + .arg(0) //vAdjustmentVersions.ddVerMajor ) + .arg(0) //vAdjustmentVersions.ddVerMinor ) + .arg(0) //vAdjustmentVersions.ddVerMicro ) + .arg(0) //vAdjustmentVersions.ddVerBuild ) + .arg(0) //vAdjustmentVersions.ddVerFPGAMajor ) + .arg(0) //vAdjustmentVersions.ddVerFPGAMinor ) + .arg(0) //vAdjustmentVersions.ddVerFPGALab ) + .arg(0) //vAdjustmentVersions.ddVerFPGAId ) + .arg(0) //vAdjustmentVersions.ddVerCompatibilityRev ) + .arg(0) //vAdjustmentVersions.ddSerial ) ] } } Index: sources/gui/qml/main.qml =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/main.qml (.../main.qml) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/gui/qml/main.qml (.../main.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -29,14 +29,17 @@ import VTDOPMode 0.1 // Device -//import VDevice 0.1 +import VDevice 0.1 +import VLocalization 0.1 +import VSettings 0.1 +import VConfirm 0.1 +import VDateTime 0.1 // Settings // Qml imports import "qrc:/globals" import "qrc:/pages" -import "qrc:/pages/treatment" import "qrc:/pages/settings" import "qrc:/components" import "qrc:/dialogs" @@ -48,6 +51,15 @@ width : Variables.applicationWidth height: Variables.applicationHeight + VConfirm { id: vConfirm } + + VDevice { id: vDevice } + VSettings { id: vSettings } + VLocalization { id: vLocalization } + VDateTime { id: vDateTime } + VTDAirTrap { id: vTDAirTrap } + + Background {} // ----- Follow the below Z order ----- @@ -59,6 +71,7 @@ // 1 - 3 MainStack { id: _mainStack } + // 3 - Footer MainMenu { id: _mainMenu function isTreatment () { _mainMenu.itemPressed(0) } @@ -87,9 +100,9 @@ } - Connections { target: vTDOpMode - function onStandbyWaitDisinfectChanged ( vValue ) { _mainMenu.isTreatment() } - } +// Connections { target: vTDOpMode +// function onStandbyWaitDisinfectChanged ( vValue ) { _mainMenu.isTreatment() } +// } // 9 - Others Rectangle { //TODO:@LEAHI: make this the statusbar/headerbar component. @@ -179,21 +192,6 @@ font.pixelSize: 15 } - Text { // TEST : BluetoothStatus - color : Colors.textMain - anchors { - top : parent.top - left : parent.left - leftMargin : 615 - } - horizontalAlignment : Text.Alignleft - verticalAlignment : Text.AlignBottom - - height : 15 - text : "B:" + vBluetooth.pairedAddr - font.pixelSize: 14 - } - Text { // TEST : The treatment vital dialog countdown time color : Colors.textMain anchors { @@ -244,7 +242,7 @@ // keyboard should always be before AlarmItem to not to covet it. KeyboardItem { id: _keyboard } - //AlarmItem { id: _alarmItem ; z: 996 } + AlarmItem { id: _alarmItem ; z: 996 } PowerItem { id: _powerItem ; z: 997 } ConfirmDialog { id: _confirmDialog ; z: 998 } DiagnosticsDialog { id: _diagnosticsDialog; z: 999 } @@ -260,7 +258,7 @@ textPixelSize : Fonts.fontPixelAlarmBarTitle isSilenced : _alarmItem.isSilenced timeout : _alarmItem.timeout - backgroundFading : vTDOpMode.fault + backgroundFading : false //vTDOpMode.fault } GuiView { id: _GuiView Index: sources/gui/qml/pages/MainStack.qml =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/gui/qml/pages/MainStack.qml (.../MainStack.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -20,12 +20,6 @@ // Qml imports import "qrc:/globals" import "qrc:/components" -import "qrc:/pages/disinfect" -import "qrc:/pages/pretreatment" -import "qrc:/pages/pretreatment/create" -import "qrc:/pages/treatment" -import "qrc:/pages/endtreatment" -import "qrc:/pages/posttreatment" /*! * \brief ManagerStack is the screen @@ -74,8 +68,8 @@ ProgressBar { minimum : 0 - maximum : vHDPOSTData.itemCount - value : _GuiView.useLogUnhandledOnly ? maximum : vHDPOSTData.itemIndex + maximum : 0 //vHDPOSTData.itemCount + value : _GuiView.useLogUnhandledOnly ? maximum : 0 //vHDPOSTData.itemIndex width : _dialityLogo.width + 50 height : 3 progress.border.width: 0 @@ -101,8 +95,8 @@ visible : true // HD will pause for a few seconds before changing to stand-by mode // So we can show that POST has completed - fail : ! vHDPOSTData.doneResult - done : vHDPOSTData.done + fail : ! true //vHDPOSTData.doneResult + done : false //vHDPOSTData.done pause : ! _postModeScreen.visible } } @@ -120,57 +114,57 @@ } } - Connections { target: vTDOpMode - function onIsTreatmentChanged ( vValue ) { if( vValue ) _mainMenu.isTreatment() } - function onIsManagerChanged ( vValue ) { if( vValue ) _mainMenu.isManager () } - function onIsSettingsChanged ( vValue ) { if( vValue ) _mainMenu.isSettings () } +// Connections { target: vTDOpMode +// function onIsTreatmentChanged ( vValue ) { if( vValue ) _mainMenu.isTreatment() } +// function onIsManagerChanged ( vValue ) { if( vValue ) _mainMenu.isManager () } +// function onIsSettingsChanged ( vValue ) { if( vValue ) _mainMenu.isSettings () } - function onFaultChanged ( vValue ) { page( _startupScreen , vValue )} - function onServiceChanged ( vValue ) { page( _startupScreen , vValue )} - function onInitChanged ( vValue ) { page( _postModeScreen , vValue ) - if( vValue ) vHDPOSTData.reset() // better to reset on vinit = true because the rest makes the screen animation to run - } +// function onFaultChanged ( vValue ) { page( _startupScreen , vValue )} +// function onServiceChanged ( vValue ) { page( _startupScreen , vValue )} +// function onInitChanged ( vValue ) { page( _postModeScreen , vValue ) +// if( vValue ) vHDPOSTData.reset() // better to reset on vinit = true because the rest makes the screen animation to run +// } - function onHomeChanged ( vValue ) { page( _startupScreen , vValue )} - function onStandbyChanged ( vValue ) { /* It depends on the subModes of the standBy. Handled by onHome. */ } - function onStandbyStartChanged ( vValue ) { /* It depends on the subModes of the standBy. Handled by onHome. */ } - function onStandbyWaitTreatmentChanged ( vValue ) { if ( vValue ) vDisinfectAdjustDisinfect.hasCancel = false } - function onStandbyWaitDisinfectChanged ( vValue ) { page( _disinfectStack , vValue )} +// function onHomeChanged ( vValue ) { page( _startupScreen , vValue )} +// function onStandbyChanged ( vValue ) { /* It depends on the subModes of the standBy. Handled by onHome. */ } +// function onStandbyStartChanged ( vValue ) { /* It depends on the subModes of the standBy. Handled by onHome. */ } +// function onStandbyWaitTreatmentChanged ( vValue ) { if ( vValue ) vDisinfectAdjustDisinfect.hasCancel = false } +// function onStandbyWaitDisinfectChanged ( vValue ) { page( _disinfectStack , vValue )} - function onValidateParametersChanged ( vValue ) { _preTreatmentCreateStack.clear ( vValue ) // vValue == true if enterig the state ( clear only on entering). - page( _preTreatmentCreateStack , vValue )} - function onPreTreatmentChanged ( vValue ) { page( _preTreatmentStack , vValue )} - function onInTreatmentChanged ( vValue ) { page( _treatmentStack , vValue )} - function onPostTreatmentChanged ( vValue ) { page( _postTreatmentStack , vValue )} - function onInvalidModeChanged ( vValue ) { page( null , vValue )} - } +// function onValidateParametersChanged ( vValue ) { _preTreatmentCreateStack.clear ( vValue ) // vValue == true if enterig the state ( clear only on entering). +// page( _preTreatmentCreateStack , vValue )} +// function onPreTreatmentChanged ( vValue ) { page( _preTreatmentStack , vValue )} +// function onInTreatmentChanged ( vValue ) { page( _treatmentStack , vValue )} +// function onPostTreatmentChanged ( vValue ) { page( _postTreatmentStack , vValue )} +// function onInvalidModeChanged ( vValue ) { page( null , vValue )} +// } // the page function is more flixible regarding our current design // and it's easier(or may not need) to modify later if required. // and is more optimized and will never leave screen empty // also with what ever order they have been push with the reverse/correct animation will be poped or pushed. - Connections { target: vHDTreatmentStates - // Blood Prime - function onBpRampChanged ( vValue ) { page( null , vValue )} +// Connections { target: vHDTreatmentStates +// // Blood Prime +// function onBpRampChanged ( vValue ) { page( null , vValue )} - // in-Treatmet - function onTxDialysisChanged ( vValue ) { page( _treatmentStack , vValue )} +// // in-Treatmet +// function onTxDialysisChanged ( vValue ) { page( _treatmentStack , vValue )} - function onTxRinsebackChanged ( vValue ) { page( _endTreatmentRinsebackStack , vValue )} - function onTxRecirculateChanged ( vValue ) { page( _endTreatmentRecirculateStack , vValue )} - function onTxEndChanged ( vValue ) { page( _endTreatmentEndStack , vValue )} +// function onTxRinsebackChanged ( vValue ) { page( _endTreatmentRinsebackStack , vValue )} +// function onTxRecirculateChanged ( vValue ) { page( _endTreatmentRecirculateStack , vValue )} +// function onTxEndChanged ( vValue ) { page( _endTreatmentEndStack , vValue )} - // Treatment Stop - function onTxStopChanged ( vValue ) { page( _treatmentStack , vValue )} - function onTsRecirculateChanged ( vValue ) { page( null , vValue )} - function onTsRecirculateDialysateChanged( vValue ) { page( null , vValue )} - function onTsRecirculateBloodChanged ( vValue ) { page( null , vValue )} - function onTsRecirculateNoChanged ( vValue ) { page( null , vValue )} - } +// // Treatment Stop +// function onTxStopChanged ( vValue ) { page( _treatmentStack , vValue )} +// function onTsRecirculateChanged ( vValue ) { page( null , vValue )} +// function onTsRecirculateDialysateChanged( vValue ) { page( null , vValue )} +// function onTsRecirculateBloodChanged ( vValue ) { page( null , vValue )} +// function onTsRecirculateNoChanged ( vValue ) { page( null , vValue )} +// } - Connections { target: vPreTreatmentAdjustmentInitTreatment - function onAdjustmentTriggered ( vValue ) { - _mainHome.reasonText = vPreTreatmentAdjustmentInitTreatment.adjustment_ReasonText - } - } +// Connections { target: vPreTreatmentAdjustmentInitTreatment +// function onAdjustmentTriggered ( vValue ) { +// _mainHome.reasonText = vPreTreatmentAdjustmentInitTreatment.adjustment_ReasonText +// } +// } } Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/disinfect/DisinfectBase.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/disinfect/DisinfectStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/EndTreatmentBase.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/EndTreatmentEndStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/EndTreatmentRecirculateStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/EndTreatmentRinsebackStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentAdditional.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinseback.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackComplete.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackInit.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/endtreatment/rinseback/EndTreatmentRinsebackReconnect.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/posttreatment/PostTreatmentBase.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/posttreatment/PostTreatmentReview.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/posttreatment/PostTreatmentStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/PreTreatmentBase.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/PreTreatmentConsumablesStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/PreTreatmentDisposablesStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/PreTreatmentPrimeStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/PreTreatmentWaterSampleStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/connection/PreTreatmentConnectionStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/connection/PreTreatmentUltrafiltration.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/create/PreTreatmentConfirm.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/settings/SettingsDGCleaning.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/settings/SettingsDGScheduling.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/settings/SettingsDeviceRegistration.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/settings/SettingsInformation.qml =================================================================== diff -u -raf9b5ee3e759ca45c4e55488f46601f30143edae -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/pages/settings/SettingsInformation.qml (.../SettingsInformation.qml) (revision af9b5ee3e759ca45c4e55488f46601f30143edae) +++ sources/gui/qml/pages/settings/SettingsInformation.qml (.../SettingsInformation.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -67,22 +67,22 @@ "" , vDevice .osVersion , Qt .application.version, - vAdjustmentVersions .hdVerDevice , - vAdjustmentVersions .hdVerFPGA , - vAdjustmentVersions .tdSerial , - vAdjustmentVersions .dgVerDevice , - vAdjustmentVersions .dgVerFPGA , - vAdjustmentVersions .dgSerial , + "", //vAdjustmentVersions .hdVerDevice , + "", //vAdjustmentVersions .hdVerFPGA , + "", //vAdjustmentVersions .tdSerial , + "", //vAdjustmentVersions .dgVerDevice , + "", //vAdjustmentVersions .dgVerFPGA , + "", //vAdjustmentVersions .dgSerial , "", "", "", "", // Space and title - vAdjustmentServiceDates .hdLastServiceDate , - vAdjustmentServiceDates .hdNextServiceDate , - vAdjustmentServiceDates .dgLastServiceDate , - vAdjustmentServiceDates .dgNextServiceDate , + "", //vAdjustmentServiceDates .hdLastServiceDate , + "", //vAdjustmentServiceDates .hdNextServiceDate , + "", //vAdjustmentServiceDates .dgLastServiceDate , + "", //vAdjustmentServiceDates .dgNextServiceDate , "", // Space and title - vHDUsageInfo .totalTxHours , - vHDUsageInfo .totalTxHoursSinceLastService , - vHDUsageInfo .epochOfStartOfLastTx , - vHDUsageInfo .epochOfLastRecordReset , + "", //vHDUsageInfo .totalTxHours , + "", //vHDUsageInfo .totalTxHoursSinceLastService , + "", //vHDUsageInfo .epochOfStartOfLastTx , + "", //vHDUsageInfo .epochOfLastRecordReset , ] itemsText : [ qsTr("Versions" ), // col1 title Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/pages/settings/SettingsROInput.qml =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/pages/settings/SettingsROInput.qml (.../SettingsROInput.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/gui/qml/pages/settings/SettingsROInput.qml (.../SettingsROInput.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -46,7 +46,7 @@ Switch { id: _settingsRoInputSwitch property bool active: true - checked : vDuetRoWaterDG.status + checked : false //vDuetRoWaterDG.status width : 85 height : 85 @@ -90,16 +90,16 @@ vDuetRoWaterDG.doAdjustment ( _settingsRoInputSwitch.checked ) } } - Connections { target: vDuetRoWaterDG - function onAdjustmentTriggered(vValue) { - if ( vDuetRoWaterDG.adjustment_Accepted ) { - _settingsRoInput.notificationText = "" - } - else { - _settingsRoInput.notificationText = vDuetRoWaterDG.notification // adjustment_ReasonText - } - vSettings.roWaterMode = vDuetRoWaterDG.status - } - } +// Connections { target: vDuetRoWaterDG +// function onAdjustmentTriggered(vValue) { +// if ( vDuetRoWaterDG.adjustment_Accepted ) { +// _settingsRoInput.notificationText = "" +// } +// else { +// _settingsRoInput.notificationText = vDuetRoWaterDG.notification // adjustment_ReasonText +// } +// vSettings.roWaterMode = vDuetRoWaterDG.status +// } +// } } Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -232,10 +232,6 @@ push( _settingsDeviceConfiguration ) break - case SettingsStack.DeviceRegistration: - push( _settingsDeviceRegistration ) - break - case SettingsStack.RootSSHAccess: vDevice.doInitRootSSHAccess() push( _SettingsRootSSHAccess) @@ -249,11 +245,6 @@ push( _serviceDecommission ) break - case SettingsStack.InstitutionalRecord: - vAdjustmentInstitutionalRecord.doAdjustment() - push( _settingsInstitutionalRecord ) - break - case SettingsStack.Localization: push( _settingLocalization ) break @@ -268,18 +259,14 @@ SettingsInformation { id: _settingsInformation } SettingsVolumeBrightness { id: _settingsVolumeBrightness } SettingsWiFi { id: _settingsWiFi } - SettingsDGCleaning { id: _settingsDGCleaning } - SettingsDGScheduling { id: _settingsDGScheduling } SettingsServicePassword { id: _servicePassword } SettingsDateTime { id: _settingsDateTime } SettingsExportLogs { id: _settingsExportLogs } SettingsROInput { id: _settingsRoInput } SettingsManufacturingSetup { id: _settingsDeviceConfiguration } - SettingsDeviceRegistration { id: _settingsDeviceRegistration } SettingsRootSSHAccess { id: _SettingsRootSSHAccess } SettingsFactoryReset { id: _serviceFactoryReset } SettingsDecommission { id: _serviceDecommission } - SettingsInstitutionalRecord { id: _settingsInstitutionalRecord } SettingsLocalization { id: _settingLocalization } function gotoServiceMode( vservice ) { @@ -293,32 +280,32 @@ _mainMenu.hidden = false } - Connections { target: vAdjustmentServiceMode - function onAdjustmentTriggered ( vValue ) { - if ( vAdjustmentServiceMode.adjustment_Accepted ) { - _settingsHome.notificationText = "" - } - else { - _settingsHome.notificationText = vAdjustmentServiceMode.text() - } - } - } +// Connections { target: vAdjustmentServiceMode +// function onAdjustmentTriggered ( vValue ) { +// if ( vAdjustmentServiceMode.adjustment_Accepted ) { +// _settingsHome.notificationText = "" +// } +// else { +// _settingsHome.notificationText = vAdjustmentServiceMode.text() +// } +// } +// } - Connections { target: vAdjustmentInstitutionalRecord - function onAdjustmentTriggered ( vValue ) { - if ( vAdjustmentInstitutionalRecord.adjustment_Accepted ) { - _settingsHome.notificationText = "" - } - else { - _settingsHome.notificationText = vAdjustmentInstitutionalRecord.text() - } - } - } +// Connections { target: vAdjustmentInstitutionalRecord +// function onAdjustmentTriggered ( vValue ) { +// if ( vAdjustmentInstitutionalRecord.adjustment_Accepted ) { +// _settingsHome.notificationText = "" +// } +// else { +// _settingsHome.notificationText = vAdjustmentInstitutionalRecord.text() +// } +// } +// } - Connections { target: vTDOpMode - function onServiceChanged ( vValue ) { gotoServiceMode( vValue )} - function onStandbyWaitDisinfectChanged ( vValue ) { page( _settingsHome , vValue )} - } +// Connections { target: vTDOpMode +// function onServiceChanged ( vValue ) { gotoServiceMode( vValue )} +// function onStandbyWaitDisinfectChanged ( vValue ) { page( _settingsHome , vValue )} +// } Connections { target: _GuiView function onManufactModeChanged( vPass ) { Index: sources/gui/qml/pages/settings/SettingsVolumeBrightness.qml =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/gui/qml/pages/settings/SettingsVolumeBrightness.qml (.../SettingsVolumeBrightness.qml) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/gui/qml/pages/settings/SettingsVolumeBrightness.qml (.../SettingsVolumeBrightness.qml) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -89,24 +89,24 @@ onReleased : { vAdjustmentAlarmVolume.doAdjustment( _alarmVolume.value ) } - Connections { target: vAdjustmentAlarmVolume - function onAdjustmentTriggered ( vValue ) { - if ( vAdjustmentAlarmVolume.adjustment_Accepted ) { - vSettings .alarmVolume = vAdjustmentAlarmVolume.hdAlarmVolume - _root.notificationText = "" - } - else { - _root.notificationText = vAdjustmentAlarmVolume.adjustment_ReasonText - } - // regardless of the rejection or acceptance the value will be sent from C++ to be adjusted. - _alarmVolume.reset ( vAdjustmentAlarmVolume.hdAlarmVolume ) - } - } +// Connections { target: vAdjustmentAlarmVolume +// function onAdjustmentTriggered ( vValue ) { +// if ( vAdjustmentAlarmVolume.adjustment_Accepted ) { +// vSettings .alarmVolume = vAdjustmentAlarmVolume.hdAlarmVolume +// _root.notificationText = "" +// } +// else { +// _root.notificationText = vAdjustmentAlarmVolume.adjustment_ReasonText +// } +// // regardless of the rejection or acceptance the value will be sent from C++ to be adjusted. +// _alarmVolume.reset ( vAdjustmentAlarmVolume.hdAlarmVolume ) +// } +// } } Label { anchors.verticalCenter: parent.verticalCenter width : 100 - text : vAdjustmentAlarmVolume.hdAlarmVolume + _alarmVolume.unit + text : "" //vAdjustmentAlarmVolume.hdAlarmVolume + _alarmVolume.unit } } Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/TreatmentBloodPrime.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/TreatmentHome.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/TreatmentStack.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/TreatmentUltrafiltrationItem.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentBase.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentDuration.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentFlow.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentPressuresLimits.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationConfirm.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationPaused.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationStart.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentFlows.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentFluid.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentHeparin.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentPressures.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentSaline.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentTime.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentUltrafiltration.qml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag e2b8925fd32e359b3c440acd61e921f0be825a65 refers to a dead (removed) revision in file `sources/gui/qml/pages/treatment/sections/TreatmentVitals.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/model/MModelAutoGen.h =================================================================== diff -u --- sources/model/MModelAutoGen.h (revision 0) +++ sources/model/MModelAutoGen.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,570 @@ + +#pragma once + +#include "main.h" + +// device +#include "DeviceModels.h" +#include "MBluetooth.h" +#include "MSettings.h" + +// START OF AUTO GENERATED CODE // +#include "MAlarmStatusData.h" +#include "MAlarmTriggered.h" +#include "MAlarmCleared.h" +#include "MAlarmConditionCleared.h" +#include "MTDAlarmInformationData.h" +#include "MDDAlarmInfoData.h" +#include "MUIActiveAlarmsListRequest.h" +#include "MTDActiveAlarmsListRequestResponse.h" +#include "MFWVersionsRequest.h" +#include "MTDVersionResponse.h" +#include "MDDVersionResponse.h" +#include "MUICheckIN.h" +#include "MTDBloodPumpData.h" +#include "MTDOPModeData.h" +#include "MDDOPModeData.h" +#include "MTDEvent.h" +#include "MDDEvent.h" +#include "MDDValvesStatesData.h" +#include "MDDPressuresData.h" +#include "MTDVoltagesData.h" +#include "MTDBubblesData.h" +#include "MDDConductivityData.h" +#include "MTDAirPumpData.h" +#include "MTDSwitchesData.h" +#include "MPowerOffWarning.h" +#include "MOffButtonPressRequest.h" +#include "MTDPressureData.h" +#include "MDDConcentratePumpData.h" +#include "MDDTemperatureData.h" +#include "MDialysatePumpsData.h" +#include "MDDHeatersData.h" +#include "MDDLevelData.h" +#include "MTDAirTrapData.h" +#include "MTDValvesData.h" +#include "MROEvent.h" +#include "MROAlarmInfoData.h" +#include "MDDBalChamberData.h" +#include "MDDGenDialysateModeData.h" +#include "MDDGenDialysateRequestData.h" +#include "MROValvesStatesData.h" +#include "MROPumpData.h" +#include "MROOPModeData.h" +#include "MROPressuresData.h" +#include "MROLevelData.h" +#include "MROFlowData.h" +#include "MROConductivityData.h" +#include "MDDROStartStopCmdRequest.h" +#include "MROTemperatureData.h" +#include "MROHeaterData.h" +#include "MTDTreatmentTimeData.h" +#include "MTDTreatmentStateData.h" +#include "MTDSalineBolusData.h" +#include "MTDUltrafiltrationData.h" +#include "MUITreatmentParamsTOValidate.h" +#include "MTDRespTreatmentParamsTOValidate.h" +#include "MUIUltrafiltrationVolumeTOValidate.h" +#include "MTDRespUltrafiltrationVolumeTOValidate.h" +#include "MTDTreatmentParamRanges.h" +#include "MUITreatmentParamsConfirmed.h" +#include "MUIInitiateTreatmentWorkflow.h" +#include "MTDRespInitiateTreatmentWorkflow.h" +#include "MUIUFPauseResumeRequest.h" +#include "MTDUFPauseResumeResponse.h" +#include "MROGenWaterModeData.h" +#include "MDDPreGenDialysateStateData.h" +#include "MDDPostGenDialysateStateData.h" +#include "MDDPreGenDialysateRequestData.h" +#include "MROPreGenWaterModeData.h" +#include "MTDEjectorData.h" +#include "MTDTreatmentSetPoints.h" +#include "MDDPistonPumpControlData.h" +#include "MAckMessageThatRequiresAck.h" +// END OF AUTO GENERATED CODE // + +/*! + * \page MessageFlow Message interpretation Flow + * \dot + * digraph callgraph { + * node [shape=ellipse, fontname=Arial, fontsize=11]; + * user [shape=box ]; + * QML [URL="\ref application/sources/gui" ]; + * GuiView [URL="\ref Gui::GuiView" ]; + * View [URL="\ref application/sources/view" ]; + * GuiController [URL="\ref Gui::GuiController" ]; + * ApplicationController [URL="\ref ApplicationController" ]; + * FrameInterface [URL="\ref Can::FrameInterface" ]; + * CanInterface [URL="\ref Can::CanInterface" ]; + * CANBus [shape=box ]; + * subgraph MessageDispatcher { + * node [shape=ellipse, fontname=Arial, fontsize=11, URL="\ref Can::MessageDispatcher"]; + * label = "Message_Dispatcher"; + * MessageAcknow [URL="\ref Can::MessageAcknowModel" ]; + * MessageInterpreter [URL="\ref Can::MessageInterpreter" ]; + * MessageBuilder [URL="\ref Can::MessageBuilder" ]; + * MessageDispatcher -> MessageInterpreter [dir="both" ]; + * MessageDispatcher -> MessageAcknow [dir="both" ]; + * MessageInterpreter -> MessageBuilder [dir="both" ]; + * } + * user -> QML [dir="both" ]; + * QML -> { GuiView } [dir="both" ]; + * { GuiView, } -> GuiController [dir="both" ]; + * GuiController -> ApplicationController [dir="both" ]; + * ApplicationController -> MessageDispatcher [dir="both" ]; + * MessageDispatcher -> FrameInterface [dir="both" ]; + * FrameInterface -> CanInterface [dir="both" ]; + * CanInterface -> CANBus [dir="both" ]; + * } + * \enddot + * + * \note + * 00 - sort .pro file after all new files added. + * + * \details + * This comment explains how to add a Denali Message in Denali UI Application + * + * Model : + * + * 01 - Look at the message structure in the "message list.xlsx" and in GuiGlobals.h define enum ID_ + * Add an enum for the message in the guiglobals.h : GuiActionsType_Enum + * and assign a correct message value to it. + * Note that it needs to be in little endian so if you have a message Id of 37 your enum should have a value of 0x2500 in hex. + * \code{.cpp} + * ID_HDOperationModeData = 0x2500, // 37 // little endian + * \endcode + * + * 02 - MessageGlobals.h : add len + * \code{.cpp} + * {Gui::GuiActionType::ID_HDOperationModeData , 2 * 4 }, // 2 parameter each 4bytes + * \endcode + * + * 03 - Implement the model by copy/paste of the closest model, fit to your need. + * \sa MHDOperationMode + * \sa MHDOperationModeData.h + * \sa MHDOperationModeData.cpp + * + * 04 - Added #include in MModel.h for the implemented model + * \code{.cpp} + * #include "MHDOperationModeData.h" + * \endcode + * + * 05 - Register the model in MModel.h by adding it to the macro lists : + * - \ref REGISTER_MODEL_METATYPES + * - \ref ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS + * - \ref ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS + * - \ref ACTION_RECEIVE_SIGNALS + * + * 06 - In the MessageInterpreter add a line of handler in interpretMessage_ method + * and put the enum and model. + * \sa MessageInterpreter::interpretMessage_HD + * \sa MessageInterpreter::interpretMessage_DG + * \sa MessageInterpreter.cpp + * + * View : + * 07 - Implement the view by copy/paste of the closest view, fit to your need. + * \sa VHDOperationMode + * \sa VHDOperationModeData.h + * \sa VHDOperationModeData.cpp + * + * 08 - Register the view in VView.h in macro list + * \sa REGISTER_VIEW_TYPES + * \sa VView.h + * + * 09 - Include the view header in the GuiGlobals.cpp + * \code{.cpp} + * #include "VHDOperationModeData.h" + * \endcode + * \sa GuiGlobals.cpp + * + * QML : + * 10 - Import the registered view + * \code{.js} + * import VHDOperationMode 0.1; + * \endcode + * \sa main.qml + * + * 11 - Create an object + * \code{.js} + * VHDOperationMode { id: vHDOperationMode } + * \endcode + * \sa main.qml + * + * 12 - Use it. + */ + +//--------------------------------------------------------------------------------// +//-------- Please add the model type to the lists below to register them ---------// +//--------------------------------------------------------------------------------// + +/*! + \def REGISTER_MODEL_METATYPES + \details Registers the models in the Qt MetaType so it can be used in signal/slots between threads. + */ +/* START OF AUTO GENERATED CODE */ +#define REGISTER_MODEL_METATYPES \ + REGISTER_METATYPE( AlarmStatusData ) \ + REGISTER_METATYPE( AlarmTriggeredData ) \ + REGISTER_METATYPE( AlarmClearedData ) \ + REGISTER_METATYPE( AlarmConditionClearedData ) \ + REGISTER_METATYPE( TDAlarmInformationData ) \ + REGISTER_METATYPE( DDAlarmInfoData ) \ + REGISTER_METATYPE( UIActiveAlarmsListRequestData ) \ + REGISTER_METATYPE( TDActiveAlarmsListRequestResponseData ) \ + REGISTER_METATYPE( FWVersionsRequestData ) \ + REGISTER_METATYPE( TDVersionResponseData ) \ + REGISTER_METATYPE( DDVersionResponseData ) \ + REGISTER_METATYPE( UICheckINData ) \ + REGISTER_METATYPE( TDBloodPumpData ) \ + REGISTER_METATYPE( TDOPModeData ) \ + REGISTER_METATYPE( DDOPModeData ) \ + REGISTER_METATYPE( TDEventData ) \ + REGISTER_METATYPE( DDEventData ) \ + REGISTER_METATYPE( DDValvesStatesData ) \ + REGISTER_METATYPE( DDPressuresData ) \ + REGISTER_METATYPE( TDVoltagesData ) \ + REGISTER_METATYPE( TDBubblesData ) \ + REGISTER_METATYPE( DDConductivityData ) \ + REGISTER_METATYPE( TDAirPumpData ) \ + REGISTER_METATYPE( TDSwitchesData ) \ + REGISTER_METATYPE( PowerOffWarningData ) \ + REGISTER_METATYPE( OffButtonPressRequestData ) \ + REGISTER_METATYPE( TDPressureData ) \ + REGISTER_METATYPE( DDConcentratePumpData ) \ + REGISTER_METATYPE( DDTemperatureData ) \ + REGISTER_METATYPE( DialysatePumpsData ) \ + REGISTER_METATYPE( DDHeatersData ) \ + REGISTER_METATYPE( DDLevelData ) \ + REGISTER_METATYPE( TDAirTrapData ) \ + REGISTER_METATYPE( TDValvesData ) \ + REGISTER_METATYPE( ROEventData ) \ + REGISTER_METATYPE( ROAlarmInfoData ) \ + REGISTER_METATYPE( DDBalChamberData ) \ + REGISTER_METATYPE( DDGenDialysateModeData ) \ + REGISTER_METATYPE( DDGenDialysateRequestData ) \ + REGISTER_METATYPE( ROValvesStatesData ) \ + REGISTER_METATYPE( ROPumpData ) \ + REGISTER_METATYPE( ROOPModeData ) \ + REGISTER_METATYPE( ROPressuresData ) \ + REGISTER_METATYPE( ROLevelData ) \ + REGISTER_METATYPE( ROFlowData ) \ + REGISTER_METATYPE( ROConductivityData ) \ + REGISTER_METATYPE( DDROStartStopCmdRequestData ) \ + REGISTER_METATYPE( ROTemperatureData ) \ + REGISTER_METATYPE( ROHeaterData ) \ + REGISTER_METATYPE( TDTreatmentTimeData ) \ + REGISTER_METATYPE( TDTreatmentStateData ) \ + REGISTER_METATYPE( TDSalineBolusData ) \ + REGISTER_METATYPE( TDUltrafiltrationData ) \ + REGISTER_METATYPE( UITreatmentParamsTOValidateData ) \ + REGISTER_METATYPE( TDRespTreatmentParamsTOValidateData ) \ + REGISTER_METATYPE( UIUltrafiltrationVolumeTOValidateData ) \ + REGISTER_METATYPE( TDRespUltrafiltrationVolumeTOValidateData ) \ + REGISTER_METATYPE( TDTreatmentParamRangesData ) \ + REGISTER_METATYPE( UITreatmentParamsConfirmedData ) \ + REGISTER_METATYPE( UIInitiateTreatmentWorkflowData ) \ + REGISTER_METATYPE( TDRespInitiateTreatmentWorkflowData ) \ + REGISTER_METATYPE( UIUFPauseResumeRequestData ) \ + REGISTER_METATYPE( TDUFPauseResumeResponseData ) \ + REGISTER_METATYPE( ROGenWaterModeData ) \ + REGISTER_METATYPE( DDPreGenDialysateStateData ) \ + REGISTER_METATYPE( DDPostGenDialysateStateData ) \ + REGISTER_METATYPE( DDPreGenDialysateRequestData ) \ + REGISTER_METATYPE( ROPreGenWaterModeData ) \ + REGISTER_METATYPE( TDEjectorData ) \ + REGISTER_METATYPE( TDTreatmentSetPointsData ) \ + REGISTER_METATYPE( DDPistonPumpControlData ) \ + REGISTER_METATYPE( AckMessageThatRequiresAckData ) \ + /* END OF AUTO GENERATED CODE */ + +//===============================================================================// +/*! + \def ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS + \details This macro connects the source object vSource to the models defined in the list for received messages. + It connects source didActionReceive() signal to the this pointer of the class object + onActionReceive(). + The code below is implemented for each model : + \code {.cpp} + connect(&vSOURCE, SIGNAL(didActionReceive(const vTYPE &)), + this , SLOT( onActionReceive(const vTYPE &))); + \endcode + This macro should be used in the cpp file of the class. + This macro should be used with its counterpart macro \ref ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS + */ +/* START OF AUTO GENERATED CODE */ +#define ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmStatusData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmTriggeredData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmClearedData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmConditionClearedData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDAlarmInformationData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDAlarmInfoData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDActiveAlarmsListRequestResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDVersionResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDVersionResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDBloodPumpData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDOPModeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDOPModeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDEventData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDEventData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDPressuresData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDVoltagesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDBubblesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDConductivityData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDAirPumpData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDSwitchesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PowerOffWarningData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, OffButtonPressRequestData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDPressureData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDConcentratePumpData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDTemperatureData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DialysatePumpsData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDHeatersData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDLevelData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDAirTrapData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDValvesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROEventData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROAlarmInfoData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDBalChamberData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDGenDialysateModeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDGenDialysateRequestData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROPumpData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROOPModeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROPressuresData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROLevelData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROFlowData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROConductivityData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDROStartStopCmdRequestData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROTemperatureData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROHeaterData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDTreatmentTimeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDTreatmentStateData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDSalineBolusData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDUltrafiltrationData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDRespTreatmentParamsTOValidateData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDRespUltrafiltrationVolumeTOValidateData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDTreatmentParamRangesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDRespInitiateTreatmentWorkflowData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDUFPauseResumeResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROGenWaterModeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDPreGenDialysateStateData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDPostGenDialysateStateData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDPreGenDialysateRequestData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, ROPreGenWaterModeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDEjectorData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TDTreatmentSetPointsData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DDPistonPumpControlData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AckMessageThatRequiresAckData ) \ + /* END OF AUTO GENERATED CODE */ + +// /* Request */ ---------------------------------------------------------// +/* START OF AUTO GENERATED CODE */ +#define ADJUST_TRANSMT_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, UIActiveAlarmsListRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, FWVersionsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, UICheckINData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, UITreatmentParamsTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, UIUltrafiltrationVolumeTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, UITreatmentParamsConfirmedData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, UIInitiateTreatmentWorkflowData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, UIUFPauseResumeRequestData ) \ + /* END OF AUTO GENERATED CODE */ + +//===============================================================================// +/*! + \def ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS + \details This macro defines the signal/slot of the source object vSource to the models + listed in its definition for received messages. + The code below will be implemented for each model : + \code {.cpp} + private slots: + void onActionReceive (const vTYPE &vData) { + emit didActionReceive(vData); + } + signals: + void didActionReceive (const vTYPE &vData); + \endcode + This macro should be used in the header file of the class. + This macro should be used with its counterpart macro \ref ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS + */ +/* START OF AUTO GENERATED CODE */ +#define ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS \ +ACTION_RECEIVE_BRIDGE_DEFINITION( SettingsData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmStatusData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmTriggeredData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmClearedData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmConditionClearedData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDAlarmInformationData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDAlarmInfoData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDActiveAlarmsListRequestResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDVersionResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDVersionResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDBloodPumpData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDOPModeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDOPModeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDEventData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDEventData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDPressuresData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDVoltagesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDBubblesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDConductivityData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDAirPumpData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDSwitchesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( PowerOffWarningData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( OffButtonPressRequestData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDPressureData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDConcentratePumpData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDTemperatureData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DialysatePumpsData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDHeatersData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDLevelData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDAirTrapData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDValvesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROEventData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROAlarmInfoData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDBalChamberData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDGenDialysateModeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDGenDialysateRequestData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROPumpData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROOPModeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROPressuresData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROLevelData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROFlowData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROConductivityData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDROStartStopCmdRequestData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROTemperatureData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROHeaterData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDTreatmentTimeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDTreatmentStateData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDSalineBolusData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDUltrafiltrationData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDRespTreatmentParamsTOValidateData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDRespUltrafiltrationVolumeTOValidateData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDTreatmentParamRangesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDRespInitiateTreatmentWorkflowData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDUFPauseResumeResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROGenWaterModeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDPreGenDialysateStateData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDPostGenDialysateStateData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDPreGenDialysateRequestData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( ROPreGenWaterModeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDEjectorData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TDTreatmentSetPointsData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DDPistonPumpControlData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AckMessageThatRequiresAckData ) \ + /* END OF AUTO GENERATED CODE */ + +/* START OF AUTO GENERATED CODE */ +#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS \ + /* Request --------------------------------------------------------- */ \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( UIActiveAlarmsListRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( FWVersionsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( UICheckINData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( UITreatmentParamsTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( UIUltrafiltrationVolumeTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( UITreatmentParamsConfirmedData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( UIInitiateTreatmentWorkflowData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( UIUFPauseResumeRequestData ) \ + /* END OF AUTO GENERATED CODE */ + +/* START OF AUTO GENERATED CODE */ +#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_NOEMIT \ + /* Request ----------------------- NoEmit -------------------------- */ \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( UIActiveAlarmsListRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( FWVersionsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( UICheckINData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( UITreatmentParamsTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( UIUltrafiltrationVolumeTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( UITreatmentParamsConfirmedData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( UIInitiateTreatmentWorkflowData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( UIUFPauseResumeRequestData ) \ + /* END OF AUTO GENERATED CODE */ + +/* START OF AUTO GENERATED CODE */ +#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_PUBLIC \ + /* Request ----------------------- public -------------------------- */ \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( UIActiveAlarmsListRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( FWVersionsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( UICheckINData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( UITreatmentParamsTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( UIUltrafiltrationVolumeTOValidateData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( UITreatmentParamsConfirmedData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( UIInitiateTreatmentWorkflowData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( UIUFPauseResumeRequestData ) \ + /* END OF AUTO GENERATED CODE */ + +//== MessageInterpreter Signal Definition =======================================// +/* START OF AUTO GENERATED CODE */ +#define ACTION_RECEIVE_SIGNALS \ + ACTION_RECEIVE_SIGNAL( AlarmStatusData ) \ + ACTION_RECEIVE_SIGNAL( AlarmTriggeredData ) \ + ACTION_RECEIVE_SIGNAL( AlarmClearedData ) \ + ACTION_RECEIVE_SIGNAL( AlarmConditionClearedData ) \ + ACTION_RECEIVE_SIGNAL( TDAlarmInformationData ) \ + ACTION_RECEIVE_SIGNAL( DDAlarmInfoData ) \ + ACTION_RECEIVE_SIGNAL( TDActiveAlarmsListRequestResponseData ) \ + ACTION_RECEIVE_SIGNAL( TDVersionResponseData ) \ + ACTION_RECEIVE_SIGNAL( DDVersionResponseData ) \ + ACTION_RECEIVE_SIGNAL( TDBloodPumpData ) \ + ACTION_RECEIVE_SIGNAL( TDOPModeData ) \ + ACTION_RECEIVE_SIGNAL( DDOPModeData ) \ + ACTION_RECEIVE_SIGNAL( TDEventData ) \ + ACTION_RECEIVE_SIGNAL( DDEventData ) \ + ACTION_RECEIVE_SIGNAL( DDValvesStatesData ) \ + ACTION_RECEIVE_SIGNAL( DDPressuresData ) \ + ACTION_RECEIVE_SIGNAL( TDVoltagesData ) \ + ACTION_RECEIVE_SIGNAL( TDBubblesData ) \ + ACTION_RECEIVE_SIGNAL( DDConductivityData ) \ + ACTION_RECEIVE_SIGNAL( TDAirPumpData ) \ + ACTION_RECEIVE_SIGNAL( TDSwitchesData ) \ + ACTION_RECEIVE_SIGNAL( PowerOffWarningData ) \ + ACTION_RECEIVE_SIGNAL( OffButtonPressRequestData ) \ + ACTION_RECEIVE_SIGNAL( TDPressureData ) \ + ACTION_RECEIVE_SIGNAL( DDConcentratePumpData ) \ + ACTION_RECEIVE_SIGNAL( DDTemperatureData ) \ + ACTION_RECEIVE_SIGNAL( DialysatePumpsData ) \ + ACTION_RECEIVE_SIGNAL( DDHeatersData ) \ + ACTION_RECEIVE_SIGNAL( DDLevelData ) \ + ACTION_RECEIVE_SIGNAL( TDAirTrapData ) \ + ACTION_RECEIVE_SIGNAL( TDValvesData ) \ + ACTION_RECEIVE_SIGNAL( ROEventData ) \ + ACTION_RECEIVE_SIGNAL( ROAlarmInfoData ) \ + ACTION_RECEIVE_SIGNAL( DDBalChamberData ) \ + ACTION_RECEIVE_SIGNAL( DDGenDialysateModeData ) \ + ACTION_RECEIVE_SIGNAL( DDGenDialysateRequestData ) \ + ACTION_RECEIVE_SIGNAL( ROValvesStatesData ) \ + ACTION_RECEIVE_SIGNAL( ROPumpData ) \ + ACTION_RECEIVE_SIGNAL( ROOPModeData ) \ + ACTION_RECEIVE_SIGNAL( ROPressuresData ) \ + ACTION_RECEIVE_SIGNAL( ROLevelData ) \ + ACTION_RECEIVE_SIGNAL( ROFlowData ) \ + ACTION_RECEIVE_SIGNAL( ROConductivityData ) \ + ACTION_RECEIVE_SIGNAL( DDROStartStopCmdRequestData ) \ + ACTION_RECEIVE_SIGNAL( ROTemperatureData ) \ + ACTION_RECEIVE_SIGNAL( ROHeaterData ) \ + ACTION_RECEIVE_SIGNAL( TDTreatmentTimeData ) \ + ACTION_RECEIVE_SIGNAL( TDTreatmentStateData ) \ + ACTION_RECEIVE_SIGNAL( TDSalineBolusData ) \ + ACTION_RECEIVE_SIGNAL( TDUltrafiltrationData ) \ + ACTION_RECEIVE_SIGNAL( TDRespTreatmentParamsTOValidateData ) \ + ACTION_RECEIVE_SIGNAL( TDRespUltrafiltrationVolumeTOValidateData ) \ + ACTION_RECEIVE_SIGNAL( TDTreatmentParamRangesData ) \ + ACTION_RECEIVE_SIGNAL( TDRespInitiateTreatmentWorkflowData ) \ + ACTION_RECEIVE_SIGNAL( TDUFPauseResumeResponseData ) \ + ACTION_RECEIVE_SIGNAL( ROGenWaterModeData ) \ + ACTION_RECEIVE_SIGNAL( DDPreGenDialysateStateData ) \ + ACTION_RECEIVE_SIGNAL( DDPostGenDialysateStateData ) \ + ACTION_RECEIVE_SIGNAL( DDPreGenDialysateRequestData ) \ + ACTION_RECEIVE_SIGNAL( ROPreGenWaterModeData ) \ + ACTION_RECEIVE_SIGNAL( TDEjectorData ) \ + ACTION_RECEIVE_SIGNAL( TDTreatmentSetPointsData ) \ + ACTION_RECEIVE_SIGNAL( DDPistonPumpControlData ) \ + ACTION_RECEIVE_SIGNAL( AckMessageThatRequiresAckData ) \ + /* END OF AUTO GENERATED CODE */ + +//--------------------------------------------------------------------------------// +//--------------------------------------------------------------------------------// Index: sources/model/model_autogen/MAckMessageThatRequiresAck.cpp =================================================================== diff -u --- sources/model/model_autogen/MAckMessageThatRequiresAck.cpp (revision 0) +++ sources/model/model_autogen/MAckMessageThatRequiresAck.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ + +#include "MAckMessageThatRequiresAck.h" + +using namespace Model; + +QVariantList MAckMessageThatRequiresAck::parameters() const { + return { + }; +} + +bool MAckMessageThatRequiresAck::fromByteArray(const QByteArray &, int *) { + + return true; + + +} +/*! + * \brief MAckMessageThatRequiresAck::data + * \details The ID_AckMessageThatRequiresAck data model + * \return Data + */ +MAckMessageThatRequiresAck::Data MAckMessageThatRequiresAck::data() const { + Data data; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MAckMessageThatRequiresAck.h =================================================================== diff -u --- sources/model/model_autogen/MAckMessageThatRequiresAck.h (revision 0) +++ sources/model/model_autogen/MAckMessageThatRequiresAck.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,64 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAckMessageThatRequiresAck class + * \details The The ID_AckMessageThatRequiresAck data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0xFFFF| 0x100 | 1 Hz | N | TD | All | ID_AckMessageThatRequiresAck data | + * + * | Payload || + * | || + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MAckMessageThatRequiresAck | + * + */ +class MAckMessageThatRequiresAck : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AckMessageThatRequiresAck"); } + + struct Data { + }; + + MAckMessageThatRequiresAck() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MAckMessageThatRequiresAck::Data AckMessageThatRequiresAckData; \ No newline at end of file Index: sources/model/model_autogen/MAlarmCleared.cpp =================================================================== diff -u --- sources/model/model_autogen/MAlarmCleared.cpp (revision 0) +++ sources/model/model_autogen/MAlarmCleared.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MAlarmCleared.h" + +using namespace Model; + +QVariantList MAlarmCleared::parameters() const { + return { + _data.mAlarmid .value, + }; +} + +bool MAlarmCleared::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAlarmid )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MAlarmCleared::data + * \details The ID_AlarmCleared data model + * \return Data + */ +MAlarmCleared::Data MAlarmCleared::data() const { + Data data; + data.mAlarmid = _data.mAlarmid .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MAlarmCleared.h =================================================================== diff -u --- sources/model/model_autogen/MAlarmCleared.h (revision 0) +++ sources/model/model_autogen/MAlarmCleared.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAlarmCleared class + * \details The The ID_AlarmCleared data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0300| 0x001 | 1 Hz | N | TD | All | ID_AlarmCleared data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::malarmID | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MAlarmCleared | + * + */ +class MAlarmCleared : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAlarmid; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AlarmCleared"); } + + struct Data { + quint32 mAlarmid = 0; + }; + + MAlarmCleared() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MAlarmCleared::Data AlarmClearedData; \ No newline at end of file Index: sources/model/model_autogen/MAlarmConditionCleared.cpp =================================================================== diff -u --- sources/model/model_autogen/MAlarmConditionCleared.cpp (revision 0) +++ sources/model/model_autogen/MAlarmConditionCleared.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MAlarmConditionCleared.h" + +using namespace Model; + +QVariantList MAlarmConditionCleared::parameters() const { + return { + _data.mAlarmid .value, + }; +} + +bool MAlarmConditionCleared::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAlarmid )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MAlarmConditionCleared::data + * \details The ID_AlarmConditionCleared data model + * \return Data + */ +MAlarmConditionCleared::Data MAlarmConditionCleared::data() const { + Data data; + data.mAlarmid = _data.mAlarmid .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MAlarmConditionCleared.h =================================================================== diff -u --- sources/model/model_autogen/MAlarmConditionCleared.h (revision 0) +++ sources/model/model_autogen/MAlarmConditionCleared.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAlarmConditionCleared class + * \details The The ID_AlarmConditionCleared data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0400| 0x001 | 1 Hz | N | TD | All | ID_AlarmConditionCleared data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::malarmID | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MAlarmConditionCleared | + * + */ +class MAlarmConditionCleared : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAlarmid; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AlarmConditionCleared"); } + + struct Data { + quint32 mAlarmid = 0; + }; + + MAlarmConditionCleared() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MAlarmConditionCleared::Data AlarmConditionClearedData; \ No newline at end of file Index: sources/model/model_autogen/MAlarmStatusData.cpp =================================================================== diff -u --- sources/model/model_autogen/MAlarmStatusData.cpp (revision 0) +++ sources/model/model_autogen/MAlarmStatusData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#include "MAlarmStatusData.h" + +using namespace Model; + +QVariantList MAlarmStatusData::parameters() const { + return { + _data.mAlarmstate .value, + _data.mAlarmtop .value, + _data.mSilenceexpiresin .value, + _data.mAlarmsflags .value, + }; +} + +bool MAlarmStatusData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAlarmstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlarmtop )) goto lError; + if ( !GetValue(vByteArray, index, _data.mSilenceexpiresin )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlarmsflags )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MAlarmStatusData::data + * \details The ID_AlarmStatusData data model + * \return Data + */ +MAlarmStatusData::Data MAlarmStatusData::data() const { + Data data; + data.mAlarmstate = _data.mAlarmstate .value; + data.mAlarmtop = _data.mAlarmtop .value; + data.mSilenceexpiresin = _data.mSilenceexpiresin .value; + data.mAlarmsflags = _data.mAlarmsflags .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MAlarmStatusData.h =================================================================== diff -u --- sources/model/model_autogen/MAlarmStatusData.h (revision 0) +++ sources/model/model_autogen/MAlarmStatusData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,77 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAlarmStatusData class + * \details The The ID_AlarmStatusData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0100| 0x001 | 1 Hz | N | TD | All | ID_AlarmStatusData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::malarmState | + * | #2:(U32) | \ref Data::malarmTop | + * | #3:(U32) | \ref Data::msilenceExpiresIn | + * | #4:(U16) | \ref Data::malarmsFlags | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MAlarmStatusData | + * + */ +class MAlarmStatusData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAlarmstate ; + Types::U32 mAlarmtop ; + Types::U32 mSilenceexpiresin; + Types::U16 mAlarmsflags ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AlarmStatus"); } + + struct Data { + quint32 mAlarmstate = 0; + quint32 mAlarmtop = 0; + quint32 mSilenceexpiresin = 0; + quint16 mAlarmsflags = 0; + }; + + MAlarmStatusData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + + static QString toText (Gui::GuiAlarmID vAlarmID); +}; +} + +typedef Model::MAlarmStatusData::Data AlarmStatusData; \ No newline at end of file Index: sources/model/model_autogen/MAlarmTriggered.cpp =================================================================== diff -u --- sources/model/model_autogen/MAlarmTriggered.cpp (revision 0) +++ sources/model/model_autogen/MAlarmTriggered.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,53 @@ + +#include "MAlarmTriggered.h" + +using namespace Model; + +QVariantList MAlarmTriggered::parameters() const { + return { + _data.mAlarm .value, + _data.mAlmdatatype1 .value, + _data.mAlmdata1 .value, + _data.mAlmdatatype2 .value, + _data.mAlmdata2 .value, + _data.mAlmpriority .value, + _data.mAlmrank .value, + _data.mAlmclrtoponly .value, + }; +} + +bool MAlarmTriggered::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAlarm )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlmdatatype1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlmdata1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlmdatatype2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlmdata2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlmpriority )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlmrank )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAlmclrtoponly )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MAlarmTriggered::data + * \details The ID_AlarmTriggered data model + * \return Data + */ +MAlarmTriggered::Data MAlarmTriggered::data() const { + Data data; + data.mAlarm = _data.mAlarm .value; + data.mAlmdatatype1 = _data.mAlmdatatype1 .value; + data.mAlmdata1 = _data.mAlmdata1 .value; + data.mAlmdatatype2 = _data.mAlmdatatype2 .value; + data.mAlmdata2 = _data.mAlmdata2 .value; + data.mAlmpriority = _data.mAlmpriority .value; + data.mAlmrank = _data.mAlmrank .value; + data.mAlmclrtoponly = _data.mAlmclrtoponly .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MAlarmTriggered.h =================================================================== diff -u --- sources/model/model_autogen/MAlarmTriggered.h (revision 0) +++ sources/model/model_autogen/MAlarmTriggered.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,88 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAlarmTriggered class + * \details The The ID_AlarmTriggered data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0200| 0x001 | 1 Hz | N | TD | All | ID_AlarmTriggered data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::malarm | + * | #2:(U32) | \ref Data::malmDataType1 | + * | #3:(U32) | \ref Data::malmData1 | + * | #4:(U32) | \ref Data::malmDataType2 | + * | #5:(U32) | \ref Data::malmData2 | + * | #6:(U32) | \ref Data::malmPriority | + * | #7:(U32) | \ref Data::malmRank | + * | #8:(U32) | \ref Data::malmClrTopOnly | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MAlarmTriggered | + * + */ +class MAlarmTriggered : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAlarm ; + Types::U32 mAlmdatatype1 ; + Types::U32 mAlmdata1 ; + Types::U32 mAlmdatatype2 ; + Types::U32 mAlmdata2 ; + Types::U32 mAlmpriority ; + Types::U32 mAlmrank ; + Types::U32 mAlmclrtoponly; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AlarmTriggered"); } + + struct Data { + quint32 mAlarm = 0; + quint32 mAlmdatatype1 = 0; + quint32 mAlmdata1 = 0; + quint32 mAlmdatatype2 = 0; + quint32 mAlmdata2 = 0; + quint32 mAlmpriority = 0; + quint32 mAlmrank = 0; + quint32 mAlmclrtoponly = 0; + }; + + MAlarmTriggered() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MAlarmTriggered::Data AlarmTriggeredData; \ No newline at end of file Index: sources/model/model_autogen/MDDAlarmInfoData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDAlarmInfoData.cpp (revision 0) +++ sources/model/model_autogen/MDDAlarmInfoData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MDDAlarmInfoData.h" + +using namespace Model; + +QVariantList MDDAlarmInfoData::parameters() const { + return { + _data.mSafetyshutdownstatus .value, + }; +} + +bool MDDAlarmInfoData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mSafetyshutdownstatus )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDAlarmInfoData::data + * \details The ID_DDAlarmInfoData data model + * \return Data + */ +MDDAlarmInfoData::Data MDDAlarmInfoData::data() const { + Data data; + data.mSafetyshutdownstatus = _data.mSafetyshutdownstatus .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDAlarmInfoData.h =================================================================== diff -u --- sources/model/model_autogen/MDDAlarmInfoData.h (revision 0) +++ sources/model/model_autogen/MDDAlarmInfoData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDAlarmInfoData class + * \details The The ID_DDAlarmInfoData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0800| 0x002 | 1 Hz | N | DD | All | ID_DDAlarmInfoData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::msafetyShutdownStatus | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDAlarmInfoData | + * + */ +class MDDAlarmInfoData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mSafetyshutdownstatus; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("AlarmInfo"); } + + struct Data { + quint32 mSafetyshutdownstatus = 0; + }; + + MDDAlarmInfoData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDAlarmInfoData::Data DDAlarmInfoData; \ No newline at end of file Index: sources/model/model_autogen/MDDBalChamberData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDBalChamberData.cpp (revision 0) +++ sources/model/model_autogen/MDDBalChamberData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,53 @@ + +#include "MDDBalChamberData.h" + +using namespace Model; + +QVariantList MDDBalChamberData::parameters() const { + return { + _data.mBalchamberexecstate .value, + _data.mBalchamberswstate .value, + _data.mBalchamberswfreq .value, + _data.mBalchamberswperiod .value, + _data.mIsbalchamberfillinprogress .value, + _data.mCurrentbalchamberswitchingcounter .value, + _data.mIspressurestalbilizedduringfill .value, + _data.mBalchamberswonlystate .value, + }; +} + +bool MDDBalChamberData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mBalchamberexecstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBalchamberswstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBalchamberswfreq )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBalchamberswperiod )) goto lError; + if ( !GetValue(vByteArray, index, _data.mIsbalchamberfillinprogress )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCurrentbalchamberswitchingcounter )) goto lError; + if ( !GetValue(vByteArray, index, _data.mIspressurestalbilizedduringfill )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBalchamberswonlystate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDBalChamberData::data + * \details The ID_DDBalChamberData data model + * \return Data + */ +MDDBalChamberData::Data MDDBalChamberData::data() const { + Data data; + data.mBalchamberexecstate = _data.mBalchamberexecstate .value; + data.mBalchamberswstate = _data.mBalchamberswstate .value; + data.mBalchamberswfreq = _data.mBalchamberswfreq .value; + data.mBalchamberswperiod = _data.mBalchamberswperiod .value; + data.mIsbalchamberfillinprogress = _data.mIsbalchamberfillinprogress .value; + data.mCurrentbalchamberswitchingcounter = _data.mCurrentbalchamberswitchingcounter .value; + data.mIspressurestalbilizedduringfill = _data.mIspressurestalbilizedduringfill .value; + data.mBalchamberswonlystate = _data.mBalchamberswonlystate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDBalChamberData.h =================================================================== diff -u --- sources/model/model_autogen/MDDBalChamberData.h (revision 0) +++ sources/model/model_autogen/MDDBalChamberData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,88 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDBalChamberData class + * \details The The ID_DDBalChamberData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2E00| 0x101 | 1 Hz | N | DD | All | ID_DDBalChamberData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mbalChamberExecState | + * | #2:(U32) | \ref Data::mbalChamberSWState | + * | #3:(F32) | \ref Data::mbalChamberSWFreq | + * | #4:(U32) | \ref Data::mbalChamberSwPeriod | + * | #5:(U32) | \ref Data::misBalChamberFillInProgress | + * | #6:(U32) | \ref Data::mcurrentBalChamberSwitchingCounter | + * | #7:(U32) | \ref Data::misPressureStalbilizedDuringFill | + * | #8:(U32) | \ref Data::mbalChamberSWOnlyState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDBalChamberData | + * + */ +class MDDBalChamberData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mBalchamberexecstate ; + Types::U32 mBalchamberswstate ; + Types::F32 mBalchamberswfreq ; + Types::U32 mBalchamberswperiod ; + Types::U32 mIsbalchamberfillinprogress ; + Types::U32 mCurrentbalchamberswitchingcounter; + Types::U32 mIspressurestalbilizedduringfill ; + Types::U32 mBalchamberswonlystate ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("BalChamber"); } + + struct Data { + quint32 mBalchamberexecstate = 0; + quint32 mBalchamberswstate = 0; + float mBalchamberswfreq = 0; + quint32 mBalchamberswperiod = 0; + quint32 mIsbalchamberfillinprogress = 0; + quint32 mCurrentbalchamberswitchingcounter = 0; + quint32 mIspressurestalbilizedduringfill = 0; + quint32 mBalchamberswonlystate = 0; + }; + + MDDBalChamberData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDBalChamberData::Data DDBalChamberData; \ No newline at end of file Index: sources/model/model_autogen/MDDConcentratePumpData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDConcentratePumpData.cpp (revision 0) +++ sources/model/model_autogen/MDDConcentratePumpData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,104 @@ + +#include "MDDConcentratePumpData.h" + +using namespace Model; + +QVariantList MDDConcentratePumpData::parameters() const { + return { + _data.mD11_pumpcurrentsetspeed .value, + _data.mD11_pumpmeasuredspeed .value, + _data.mD10_pumpcurrentsetspeed .value, + _data.mD10_pumpmeasuredspeed .value, + _data.mD11_pumptargetrevcount .value, + _data.mD11_pumpmeasuredrevcount .value, + _data.mD10_pumptargetrevcount .value, + _data.mD10_pumpmeasuredrevcount .value, + _data.mD11_pumpstate .value, + _data.mD10_pumpstate .value, + _data.mD11_pumppulseus .value, + _data.mD10_pumppulseus .value, + _data.mD11_pumptargetspeed .value, + _data.mD10_pumptargetspeed .value, + _data.mD11_pumpparked .value, + _data.mD10_pumpparked .value, + _data.mD11_pumpparkfault .value, + _data.mD10_pumpparkfault .value, + _data.mD76_pumptargetspeed .value, + _data.mD76_pumpcurrentsetspeed .value, + _data.mD76_pumpmeasuredspeed .value, + _data.mD76_pumptargetrevcount .value, + _data.mD76_pumpmeasuredrevcount .value, + _data.mD76_pumpstate .value, + _data.mD76_pumppulseus .value, + }; +} + +bool MDDConcentratePumpData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mD11_pumpcurrentsetspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumpmeasuredspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumpcurrentsetspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumpmeasuredspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumptargetrevcount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumpmeasuredrevcount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumptargetrevcount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumpmeasuredrevcount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumpstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumpstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumppulseus )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumppulseus )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumptargetspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumptargetspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumpparked )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumpparked )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD11_pumpparkfault )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD10_pumpparkfault )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD76_pumptargetspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD76_pumpcurrentsetspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD76_pumpmeasuredspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD76_pumptargetrevcount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD76_pumpmeasuredrevcount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD76_pumpstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD76_pumppulseus )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDConcentratePumpData::data + * \details The ID_DDConcentratePumpData data model + * \return Data + */ +MDDConcentratePumpData::Data MDDConcentratePumpData::data() const { + Data data; + data.mD11_pumpcurrentsetspeed = _data.mD11_pumpcurrentsetspeed .value; + data.mD11_pumpmeasuredspeed = _data.mD11_pumpmeasuredspeed .value; + data.mD10_pumpcurrentsetspeed = _data.mD10_pumpcurrentsetspeed .value; + data.mD10_pumpmeasuredspeed = _data.mD10_pumpmeasuredspeed .value; + data.mD11_pumptargetrevcount = _data.mD11_pumptargetrevcount .value; + data.mD11_pumpmeasuredrevcount = _data.mD11_pumpmeasuredrevcount .value; + data.mD10_pumptargetrevcount = _data.mD10_pumptargetrevcount .value; + data.mD10_pumpmeasuredrevcount = _data.mD10_pumpmeasuredrevcount .value; + data.mD11_pumpstate = _data.mD11_pumpstate .value; + data.mD10_pumpstate = _data.mD10_pumpstate .value; + data.mD11_pumppulseus = _data.mD11_pumppulseus .value; + data.mD10_pumppulseus = _data.mD10_pumppulseus .value; + data.mD11_pumptargetspeed = _data.mD11_pumptargetspeed .value; + data.mD10_pumptargetspeed = _data.mD10_pumptargetspeed .value; + data.mD11_pumpparked = _data.mD11_pumpparked .value; + data.mD10_pumpparked = _data.mD10_pumpparked .value; + data.mD11_pumpparkfault = _data.mD11_pumpparkfault .value; + data.mD10_pumpparkfault = _data.mD10_pumpparkfault .value; + data.mD76_pumptargetspeed = _data.mD76_pumptargetspeed .value; + data.mD76_pumpcurrentsetspeed = _data.mD76_pumpcurrentsetspeed .value; + data.mD76_pumpmeasuredspeed = _data.mD76_pumpmeasuredspeed .value; + data.mD76_pumptargetrevcount = _data.mD76_pumptargetrevcount .value; + data.mD76_pumpmeasuredrevcount = _data.mD76_pumpmeasuredrevcount .value; + data.mD76_pumpstate = _data.mD76_pumpstate .value; + data.mD76_pumppulseus = _data.mD76_pumppulseus .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDConcentratePumpData.h =================================================================== diff -u --- sources/model/model_autogen/MDDConcentratePumpData.h (revision 0) +++ sources/model/model_autogen/MDDConcentratePumpData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,139 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDConcentratePumpData class + * \details The The ID_DDConcentratePumpData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2500| 0x101 | 1 Hz | N | DD | All | ID_DDConcentratePumpData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::md11_PumpCurrentSetSpeed | + * | #2 :(F32) | \ref Data::md11_PumpMeasuredSpeed | + * | #3 :(F32) | \ref Data::md10_PumpCurrentSetSpeed | + * | #4 :(F32) | \ref Data::md10_PumpMeasuredSpeed | + * | #5 :(U32) | \ref Data::md11_PumpTargetRevCount | + * | #6 :(U32) | \ref Data::md11_PumpMeasuredRevCount | + * | #7 :(U32) | \ref Data::md10_PumpTargetRevCount | + * | #8 :(U32) | \ref Data::md10_PumpMeasuredRevCount | + * | #9 :(U32) | \ref Data::md11_PumpState | + * | #10:(U32) | \ref Data::md10_PumpState | + * | #11:(F32) | \ref Data::md11_PumpPulseUS | + * | #12:(F32) | \ref Data::md10_PumpPulseUS | + * | #13:(F32) | \ref Data::md11_PumpTargetSpeed | + * | #14:(F32) | \ref Data::md10_PumpTargetSpeed | + * | #15:(U32) | \ref Data::md11_PumpParked | + * | #16:(U32) | \ref Data::md10_PumpParked | + * | #17:(U32) | \ref Data::md11_PumpParkFault | + * | #18:(U32) | \ref Data::md10_PumpParkFault | + * | #19:(F32) | \ref Data::md76_PumpTargetSpeed | + * | #20:(F32) | \ref Data::md76_PumpCurrentSetSpeed | + * | #21:(F32) | \ref Data::md76_PumpMeasuredSpeed | + * | #22:(U32) | \ref Data::md76_PumpTargetRevCount | + * | #23:(U32) | \ref Data::md76_PumpMeasuredRevCount | + * | #24:(U32) | \ref Data::md76_PumpState | + * | #25:(F32) | \ref Data::md76_PumpPulseUS | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDConcentratePumpData | + * + */ +class MDDConcentratePumpData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mD11_pumpcurrentsetspeed ; + Types::F32 mD11_pumpmeasuredspeed ; + Types::F32 mD10_pumpcurrentsetspeed ; + Types::F32 mD10_pumpmeasuredspeed ; + Types::U32 mD11_pumptargetrevcount ; + Types::U32 mD11_pumpmeasuredrevcount; + Types::U32 mD10_pumptargetrevcount ; + Types::U32 mD10_pumpmeasuredrevcount; + Types::U32 mD11_pumpstate ; + Types::U32 mD10_pumpstate ; + Types::F32 mD11_pumppulseus ; + Types::F32 mD10_pumppulseus ; + Types::F32 mD11_pumptargetspeed ; + Types::F32 mD10_pumptargetspeed ; + Types::U32 mD11_pumpparked ; + Types::U32 mD10_pumpparked ; + Types::U32 mD11_pumpparkfault ; + Types::U32 mD10_pumpparkfault ; + Types::F32 mD76_pumptargetspeed ; + Types::F32 mD76_pumpcurrentsetspeed ; + Types::F32 mD76_pumpmeasuredspeed ; + Types::U32 mD76_pumptargetrevcount ; + Types::U32 mD76_pumpmeasuredrevcount; + Types::U32 mD76_pumpstate ; + Types::F32 mD76_pumppulseus ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ConcentratePump"); } + + struct Data { + float mD11_pumpcurrentsetspeed = 0; + float mD11_pumpmeasuredspeed = 0; + float mD10_pumpcurrentsetspeed = 0; + float mD10_pumpmeasuredspeed = 0; + quint32 mD11_pumptargetrevcount = 0; + quint32 mD11_pumpmeasuredrevcount = 0; + quint32 mD10_pumptargetrevcount = 0; + quint32 mD10_pumpmeasuredrevcount = 0; + quint32 mD11_pumpstate = 0; + quint32 mD10_pumpstate = 0; + float mD11_pumppulseus = 0; + float mD10_pumppulseus = 0; + float mD11_pumptargetspeed = 0; + float mD10_pumptargetspeed = 0; + quint32 mD11_pumpparked = 0; + quint32 mD10_pumpparked = 0; + quint32 mD11_pumpparkfault = 0; + quint32 mD10_pumpparkfault = 0; + float mD76_pumptargetspeed = 0; + float mD76_pumpcurrentsetspeed = 0; + float mD76_pumpmeasuredspeed = 0; + quint32 mD76_pumptargetrevcount = 0; + quint32 mD76_pumpmeasuredrevcount = 0; + quint32 mD76_pumpstate = 0; + float mD76_pumppulseus = 0; + }; + + MDDConcentratePumpData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDConcentratePumpData::Data DDConcentratePumpData; \ No newline at end of file Index: sources/model/model_autogen/MDDConductivityData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDConductivityData.cpp (revision 0) +++ sources/model/model_autogen/MDDConductivityData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#include "MDDConductivityData.h" + +using namespace Model; + +QVariantList MDDConductivityData::parameters() const { + return { + _data.mD17cond .value, + _data.mD27cond .value, + _data.mD29cond .value, + _data.mD43cond .value, + }; +} + +bool MDDConductivityData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mD17cond )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD27cond )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD29cond )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD43cond )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDConductivityData::data + * \details The ID_DDConductivityData data model + * \return Data + */ +MDDConductivityData::Data MDDConductivityData::data() const { + Data data; + data.mD17cond = _data.mD17cond .value; + data.mD27cond = _data.mD27cond .value; + data.mD29cond = _data.mD29cond .value; + data.mD43cond = _data.mD43cond .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDConductivityData.h =================================================================== diff -u --- sources/model/model_autogen/MDDConductivityData.h (revision 0) +++ sources/model/model_autogen/MDDConductivityData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,76 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDConductivityData class + * \details The The ID_DDConductivityData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1F00| 0x101 | 1 Hz | N | DD | All | ID_DDConductivityData data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::md17Cond | + * | #2:(F32) | \ref Data::md27Cond | + * | #3:(F32) | \ref Data::md29Cond | + * | #4:(F32) | \ref Data::md43Cond | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDConductivityData | + * + */ +class MDDConductivityData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mD17cond; + Types::F32 mD27cond; + Types::F32 mD29cond; + Types::F32 mD43cond; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("Conductivity"); } + + struct Data { + float mD17cond = 0; + float mD27cond = 0; + float mD29cond = 0; + float mD43cond = 0; + }; + + MDDConductivityData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDConductivityData::Data DDConductivityData; \ No newline at end of file Index: sources/model/model_autogen/MDDEvent.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDEvent.cpp (revision 0) +++ sources/model/model_autogen/MDDEvent.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,80 @@ + +#include "MDDEvent.h" + +using namespace Model; + +QVariantList MDDEvent::parameters() const { + return { + _data.mEvent .value, + _data.mDatatype1 .value, + _data.mData1u08 .value, + _data.mData1u16 .value, + _data.mData1s16 .value, + _data.mData1u32 .value, + _data.mData1s32 .value, + _data.mData1bool .value, + _data.mData1f32 .value, + _data.mDatatype2 .value, + _data.mData2u08 .value, + _data.mData2u16 .value, + _data.mData2s16 .value, + _data.mData2u32 .value, + _data.mData2s32 .value, + _data.mData2bool .value, + _data.mData2f32 .value, + }; +} + +bool MDDEvent::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mEvent )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDatatype1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u08 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1s16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1s32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1bool )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1f32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDatatype2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u08 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2s16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2s32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2bool )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2f32 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDEvent::data + * \details The ID_DDEvent data model + * \return Data + */ +MDDEvent::Data MDDEvent::data() const { + Data data; + data.mEvent = _data.mEvent .value; + data.mDatatype1 = _data.mDatatype1 .value; + data.mData1u08 = _data.mData1u08 .value; + data.mData1u16 = _data.mData1u16 .value; + data.mData1s16 = _data.mData1s16 .value; + data.mData1u32 = _data.mData1u32 .value; + data.mData1s32 = _data.mData1s32 .value; + data.mData1bool = _data.mData1bool .value; + data.mData1f32 = _data.mData1f32 .value; + data.mDatatype2 = _data.mDatatype2 .value; + data.mData2u08 = _data.mData2u08 .value; + data.mData2u16 = _data.mData2u16 .value; + data.mData2s16 = _data.mData2s16 .value; + data.mData2u32 = _data.mData2u32 .value; + data.mData2s32 = _data.mData2s32 .value; + data.mData2bool = _data.mData2bool .value; + data.mData2f32 = _data.mData2f32 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDEvent.h =================================================================== diff -u --- sources/model/model_autogen/MDDEvent.h (revision 0) +++ sources/model/model_autogen/MDDEvent.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,103 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDEvent class + * \details The The ID_DDEvent data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1800| 0x101 | 1 Hz | N | DD | All | ID_DDEvent data | + * + * | Payload || + * | || + * | #1 :(U32 ) | \ref Data::mevent | + * | #2 :(U32 ) | \ref Data::mdataType1 | + * | #3 :(union) | \ref Data::mdata1U08union | + * | #4 :(U32 ) | \ref Data::mdataType2 | + * | #5 :(union) | \ref Data::mdata2U08union | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDEvent | + * + */ +class MDDEvent : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mEvent ; + Types::U32 mDatatype1; + Types::U08 mData1u08 ; + Types::U16 mData1u16 ; + Types::S16 mData1s16 ; + Types::U32 mData1u32 ; + Types::S32 mData1s32 ; + Types::U32 mData1bool; + Types::F32 mData1f32 ; + Types::U32 mDatatype2; + Types::U08 mData2u08 ; + Types::U16 mData2u16 ; + Types::S16 mData2s16 ; + Types::U32 mData2u32 ; + Types::S32 mData2s32 ; + Types::U32 mData2bool; + Types::F32 mData2f32 ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("Event") ; } + + struct Data { + quint32 mEvent = 0; + quint32 mDatatype1 = 0; + quint8 mData1u08 = 0; + quint16 mData1u16 = 0; + qint16 mData1s16 = 0; + quint32 mData1u32 = 0; + qint32 mData1s32 = 0; + quint32 mData1bool = 0; + float mData1f32 = 0; + quint32 mDatatype2 = 0; + quint8 mData2u08 = 0; + quint16 mData2u16 = 0; + qint16 mData2s16 = 0; + quint32 mData2u32 = 0; + qint32 mData2s32 = 0; + quint32 mData2bool = 0; + float mData2f32 = 0; + }; + + MDDEvent() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDEvent::Data DDEventData; \ No newline at end of file Index: sources/model/model_autogen/MDDGenDialysateModeData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDGenDialysateModeData.cpp (revision 0) +++ sources/model/model_autogen/MDDGenDialysateModeData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,56 @@ + +#include "MDDGenDialysateModeData.h" + +using namespace Model; + +QVariantList MDDGenDialysateModeData::parameters() const { + return { + _data.mGendialysateexecstate .value, + _data.mIsdialdelinprogress .value, + _data.mD6level .value, + _data.mD63level .value, + _data.mD46level .value, + _data.mD9pressure .value, + _data.mD18pressure .value, + _data.mD51pressure .value, + _data.mIsdialysategoodtodeliver .value, + }; +} + +bool MDDGenDialysateModeData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mGendialysateexecstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mIsdialdelinprogress )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD6level )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD63level )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD46level )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD9pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD18pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD51pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mIsdialysategoodtodeliver )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDGenDialysateModeData::data + * \details The ID_DDGenDialysateModeData data model + * \return Data + */ +MDDGenDialysateModeData::Data MDDGenDialysateModeData::data() const { + Data data; + data.mGendialysateexecstate = _data.mGendialysateexecstate .value; + data.mIsdialdelinprogress = _data.mIsdialdelinprogress .value; + data.mD6level = _data.mD6level .value; + data.mD63level = _data.mD63level .value; + data.mD46level = _data.mD46level .value; + data.mD9pressure = _data.mD9pressure .value; + data.mD18pressure = _data.mD18pressure .value; + data.mD51pressure = _data.mD51pressure .value; + data.mIsdialysategoodtodeliver = _data.mIsdialysategoodtodeliver .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDGenDialysateModeData.h =================================================================== diff -u --- sources/model/model_autogen/MDDGenDialysateModeData.h (revision 0) +++ sources/model/model_autogen/MDDGenDialysateModeData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,91 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDGenDialysateModeData class + * \details The The ID_DDGenDialysateModeData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2F00| 0x101 | 1 Hz | N | DD | All | ID_DDGenDialysateModeData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mgenDialysateExecState | + * | #2:(U32) | \ref Data::misDialDelInProgress | + * | #3:(U32) | \ref Data::md6Level | + * | #4:(U32) | \ref Data::md63Level | + * | #5:(U32) | \ref Data::md46Level | + * | #6:(F32) | \ref Data::md9Pressure | + * | #7:(F32) | \ref Data::md18Pressure | + * | #8:(F32) | \ref Data::md51Pressure | + * | #9:(U32) | \ref Data::misDialysateGoodtoDeliver | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDGenDialysateModeData | + * + */ +class MDDGenDialysateModeData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mGendialysateexecstate ; + Types::U32 mIsdialdelinprogress ; + Types::U32 mD6level ; + Types::U32 mD63level ; + Types::U32 mD46level ; + Types::F32 mD9pressure ; + Types::F32 mD18pressure ; + Types::F32 mD51pressure ; + Types::U32 mIsdialysategoodtodeliver; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("GenDialysateMode"); } + + struct Data { + quint32 mGendialysateexecstate = 0; + quint32 mIsdialdelinprogress = 0; + quint32 mD6level = 0; + quint32 mD63level = 0; + quint32 mD46level = 0; + float mD9pressure = 0; + float mD18pressure = 0; + float mD51pressure = 0; + quint32 mIsdialysategoodtodeliver = 0; + }; + + MDDGenDialysateModeData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDGenDialysateModeData::Data DDGenDialysateModeData; \ No newline at end of file Index: sources/model/model_autogen/MDDGenDialysateRequestData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDGenDialysateRequestData.cpp (revision 0) +++ sources/model/model_autogen/MDDGenDialysateRequestData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,50 @@ + +#include "MDDGenDialysateRequestData.h" + +using namespace Model; + +QVariantList MDDGenDialysateRequestData::parameters() const { + return { + _data.mStart .value, + _data.mDialrate .value, + _data.mUfrate .value, + _data.mDialtemp .value, + _data.mBypassdialyzer .value, + _data.mAcidtype .value, + _data.mBicarbtype .value, + }; +} + +bool MDDGenDialysateRequestData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mStart )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDialrate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUfrate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDialtemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBypassdialyzer )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAcidtype )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBicarbtype )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDGenDialysateRequestData::data + * \details The ID_DDGenDialysateRequestData data model + * \return Data + */ +MDDGenDialysateRequestData::Data MDDGenDialysateRequestData::data() const { + Data data; + data.mStart = _data.mStart .value; + data.mDialrate = _data.mDialrate .value; + data.mUfrate = _data.mUfrate .value; + data.mDialtemp = _data.mDialtemp .value; + data.mBypassdialyzer = _data.mBypassdialyzer .value; + data.mAcidtype = _data.mAcidtype .value; + data.mBicarbtype = _data.mBicarbtype .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDGenDialysateRequestData.h =================================================================== diff -u --- sources/model/model_autogen/MDDGenDialysateRequestData.h (revision 0) +++ sources/model/model_autogen/MDDGenDialysateRequestData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,85 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDGenDialysateRequestData class + * \details The The ID_DDGenDialysateRequestData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3000| 0x010 | 1 Hz | Y | TD | All | ID_DDGenDialysateRequestData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mstart | + * | #2:(F32) | \ref Data::mdialRate | + * | #3:(F32) | \ref Data::mufRate | + * | #4:(F32) | \ref Data::mdialTemp | + * | #5:(U32) | \ref Data::mbypassDialyzer | + * | #6:(U32) | \ref Data::macidType | + * | #7:(U32) | \ref Data::mbicarbType | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MDDGenDialysateRequestData | + * + */ +class MDDGenDialysateRequestData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mStart ; + Types::F32 mDialrate ; + Types::F32 mUfrate ; + Types::F32 mDialtemp ; + Types::U32 mBypassdialyzer; + Types::U32 mAcidtype ; + Types::U32 mBicarbtype ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("DDGenDialysateRequest"); } + + struct Data { + quint32 mStart = 0; + float mDialrate = 0; + float mUfrate = 0; + float mDialtemp = 0; + quint32 mBypassdialyzer = 0; + quint32 mAcidtype = 0; + quint32 mBicarbtype = 0; + }; + + MDDGenDialysateRequestData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDGenDialysateRequestData::Data DDGenDialysateRequestData; \ No newline at end of file Index: sources/model/model_autogen/MDDHeatersData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDHeatersData.cpp (revision 0) +++ sources/model/model_autogen/MDDHeatersData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,80 @@ + +#include "MDDHeatersData.h" + +using namespace Model; + +QVariantList MDDHeatersData::parameters() const { + return { + _data.mD5_heaterdc .value, + _data.mD45_heaterdc .value, + _data.mD5_heatertargettemp .value, + _data.mD45_heatertargettemp .value, + _data.mD5_heaterstate .value, + _data.mD45_heaterstate .value, + _data.mD5_heatercontrolcounter .value, + _data.mD45_heatercontrolcounter .value, + _data.mDbg1 .value, + _data.mDbg2 .value, + _data.mDbg3 .value, + _data.mDbg4 .value, + _data.mDbg5 .value, + _data.mDbg6 .value, + _data.mDbg7 .value, + _data.mDbg8 .value, + _data.mDbg9 .value, + }; +} + +bool MDDHeatersData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mD5_heaterdc )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD45_heaterdc )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD5_heatertargettemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD45_heatertargettemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD5_heaterstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD45_heaterstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD5_heatercontrolcounter )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD45_heatercontrolcounter )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg3 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg4 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg5 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg6 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg7 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg8 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDbg9 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDHeatersData::data + * \details The ID_DDHeatersData data model + * \return Data + */ +MDDHeatersData::Data MDDHeatersData::data() const { + Data data; + data.mD5_heaterdc = _data.mD5_heaterdc .value; + data.mD45_heaterdc = _data.mD45_heaterdc .value; + data.mD5_heatertargettemp = _data.mD5_heatertargettemp .value; + data.mD45_heatertargettemp = _data.mD45_heatertargettemp .value; + data.mD5_heaterstate = _data.mD5_heaterstate .value; + data.mD45_heaterstate = _data.mD45_heaterstate .value; + data.mD5_heatercontrolcounter = _data.mD5_heatercontrolcounter .value; + data.mD45_heatercontrolcounter = _data.mD45_heatercontrolcounter .value; + data.mDbg1 = _data.mDbg1 .value; + data.mDbg2 = _data.mDbg2 .value; + data.mDbg3 = _data.mDbg3 .value; + data.mDbg4 = _data.mDbg4 .value; + data.mDbg5 = _data.mDbg5 .value; + data.mDbg6 = _data.mDbg6 .value; + data.mDbg7 = _data.mDbg7 .value; + data.mDbg8 = _data.mDbg8 .value; + data.mDbg9 = _data.mDbg9 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDHeatersData.h =================================================================== diff -u --- sources/model/model_autogen/MDDHeatersData.h (revision 0) +++ sources/model/model_autogen/MDDHeatersData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,115 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDHeatersData class + * \details The The ID_DDHeatersData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2800| 0x101 | 1 Hz | N | DD | All | ID_DDHeatersData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::md5_HeaterDC | + * | #2 :(F32) | \ref Data::md45_HeaterDC | + * | #3 :(F32) | \ref Data::md5_HeaterTargetTemp | + * | #4 :(F32) | \ref Data::md45_HeaterTargetTemp | + * | #5 :(U32) | \ref Data::md5_HeaterState | + * | #6 :(U32) | \ref Data::md45_HeaterState | + * | #7 :(U32) | \ref Data::md5_HeaterControlCounter | + * | #8 :(U32) | \ref Data::md45_HeaterControlCounter | + * | #9 :(F32) | \ref Data::mdbg1 | + * | #10:(F32) | \ref Data::mdbg2 | + * | #11:(F32) | \ref Data::mdbg3 | + * | #12:(F32) | \ref Data::mdbg4 | + * | #13:(F32) | \ref Data::mdbg5 | + * | #14:(F32) | \ref Data::mdbg6 | + * | #15:(F32) | \ref Data::mdbg7 | + * | #16:(F32) | \ref Data::mdbg8 | + * | #17:(F32) | \ref Data::mdbg9 | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDHeatersData | + * + */ +class MDDHeatersData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mD5_heaterdc ; + Types::F32 mD45_heaterdc ; + Types::F32 mD5_heatertargettemp ; + Types::F32 mD45_heatertargettemp ; + Types::U32 mD5_heaterstate ; + Types::U32 mD45_heaterstate ; + Types::U32 mD5_heatercontrolcounter ; + Types::U32 mD45_heatercontrolcounter; + Types::F32 mDbg1 ; + Types::F32 mDbg2 ; + Types::F32 mDbg3 ; + Types::F32 mDbg4 ; + Types::F32 mDbg5 ; + Types::F32 mDbg6 ; + Types::F32 mDbg7 ; + Types::F32 mDbg8 ; + Types::F32 mDbg9 ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("Heaters"); } + + struct Data { + float mD5_heaterdc = 0; + float mD45_heaterdc = 0; + float mD5_heatertargettemp = 0; + float mD45_heatertargettemp = 0; + quint32 mD5_heaterstate = 0; + quint32 mD45_heaterstate = 0; + quint32 mD5_heatercontrolcounter = 0; + quint32 mD45_heatercontrolcounter = 0; + float mDbg1 = 0; + float mDbg2 = 0; + float mDbg3 = 0; + float mDbg4 = 0; + float mDbg5 = 0; + float mDbg6 = 0; + float mDbg7 = 0; + float mDbg8 = 0; + float mDbg9 = 0; + }; + + MDDHeatersData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDHeatersData::Data DDHeatersData; \ No newline at end of file Index: sources/model/model_autogen/MDDLevelData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDLevelData.cpp (revision 0) +++ sources/model/model_autogen/MDDLevelData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#include "MDDLevelData.h" + +using namespace Model; + +QVariantList MDDLevelData::parameters() const { + return { + _data.mD6level .value, + _data.mD63level .value, + _data.mD46level .value, + }; +} + +bool MDDLevelData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mD6level )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD63level )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD46level )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDLevelData::data + * \details The ID_DDLevelData data model + * \return Data + */ +MDDLevelData::Data MDDLevelData::data() const { + Data data; + data.mD6level = _data.mD6level .value; + data.mD63level = _data.mD63level .value; + data.mD46level = _data.mD46level .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDLevelData.h =================================================================== diff -u --- sources/model/model_autogen/MDDLevelData.h (revision 0) +++ sources/model/model_autogen/MDDLevelData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,73 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDLevelData class + * \details The The ID_DDLevelData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2900| 0x101 | 1 Hz | N | DD | All | ID_DDLevelData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::md6Level | + * | #2:(U32) | \ref Data::md63Level | + * | #3:(U32) | \ref Data::md46Level | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDLevelData | + * + */ +class MDDLevelData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mD6level ; + Types::U32 mD63level; + Types::U32 mD46level; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("Level") ; } + + struct Data { + quint32 mD6level = 0; + quint32 mD63level = 0; + quint32 mD46level = 0; + }; + + MDDLevelData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDLevelData::Data DDLevelData; \ No newline at end of file Index: sources/model/model_autogen/MDDOPModeData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDOPModeData.cpp (revision 0) +++ sources/model/model_autogen/MDDOPModeData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MDDOPModeData.h" + +using namespace Model; + +QVariantList MDDOPModeData::parameters() const { + return { + _data.mCurrentmode .value, + _data.mCurrentsubmode .value, + }; +} + +bool MDDOPModeData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mCurrentmode )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCurrentsubmode )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDOPModeData::data + * \details The ID_DDOPModeData data model + * \return Data + */ +MDDOPModeData::Data MDDOPModeData::data() const { + Data data; + data.mCurrentmode = _data.mCurrentmode .value; + data.mCurrentsubmode = _data.mCurrentsubmode .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDOPModeData.h =================================================================== diff -u --- sources/model/model_autogen/MDDOPModeData.h (revision 0) +++ sources/model/model_autogen/MDDOPModeData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDOPModeData class + * \details The The ID_DDOPModeData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1300| 0x101 | 1 Hz | N | DD | All | ID_DDOPModeData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mcurrentMode | + * | #2:(U32) | \ref Data::mcurrentSubMode | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDOPModeData | + * + */ +class MDDOPModeData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mCurrentmode ; + Types::U32 mCurrentsubmode; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("OPMode"); } + + struct Data { + quint32 mCurrentmode = 0; + quint32 mCurrentsubmode = 0; + }; + + MDDOPModeData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDOPModeData::Data DDOPModeData; \ No newline at end of file Index: sources/model/model_autogen/MDDPistonPumpControlData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDPistonPumpControlData.cpp (revision 0) +++ sources/model/model_autogen/MDDPistonPumpControlData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,56 @@ + +#include "MDDPistonPumpControlData.h" + +using namespace Model; + +QVariantList MDDPistonPumpControlData::parameters() const { + return { + _data.mAcidpumpcontrolexecstate .value, + _data.mBicarbpumpcontrolexecstate .value, + _data.mUfpumpcontrolexecstate .value, + _data.mAcidpistonpumpswcounter .value, + _data.mBicarbpistonpumpswcounter .value, + _data.mUfpistonpumpswcounter .value, + _data.mAcidpistonpumpcyclecount .value, + _data.mBicarbpistonpumpcyclecount .value, + _data.mUfpistonpumpcyclecount .value, + }; +} + +bool MDDPistonPumpControlData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAcidpumpcontrolexecstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBicarbpumpcontrolexecstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUfpumpcontrolexecstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAcidpistonpumpswcounter )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBicarbpistonpumpswcounter )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUfpistonpumpswcounter )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAcidpistonpumpcyclecount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBicarbpistonpumpcyclecount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUfpistonpumpcyclecount )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDPistonPumpControlData::data + * \details The ID_DDPistonPumpControlData data model + * \return Data + */ +MDDPistonPumpControlData::Data MDDPistonPumpControlData::data() const { + Data data; + data.mAcidpumpcontrolexecstate = _data.mAcidpumpcontrolexecstate .value; + data.mBicarbpumpcontrolexecstate = _data.mBicarbpumpcontrolexecstate .value; + data.mUfpumpcontrolexecstate = _data.mUfpumpcontrolexecstate .value; + data.mAcidpistonpumpswcounter = _data.mAcidpistonpumpswcounter .value; + data.mBicarbpistonpumpswcounter = _data.mBicarbpistonpumpswcounter .value; + data.mUfpistonpumpswcounter = _data.mUfpistonpumpswcounter .value; + data.mAcidpistonpumpcyclecount = _data.mAcidpistonpumpcyclecount .value; + data.mBicarbpistonpumpcyclecount = _data.mBicarbpistonpumpcyclecount .value; + data.mUfpistonpumpcyclecount = _data.mUfpistonpumpcyclecount .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDPistonPumpControlData.h =================================================================== diff -u --- sources/model/model_autogen/MDDPistonPumpControlData.h (revision 0) +++ sources/model/model_autogen/MDDPistonPumpControlData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,91 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDPistonPumpControlData class + * \details The The ID_DDPistonPumpControlData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0xF000| 0x101 | 1 Hz | N | DD | All | ID_DDPistonPumpControlData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::macidPumpControlExecState | + * | #2:(U32) | \ref Data::mbicarbPumpControlExecState | + * | #3:(U32) | \ref Data::mufPumpControlExecState | + * | #4:(U32) | \ref Data::macidPistonPumpSwCounter | + * | #5:(U32) | \ref Data::mbicarbPistonPumpSwCounter | + * | #6:(U32) | \ref Data::mufPistonPumpSwCounter | + * | #7:(U32) | \ref Data::macidPistonPumpCycleCount | + * | #8:(U32) | \ref Data::mbicarbPistonPumpCycleCount | + * | #9:(U32) | \ref Data::mufPistonPumpCycleCount | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDPistonPumpControlData | + * + */ +class MDDPistonPumpControlData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAcidpumpcontrolexecstate ; + Types::U32 mBicarbpumpcontrolexecstate; + Types::U32 mUfpumpcontrolexecstate ; + Types::U32 mAcidpistonpumpswcounter ; + Types::U32 mBicarbpistonpumpswcounter ; + Types::U32 mUfpistonpumpswcounter ; + Types::U32 mAcidpistonpumpcyclecount ; + Types::U32 mBicarbpistonpumpcyclecount; + Types::U32 mUfpistonpumpcyclecount ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("PistonPumpControl"); } + + struct Data { + quint32 mAcidpumpcontrolexecstate = 0; + quint32 mBicarbpumpcontrolexecstate = 0; + quint32 mUfpumpcontrolexecstate = 0; + quint32 mAcidpistonpumpswcounter = 0; + quint32 mBicarbpistonpumpswcounter = 0; + quint32 mUfpistonpumpswcounter = 0; + quint32 mAcidpistonpumpcyclecount = 0; + quint32 mBicarbpistonpumpcyclecount = 0; + quint32 mUfpistonpumpcyclecount = 0; + }; + + MDDPistonPumpControlData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDPistonPumpControlData::Data DDPistonPumpControlData; \ No newline at end of file Index: sources/model/model_autogen/MDDPostGenDialysateStateData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDPostGenDialysateStateData.cpp (revision 0) +++ sources/model/model_autogen/MDDPostGenDialysateStateData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MDDPostGenDialysateStateData.h" + +using namespace Model; + +QVariantList MDDPostGenDialysateStateData::parameters() const { + return { + _data.mPostgendialysateexecstate .value, + }; +} + +bool MDDPostGenDialysateStateData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mPostgendialysateexecstate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDPostGenDialysateStateData::data + * \details The ID_DDPostGenDialysateStateData data model + * \return Data + */ +MDDPostGenDialysateStateData::Data MDDPostGenDialysateStateData::data() const { + Data data; + data.mPostgendialysateexecstate = _data.mPostgendialysateexecstate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDPostGenDialysateStateData.h =================================================================== diff -u --- sources/model/model_autogen/MDDPostGenDialysateStateData.h (revision 0) +++ sources/model/model_autogen/MDDPostGenDialysateStateData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDPostGenDialysateStateData class + * \details The The ID_DDPostGenDialysateStateData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4B00| 0x101 | 1 Hz | N | DD | All | ID_DDPostGenDialysateStateData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mpostGenDialysateExecState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDPostGenDialysateStateData | + * + */ +class MDDPostGenDialysateStateData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mPostgendialysateexecstate; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("PostGenDialysateState"); } + + struct Data { + quint32 mPostgendialysateexecstate = 0; + }; + + MDDPostGenDialysateStateData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDPostGenDialysateStateData::Data DDPostGenDialysateStateData; \ No newline at end of file Index: sources/model/model_autogen/MDDPreGenDialysateRequestData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDPreGenDialysateRequestData.cpp (revision 0) +++ sources/model/model_autogen/MDDPreGenDialysateRequestData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,44 @@ + +#include "MDDPreGenDialysateRequestData.h" + +using namespace Model; + +QVariantList MDDPreGenDialysateRequestData::parameters() const { + return { + _data.mStart .value, + _data.mDialrate .value, + _data.mDialtemp .value, + _data.mAcidtype .value, + _data.mBicarbtype .value, + }; +} + +bool MDDPreGenDialysateRequestData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mStart )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDialrate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDialtemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAcidtype )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBicarbtype )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDPreGenDialysateRequestData::data + * \details The ID_DDPreGenDialysateRequestData data model + * \return Data + */ +MDDPreGenDialysateRequestData::Data MDDPreGenDialysateRequestData::data() const { + Data data; + data.mStart = _data.mStart .value; + data.mDialrate = _data.mDialrate .value; + data.mDialtemp = _data.mDialtemp .value; + data.mAcidtype = _data.mAcidtype .value; + data.mBicarbtype = _data.mBicarbtype .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDPreGenDialysateRequestData.h =================================================================== diff -u --- sources/model/model_autogen/MDDPreGenDialysateRequestData.h (revision 0) +++ sources/model/model_autogen/MDDPreGenDialysateRequestData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,79 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDPreGenDialysateRequestData class + * \details The The ID_DDPreGenDialysateRequestData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4C00| 0x011 | 1 Hz | N | DD | All | ID_DDPreGenDialysateRequestData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mstart | + * | #2:(F32) | \ref Data::mdialRate | + * | #3:(F32) | \ref Data::mdialTemp | + * | #4:(U32) | \ref Data::macidType | + * | #5:(U32) | \ref Data::mbicarbType | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDPreGenDialysateRequestData | + * + */ +class MDDPreGenDialysateRequestData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mStart ; + Types::F32 mDialrate ; + Types::F32 mDialtemp ; + Types::U32 mAcidtype ; + Types::U32 mBicarbtype; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("PreGenDialysateRequest"); } + + struct Data { + quint32 mStart = 0; + float mDialrate = 0; + float mDialtemp = 0; + quint32 mAcidtype = 0; + quint32 mBicarbtype = 0; + }; + + MDDPreGenDialysateRequestData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDPreGenDialysateRequestData::Data DDPreGenDialysateRequestData; \ No newline at end of file Index: sources/model/model_autogen/MDDPreGenDialysateStateData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDPreGenDialysateStateData.cpp (revision 0) +++ sources/model/model_autogen/MDDPreGenDialysateStateData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MDDPreGenDialysateStateData.h" + +using namespace Model; + +QVariantList MDDPreGenDialysateStateData::parameters() const { + return { + _data.mPregendialysateexecstate .value, + }; +} + +bool MDDPreGenDialysateStateData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mPregendialysateexecstate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDPreGenDialysateStateData::data + * \details The ID_DDPreGenDialysateStateData data model + * \return Data + */ +MDDPreGenDialysateStateData::Data MDDPreGenDialysateStateData::data() const { + Data data; + data.mPregendialysateexecstate = _data.mPregendialysateexecstate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDPreGenDialysateStateData.h =================================================================== diff -u --- sources/model/model_autogen/MDDPreGenDialysateStateData.h (revision 0) +++ sources/model/model_autogen/MDDPreGenDialysateStateData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDPreGenDialysateStateData class + * \details The The ID_DDPreGenDialysateStateData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4A00| 0x101 | 1 Hz | N | DD | All | ID_DDPreGenDialysateStateData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mpreGenDialysateExecState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDPreGenDialysateStateData | + * + */ +class MDDPreGenDialysateStateData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mPregendialysateexecstate; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("PreGenDialysateState"); } + + struct Data { + quint32 mPregendialysateexecstate = 0; + }; + + MDDPreGenDialysateStateData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDPreGenDialysateStateData::Data DDPreGenDialysateStateData; \ No newline at end of file Index: sources/model/model_autogen/MDDPressuresData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDPressuresData.cpp (revision 0) +++ sources/model/model_autogen/MDDPressuresData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,71 @@ + +#include "MDDPressuresData.h" + +using namespace Model; + +QVariantList MDDPressuresData::parameters() const { + return { + _data.mM1pressure .value, + _data.mM3pressure .value, + _data.mD9pressure .value, + _data.mD66pressure .value, + _data.mD51pressure .value, + _data.mD18pressure .value, + _data.mD41pressure .value, + _data.mM1prestemp .value, + _data.mM3prestemp .value, + _data.mD9prestemp .value, + _data.mD66prestemp .value, + _data.mD51prestemp .value, + _data.mD18prestemp .value, + _data.mD41prestemp .value, + }; +} + +bool MDDPressuresData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mM1pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mM3pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD9pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD66pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD51pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD18pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD41pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mM1prestemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mM3prestemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD9prestemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD66prestemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD51prestemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD18prestemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD41prestemp )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDPressuresData::data + * \details The ID_DDPressuresData data model + * \return Data + */ +MDDPressuresData::Data MDDPressuresData::data() const { + Data data; + data.mM1pressure = _data.mM1pressure .value; + data.mM3pressure = _data.mM3pressure .value; + data.mD9pressure = _data.mD9pressure .value; + data.mD66pressure = _data.mD66pressure .value; + data.mD51pressure = _data.mD51pressure .value; + data.mD18pressure = _data.mD18pressure .value; + data.mD41pressure = _data.mD41pressure .value; + data.mM1prestemp = _data.mM1prestemp .value; + data.mM3prestemp = _data.mM3prestemp .value; + data.mD9prestemp = _data.mD9prestemp .value; + data.mD66prestemp = _data.mD66prestemp .value; + data.mD51prestemp = _data.mD51prestemp .value; + data.mD18prestemp = _data.mD18prestemp .value; + data.mD41prestemp = _data.mD41prestemp .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDPressuresData.h =================================================================== diff -u --- sources/model/model_autogen/MDDPressuresData.h (revision 0) +++ sources/model/model_autogen/MDDPressuresData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,106 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDPressuresData class + * \details The The ID_DDPressuresData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1C00| 0x101 | 1 Hz | N | DD | All | ID_DDPressuresData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::mm1Pressure | + * | #2 :(F32) | \ref Data::mm3Pressure | + * | #3 :(F32) | \ref Data::md9Pressure | + * | #4 :(F32) | \ref Data::md66Pressure | + * | #5 :(F32) | \ref Data::md51Pressure | + * | #6 :(F32) | \ref Data::md18Pressure | + * | #7 :(F32) | \ref Data::md41Pressure | + * | #8 :(F32) | \ref Data::mm1PresTemp | + * | #9 :(F32) | \ref Data::mm3PresTemp | + * | #10:(F32) | \ref Data::md9PresTemp | + * | #11:(F32) | \ref Data::md66PresTemp | + * | #12:(F32) | \ref Data::md51PresTemp | + * | #13:(F32) | \ref Data::md18PresTemp | + * | #14:(F32) | \ref Data::md41PresTemp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDPressuresData | + * + */ +class MDDPressuresData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mM1pressure ; + Types::F32 mM3pressure ; + Types::F32 mD9pressure ; + Types::F32 mD66pressure; + Types::F32 mD51pressure; + Types::F32 mD18pressure; + Types::F32 mD41pressure; + Types::F32 mM1prestemp ; + Types::F32 mM3prestemp ; + Types::F32 mD9prestemp ; + Types::F32 mD66prestemp; + Types::F32 mD51prestemp; + Types::F32 mD18prestemp; + Types::F32 mD41prestemp; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("Pressures"); } + + struct Data { + float mM1pressure = 0; + float mM3pressure = 0; + float mD9pressure = 0; + float mD66pressure = 0; + float mD51pressure = 0; + float mD18pressure = 0; + float mD41pressure = 0; + float mM1prestemp = 0; + float mM3prestemp = 0; + float mD9prestemp = 0; + float mD66prestemp = 0; + float mD51prestemp = 0; + float mD18prestemp = 0; + float mD41prestemp = 0; + }; + + MDDPressuresData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDPressuresData::Data DDPressuresData; \ No newline at end of file Index: sources/model/model_autogen/MDDROStartStopCmdRequest.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDROStartStopCmdRequest.cpp (revision 0) +++ sources/model/model_autogen/MDDROStartStopCmdRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#include "MDDROStartStopCmdRequest.h" + +using namespace Model; + +QVariantList MDDROStartStopCmdRequest::parameters() const { + return { + _data.mCmdid .value, + _data.mStart .value, + _data.mRorate .value, + }; +} + +bool MDDROStartStopCmdRequest::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mCmdid )) goto lError; + if ( !GetValue(vByteArray, index, _data.mStart )) goto lError; + if ( !GetValue(vByteArray, index, _data.mRorate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDROStartStopCmdRequest::data + * \details The ID_DDROStartStopCmdRequest data model + * \return Data + */ +MDDROStartStopCmdRequest::Data MDDROStartStopCmdRequest::data() const { + Data data; + data.mCmdid = _data.mCmdid .value; + data.mStart = _data.mStart .value; + data.mRorate = _data.mRorate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDROStartStopCmdRequest.h =================================================================== diff -u --- sources/model/model_autogen/MDDROStartStopCmdRequest.h (revision 0) +++ sources/model/model_autogen/MDDROStartStopCmdRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,73 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDROStartStopCmdRequest class + * \details The The ID_DDROStartStopCmdRequest data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3800| 0x020 | 1 Hz | Y | DD | All | ID_DDROStartStopCmdRequest data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mcmdID | + * | #2:(U32) | \ref Data::mstart | + * | #3:(U32) | \ref Data::mroRate | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDROStartStopCmdRequest | + * + */ +class MDDROStartStopCmdRequest : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mCmdid ; + Types::U32 mStart ; + Types::U32 mRorate; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROStartStopCmdRequest"); } + + struct Data { + quint32 mCmdid = 0; + quint32 mStart = 0; + quint32 mRorate = 0; + }; + + MDDROStartStopCmdRequest() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDROStartStopCmdRequest::Data DDROStartStopCmdRequestData; \ No newline at end of file Index: sources/model/model_autogen/MDDTemperatureData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDTemperatureData.cpp (revision 0) +++ sources/model/model_autogen/MDDTemperatureData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,62 @@ + +#include "MDDTemperatureData.h" + +using namespace Model; + +QVariantList MDDTemperatureData::parameters() const { + return { + _data.mD1temp .value, + _data.mX6temp .value, + _data.mD4temp .value, + _data.mD50temp .value, + _data.mBoardtemp .value, + _data.mBarotemp .value, + _data.mD16condtemp .value, + _data.mD28condtemp .value, + _data.mD30condtemp .value, + _data.mD44condtemp .value, + _data.mD75condtemp .value, + }; +} + +bool MDDTemperatureData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mD1temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX6temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD4temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD50temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBoardtemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBarotemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD16condtemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD28condtemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD30condtemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD44condtemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD75condtemp )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDTemperatureData::data + * \details The ID_DDTemperatureData data model + * \return Data + */ +MDDTemperatureData::Data MDDTemperatureData::data() const { + Data data; + data.mD1temp = _data.mD1temp .value; + data.mX6temp = _data.mX6temp .value; + data.mD4temp = _data.mD4temp .value; + data.mD50temp = _data.mD50temp .value; + data.mBoardtemp = _data.mBoardtemp .value; + data.mBarotemp = _data.mBarotemp .value; + data.mD16condtemp = _data.mD16condtemp .value; + data.mD28condtemp = _data.mD28condtemp .value; + data.mD30condtemp = _data.mD30condtemp .value; + data.mD44condtemp = _data.mD44condtemp .value; + data.mD75condtemp = _data.mD75condtemp .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDTemperatureData.h =================================================================== diff -u --- sources/model/model_autogen/MDDTemperatureData.h (revision 0) +++ sources/model/model_autogen/MDDTemperatureData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,97 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDTemperatureData class + * \details The The ID_DDTemperatureData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2600| 0x101 | 1 Hz | N | DD | All | ID_DDTemperatureData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::md1Temp | + * | #2 :(F32) | \ref Data::mx6Temp | + * | #3 :(F32) | \ref Data::md4Temp | + * | #4 :(F32) | \ref Data::md50Temp | + * | #5 :(F32) | \ref Data::mboardTemp | + * | #6 :(F32) | \ref Data::mbaroTemp | + * | #7 :(F32) | \ref Data::md16CondTemp | + * | #8 :(F32) | \ref Data::md28CondTemp | + * | #9 :(F32) | \ref Data::md30CondTemp | + * | #10:(F32) | \ref Data::md44CondTemp | + * | #11:(F32) | \ref Data::md75CondTemp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDTemperatureData | + * + */ +class MDDTemperatureData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mD1temp ; + Types::F32 mX6temp ; + Types::F32 mD4temp ; + Types::F32 mD50temp ; + Types::F32 mBoardtemp ; + Types::F32 mBarotemp ; + Types::F32 mD16condtemp; + Types::F32 mD28condtemp; + Types::F32 mD30condtemp; + Types::F32 mD44condtemp; + Types::F32 mD75condtemp; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("Temperature"); } + + struct Data { + float mD1temp = 0; + float mX6temp = 0; + float mD4temp = 0; + float mD50temp = 0; + float mBoardtemp = 0; + float mBarotemp = 0; + float mD16condtemp = 0; + float mD28condtemp = 0; + float mD30condtemp = 0; + float mD44condtemp = 0; + float mD75condtemp = 0; + }; + + MDDTemperatureData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDTemperatureData::Data DDTemperatureData; \ No newline at end of file Index: sources/model/model_autogen/MDDValvesStatesData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDValvesStatesData.cpp (revision 0) +++ sources/model/model_autogen/MDDValvesStatesData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,122 @@ + +#include "MDDValvesStatesData.h" + +using namespace Model; + +QVariantList MDDValvesStatesData::parameters() const { + return { + _data.mValvesstatus .value, + _data.mValvesbcstatus .value, + _data.mValvesufstatus .value, + _data.mValvessensedstate1 .value, + _data.mValvessensedstate2 .value, + _data.mValvessensedstate3 .value, + _data.mValvessensedstate4 .value, + _data.mValvessensedstate5 .value, + _data.mValvessensedstate6 .value, + _data.mValvessensedstate7 .value, + _data.mValvessensedstate8 .value, + _data.mValvessensedstate9 .value, + _data.mValvessensedstate10 .value, + _data.mValvessensedstate11 .value, + _data.mValvessensedstate12 .value, + _data.mValvessensedstate13 .value, + _data.mValvessensedstate14 .value, + _data.mValvessensedstate15 .value, + _data.mValvessensedstate16 .value, + _data.mValvessensedstate17 .value, + _data.mValvessensedstate18 .value, + _data.mValvessensedstate19 .value, + _data.mValvessensedstate20 .value, + _data.mValvessensedstate21 .value, + _data.mValvessensedstate22 .value, + _data.mValvessensedstate23 .value, + _data.mValvessensedstate24 .value, + _data.mValvessensedstate25 .value, + _data.mValvessensedstate26 .value, + _data.mValvessensedstate27 .value, + _data.mValvessensedstate28 .value, + }; +} + +bool MDDValvesStatesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mValvesstatus )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvesbcstatus )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvesufstatus )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate3 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate4 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate5 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate6 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate7 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate8 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate9 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate10 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate11 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate12 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate13 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate14 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate15 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate17 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate18 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate19 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate20 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate21 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate22 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate23 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate24 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate25 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate26 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate27 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate28 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDValvesStatesData::data + * \details The ID_DDValvesStatesData data model + * \return Data + */ +MDDValvesStatesData::Data MDDValvesStatesData::data() const { + Data data; + data.mValvesstatus = _data.mValvesstatus .value; + data.mValvesbcstatus = _data.mValvesbcstatus .value; + data.mValvesufstatus = _data.mValvesufstatus .value; + data.mValvessensedstate1 = _data.mValvessensedstate1 .value; + data.mValvessensedstate2 = _data.mValvessensedstate2 .value; + data.mValvessensedstate3 = _data.mValvessensedstate3 .value; + data.mValvessensedstate4 = _data.mValvessensedstate4 .value; + data.mValvessensedstate5 = _data.mValvessensedstate5 .value; + data.mValvessensedstate6 = _data.mValvessensedstate6 .value; + data.mValvessensedstate7 = _data.mValvessensedstate7 .value; + data.mValvessensedstate8 = _data.mValvessensedstate8 .value; + data.mValvessensedstate9 = _data.mValvessensedstate9 .value; + data.mValvessensedstate10 = _data.mValvessensedstate10 .value; + data.mValvessensedstate11 = _data.mValvessensedstate11 .value; + data.mValvessensedstate12 = _data.mValvessensedstate12 .value; + data.mValvessensedstate13 = _data.mValvessensedstate13 .value; + data.mValvessensedstate14 = _data.mValvessensedstate14 .value; + data.mValvessensedstate15 = _data.mValvessensedstate15 .value; + data.mValvessensedstate16 = _data.mValvessensedstate16 .value; + data.mValvessensedstate17 = _data.mValvessensedstate17 .value; + data.mValvessensedstate18 = _data.mValvessensedstate18 .value; + data.mValvessensedstate19 = _data.mValvessensedstate19 .value; + data.mValvessensedstate20 = _data.mValvessensedstate20 .value; + data.mValvessensedstate21 = _data.mValvessensedstate21 .value; + data.mValvessensedstate22 = _data.mValvessensedstate22 .value; + data.mValvessensedstate23 = _data.mValvessensedstate23 .value; + data.mValvessensedstate24 = _data.mValvessensedstate24 .value; + data.mValvessensedstate25 = _data.mValvessensedstate25 .value; + data.mValvessensedstate26 = _data.mValvessensedstate26 .value; + data.mValvessensedstate27 = _data.mValvessensedstate27 .value; + data.mValvessensedstate28 = _data.mValvessensedstate28 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDValvesStatesData.h =================================================================== diff -u --- sources/model/model_autogen/MDDValvesStatesData.h (revision 0) +++ sources/model/model_autogen/MDDValvesStatesData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,157 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDValvesStatesData class + * \details The The ID_DDValvesStatesData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1B00| 0x101 | 1 Hz | N | DD | All | ID_DDValvesStatesData data | + * + * | Payload || + * | || + * | #1 :(U16) | \ref Data::mvalvesStatus | + * | #2 :(U08) | \ref Data::mvalvesBCStatus | + * | #3 :(U08) | \ref Data::mvalvesUFStatus | + * | #4 :(U08) | \ref Data::mvalvesSensedState1 | + * | #5 :(U08) | \ref Data::mvalvesSensedState2 | + * | #6 :(U08) | \ref Data::mvalvesSensedState3 | + * | #7 :(U08) | \ref Data::mvalvesSensedState4 | + * | #8 :(U08) | \ref Data::mvalvesSensedState5 | + * | #9 :(U08) | \ref Data::mvalvesSensedState6 | + * | #10:(U08) | \ref Data::mvalvesSensedState7 | + * | #11:(U08) | \ref Data::mvalvesSensedState8 | + * | #12:(U08) | \ref Data::mvalvesSensedState9 | + * | #13:(U08) | \ref Data::mvalvesSensedState10 | + * | #14:(U08) | \ref Data::mvalvesSensedState11 | + * | #15:(U08) | \ref Data::mvalvesSensedState12 | + * | #16:(U08) | \ref Data::mvalvesSensedState13 | + * | #17:(U08) | \ref Data::mvalvesSensedState14 | + * | #18:(U08) | \ref Data::mvalvesSensedState15 | + * | #19:(U08) | \ref Data::mvalvesSensedState16 | + * | #20:(U08) | \ref Data::mvalvesSensedState17 | + * | #21:(U08) | \ref Data::mvalvesSensedState18 | + * | #22:(U08) | \ref Data::mvalvesSensedState19 | + * | #23:(U08) | \ref Data::mvalvesSensedState20 | + * | #24:(U08) | \ref Data::mvalvesSensedState21 | + * | #25:(U08) | \ref Data::mvalvesSensedState22 | + * | #26:(U08) | \ref Data::mvalvesSensedState23 | + * | #27:(U08) | \ref Data::mvalvesSensedState24 | + * | #28:(U08) | \ref Data::mvalvesSensedState25 | + * | #29:(U08) | \ref Data::mvalvesSensedState26 | + * | #30:(U08) | \ref Data::mvalvesSensedState27 | + * | #31:(U08) | \ref Data::mvalvesSensedState28 | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDValvesStatesData | + * + */ +class MDDValvesStatesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U16 mValvesstatus ; + Types::U08 mValvesbcstatus ; + Types::U08 mValvesufstatus ; + Types::U08 mValvessensedstate1 ; + Types::U08 mValvessensedstate2 ; + Types::U08 mValvessensedstate3 ; + Types::U08 mValvessensedstate4 ; + Types::U08 mValvessensedstate5 ; + Types::U08 mValvessensedstate6 ; + Types::U08 mValvessensedstate7 ; + Types::U08 mValvessensedstate8 ; + Types::U08 mValvessensedstate9 ; + Types::U08 mValvessensedstate10; + Types::U08 mValvessensedstate11; + Types::U08 mValvessensedstate12; + Types::U08 mValvessensedstate13; + Types::U08 mValvessensedstate14; + Types::U08 mValvessensedstate15; + Types::U08 mValvessensedstate16; + Types::U08 mValvessensedstate17; + Types::U08 mValvessensedstate18; + Types::U08 mValvessensedstate19; + Types::U08 mValvessensedstate20; + Types::U08 mValvessensedstate21; + Types::U08 mValvessensedstate22; + Types::U08 mValvessensedstate23; + Types::U08 mValvessensedstate24; + Types::U08 mValvessensedstate25; + Types::U08 mValvessensedstate26; + Types::U08 mValvessensedstate27; + Types::U08 mValvessensedstate28; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ValvesStates"); } + + struct Data { + quint16 mValvesstatus = 0; + quint8 mValvesbcstatus = 0; + quint8 mValvesufstatus = 0; + quint8 mValvessensedstate1 = 0; + quint8 mValvessensedstate2 = 0; + quint8 mValvessensedstate3 = 0; + quint8 mValvessensedstate4 = 0; + quint8 mValvessensedstate5 = 0; + quint8 mValvessensedstate6 = 0; + quint8 mValvessensedstate7 = 0; + quint8 mValvessensedstate8 = 0; + quint8 mValvessensedstate9 = 0; + quint8 mValvessensedstate10 = 0; + quint8 mValvessensedstate11 = 0; + quint8 mValvessensedstate12 = 0; + quint8 mValvessensedstate13 = 0; + quint8 mValvessensedstate14 = 0; + quint8 mValvessensedstate15 = 0; + quint8 mValvessensedstate16 = 0; + quint8 mValvessensedstate17 = 0; + quint8 mValvessensedstate18 = 0; + quint8 mValvessensedstate19 = 0; + quint8 mValvessensedstate20 = 0; + quint8 mValvessensedstate21 = 0; + quint8 mValvessensedstate22 = 0; + quint8 mValvessensedstate23 = 0; + quint8 mValvessensedstate24 = 0; + quint8 mValvessensedstate25 = 0; + quint8 mValvessensedstate26 = 0; + quint8 mValvessensedstate27 = 0; + quint8 mValvessensedstate28 = 0; + }; + + MDDValvesStatesData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDValvesStatesData::Data DDValvesStatesData; \ No newline at end of file Index: sources/model/model_autogen/MDDVersionResponse.cpp =================================================================== diff -u --- sources/model/model_autogen/MDDVersionResponse.cpp (revision 0) +++ sources/model/model_autogen/MDDVersionResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,56 @@ + +#include "MDDVersionResponse.h" + +using namespace Model; + +QVariantList MDDVersionResponse::parameters() const { + return { + _data.mMajor .value, + _data.mMinor .value, + _data.mMicro .value, + _data.mBuild .value, + _data.mFpgaid .value, + _data.mFpgamajor .value, + _data.mFpgaminor .value, + _data.mFpgalab .value, + _data.mCompatibilityrev .value, + }; +} + +bool MDDVersionResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mMajor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMinor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMicro )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBuild )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgaid )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgamajor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgaminor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgalab )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCompatibilityrev )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDDVersionResponse::data + * \details The ID_DDVersionResponse data model + * \return Data + */ +MDDVersionResponse::Data MDDVersionResponse::data() const { + Data data; + data.mMajor = _data.mMajor .value; + data.mMinor = _data.mMinor .value; + data.mMicro = _data.mMicro .value; + data.mBuild = _data.mBuild .value; + data.mFpgaid = _data.mFpgaid .value; + data.mFpgamajor = _data.mFpgamajor .value; + data.mFpgaminor = _data.mFpgaminor .value; + data.mFpgalab = _data.mFpgalab .value; + data.mCompatibilityrev = _data.mCompatibilityrev .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDDVersionResponse.h =================================================================== diff -u --- sources/model/model_autogen/MDDVersionResponse.h (revision 0) +++ sources/model/model_autogen/MDDVersionResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,91 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDDVersionResponse class + * \details The The ID_DDVersionResponse data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0F00| 0x101 | 1 Hz | Y | DD | All | ID_DDVersionResponse data | + * + * | Payload || + * | || + * | #1:(U08) | \ref Data::mmajor | + * | #2:(U08) | \ref Data::mminor | + * | #3:(U08) | \ref Data::mmicro | + * | #4:(U16) | \ref Data::mbuild | + * | #5:(U08) | \ref Data::mfpgaId | + * | #6:(U08) | \ref Data::mfpgaMajor | + * | #7:(U08) | \ref Data::mfpgaMinor | + * | #8:(U08) | \ref Data::mfpgaLab | + * | #9:(U32) | \ref Data::mcompatibilityRev | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDDVersionResponse | + * + */ +class MDDVersionResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U08 mMajor ; + Types::U08 mMinor ; + Types::U08 mMicro ; + Types::U16 mBuild ; + Types::U08 mFpgaid ; + Types::U08 mFpgamajor ; + Types::U08 mFpgaminor ; + Types::U08 mFpgalab ; + Types::U32 mCompatibilityrev; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("VersionResponse"); } + + struct Data { + quint8 mMajor = 0; + quint8 mMinor = 0; + quint8 mMicro = 0; + quint16 mBuild = 0; + quint8 mFpgaid = 0; + quint8 mFpgamajor = 0; + quint8 mFpgaminor = 0; + quint8 mFpgalab = 0; + quint32 mCompatibilityrev = 0; + }; + + MDDVersionResponse() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDDVersionResponse::Data DDVersionResponseData; \ No newline at end of file Index: sources/model/model_autogen/MDialysatePumpsData.cpp =================================================================== diff -u --- sources/model/model_autogen/MDialysatePumpsData.cpp (revision 0) +++ sources/model/model_autogen/MDialysatePumpsData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,89 @@ + +#include "MDialysatePumpsData.h" + +using namespace Model; + +QVariantList MDialysatePumpsData::parameters() const { + return { + _data.mD12pumptargetrpm .value, + _data.mD48pumptargetrpm .value, + _data.mD12pumpmeasuredspeed .value, + _data.mD48pumpmeasuredspeed .value, + _data.mD12pumpcurrentspeed .value, + _data.mD48pumpcurrentspeed .value, + _data.mD12pumpstate .value, + _data.mD48pumpstate .value, + _data.mD12pumptargetpressure .value, + _data.mD48pumptargetpressure .value, + _data.mD12pumpmeasuredpressure .value, + _data.mD48pumpmeasuredpressure .value, + _data.mD12pumpmeasuredcurrent .value, + _data.mD48pumpmeasuredcurrent .value, + _data.mD12pumpcontrol .value, + _data.mD48pumpcontrol .value, + _data.mD12pumpdirerrcnt .value, + _data.mD48pumpdirerrcnt .value, + _data.mD12pumpmeasureddir .value, + _data.mD48pumpmeasureddir .value, + }; +} + +bool MDialysatePumpsData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mD12pumptargetrpm )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumptargetrpm )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpmeasuredspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpmeasuredspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpcurrentspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpcurrentspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumptargetpressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumptargetpressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpmeasuredpressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpmeasuredpressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpmeasuredcurrent )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpmeasuredcurrent )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpcontrol )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpcontrol )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpdirerrcnt )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpdirerrcnt )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD12pumpmeasureddir )) goto lError; + if ( !GetValue(vByteArray, index, _data.mD48pumpmeasureddir )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MDialysatePumpsData::data + * \details The ID_DialysatePumpsData data model + * \return Data + */ +MDialysatePumpsData::Data MDialysatePumpsData::data() const { + Data data; + data.mD12pumptargetrpm = _data.mD12pumptargetrpm .value; + data.mD48pumptargetrpm = _data.mD48pumptargetrpm .value; + data.mD12pumpmeasuredspeed = _data.mD12pumpmeasuredspeed .value; + data.mD48pumpmeasuredspeed = _data.mD48pumpmeasuredspeed .value; + data.mD12pumpcurrentspeed = _data.mD12pumpcurrentspeed .value; + data.mD48pumpcurrentspeed = _data.mD48pumpcurrentspeed .value; + data.mD12pumpstate = _data.mD12pumpstate .value; + data.mD48pumpstate = _data.mD48pumpstate .value; + data.mD12pumptargetpressure = _data.mD12pumptargetpressure .value; + data.mD48pumptargetpressure = _data.mD48pumptargetpressure .value; + data.mD12pumpmeasuredpressure = _data.mD12pumpmeasuredpressure .value; + data.mD48pumpmeasuredpressure = _data.mD48pumpmeasuredpressure .value; + data.mD12pumpmeasuredcurrent = _data.mD12pumpmeasuredcurrent .value; + data.mD48pumpmeasuredcurrent = _data.mD48pumpmeasuredcurrent .value; + data.mD12pumpcontrol = _data.mD12pumpcontrol .value; + data.mD48pumpcontrol = _data.mD48pumpcontrol .value; + data.mD12pumpdirerrcnt = _data.mD12pumpdirerrcnt .value; + data.mD48pumpdirerrcnt = _data.mD48pumpdirerrcnt .value; + data.mD12pumpmeasureddir = _data.mD12pumpmeasureddir .value; + data.mD48pumpmeasureddir = _data.mD48pumpmeasureddir .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MDialysatePumpsData.h =================================================================== diff -u --- sources/model/model_autogen/MDialysatePumpsData.h (revision 0) +++ sources/model/model_autogen/MDialysatePumpsData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,124 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MDialysatePumpsData class + * \details The The ID_DialysatePumpsData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2700| 0x101 | 1 Hz | N | DD | All | ID_DialysatePumpsData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::md12PumpTargetRPM | + * | #2 :(F32) | \ref Data::md48PumpTargetRPM | + * | #3 :(F32) | \ref Data::md12PumpMeasuredSpeed | + * | #4 :(F32) | \ref Data::md48PumpMeasuredSpeed | + * | #5 :(F32) | \ref Data::md12PumpCurrentSpeed | + * | #6 :(F32) | \ref Data::md48PumpCurrentSpeed | + * | #7 :(U32) | \ref Data::md12PumpState | + * | #8 :(U32) | \ref Data::md48PumpState | + * | #9 :(F32) | \ref Data::md12PumpTargetPressure | + * | #10:(F32) | \ref Data::md48PumpTargetPressure | + * | #11:(F32) | \ref Data::md12PumpMeasuredPressure | + * | #12:(F32) | \ref Data::md48PumpMeasuredPressure | + * | #13:(F32) | \ref Data::md12PumpMeasuredCurrent | + * | #14:(F32) | \ref Data::md48PumpMeasuredCurrent | + * | #15:(U32) | \ref Data::md12PumpControl | + * | #16:(U32) | \ref Data::md48PumpControl | + * | #17:(U32) | \ref Data::md12PumpDirErrCnt | + * | #18:(U32) | \ref Data::md48PumpDirErrCnt | + * | #19:(U32) | \ref Data::md12PumpMeasuredDir | + * | #20:(U32) | \ref Data::md48PumpMeasuredDir | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MDialysatePumpsData | + * + */ +class MDialysatePumpsData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mD12pumptargetrpm ; + Types::F32 mD48pumptargetrpm ; + Types::F32 mD12pumpmeasuredspeed ; + Types::F32 mD48pumpmeasuredspeed ; + Types::F32 mD12pumpcurrentspeed ; + Types::F32 mD48pumpcurrentspeed ; + Types::U32 mD12pumpstate ; + Types::U32 mD48pumpstate ; + Types::F32 mD12pumptargetpressure ; + Types::F32 mD48pumptargetpressure ; + Types::F32 mD12pumpmeasuredpressure; + Types::F32 mD48pumpmeasuredpressure; + Types::F32 mD12pumpmeasuredcurrent ; + Types::F32 mD48pumpmeasuredcurrent ; + Types::U32 mD12pumpcontrol ; + Types::U32 mD48pumpcontrol ; + Types::U32 mD12pumpdirerrcnt ; + Types::U32 mD48pumpdirerrcnt ; + Types::U32 mD12pumpmeasureddir ; + Types::U32 mD48pumpmeasureddir ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("DialysatePumps"); } + + struct Data { + float mD12pumptargetrpm = 0; + float mD48pumptargetrpm = 0; + float mD12pumpmeasuredspeed = 0; + float mD48pumpmeasuredspeed = 0; + float mD12pumpcurrentspeed = 0; + float mD48pumpcurrentspeed = 0; + quint32 mD12pumpstate = 0; + quint32 mD48pumpstate = 0; + float mD12pumptargetpressure = 0; + float mD48pumptargetpressure = 0; + float mD12pumpmeasuredpressure = 0; + float mD48pumpmeasuredpressure = 0; + float mD12pumpmeasuredcurrent = 0; + float mD48pumpmeasuredcurrent = 0; + quint32 mD12pumpcontrol = 0; + quint32 mD48pumpcontrol = 0; + quint32 mD12pumpdirerrcnt = 0; + quint32 mD48pumpdirerrcnt = 0; + quint32 mD12pumpmeasureddir = 0; + quint32 mD48pumpmeasureddir = 0; + }; + + MDialysatePumpsData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MDialysatePumpsData::Data DialysatePumpsData; \ No newline at end of file Index: sources/model/model_autogen/MFWVersionsRequest.h =================================================================== diff -u --- sources/model/model_autogen/MFWVersionsRequest.h (revision 0) +++ sources/model/model_autogen/MFWVersionsRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,61 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MFWVersionsRequest class + * \details The The ID_FWVersionsRequest data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0D00| 0x041 | 1 Hz | N | UI | All | ID_FWVersionsRequest data | + * + * | Payload || + * | || + * | #1:(U08) | \ref Data::mMajor | + * | #2:(U08) | \ref Data::mMinor | + * | #3:(U08) | \ref Data::mMicro | + * | #4:(U16) | \ref Data::mBuild | + * | #5:(U32) | \ref Data::mCompatibility | + */ +class MFWVersionsRequest : public MModel { +public: + + quint8 mMajor ; + quint8 mMinor ; + quint8 mMicro ; + quint16 mBuild ; + quint32 mCompatibility; + + // disabled coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + //QString toString() { + // qDebug() << __FUNCTION__ << "non static"; + // return toString({ + // mMajor , + // mMinor , + // mMicro , + // mBuild , + // mCompatibility, + // }); + //} + // disabled coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("FWVersionsRequest"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MFWVersionsRequest FWVersionsRequestData; Index: sources/model/model_autogen/MOffButtonPressRequest.cpp =================================================================== diff -u --- sources/model/model_autogen/MOffButtonPressRequest.cpp (revision 0) +++ sources/model/model_autogen/MOffButtonPressRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MOffButtonPressRequest.h" + +using namespace Model; + +QVariantList MOffButtonPressRequest::parameters() const { + return { + _data.mUserrequest .value, + }; +} + +bool MOffButtonPressRequest::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mUserrequest )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MOffButtonPressRequest::data + * \details The ID_OffButtonPressRequest data model + * \return Data + */ +MOffButtonPressRequest::Data MOffButtonPressRequest::data() const { + Data data; + data.mUserrequest = _data.mUserrequest .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MOffButtonPressRequest.h =================================================================== diff -u --- sources/model/model_autogen/MOffButtonPressRequest.h (revision 0) +++ sources/model/model_autogen/MOffButtonPressRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MOffButtonPressRequest class + * \details The The ID_OffButtonPressRequest data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2300| 0x040 | 1 Hz | Y | TD | All | ID_OffButtonPressRequest data | + * + * | Payload || + * | || + * | #1:(U08) | \ref Data::muserRequest | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MOffButtonPressRequest | + * + */ +class MOffButtonPressRequest : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U08 mUserrequest; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("OffButtonPressRequest"); } + + struct Data { + quint8 mUserrequest = 0; + }; + + MOffButtonPressRequest() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MOffButtonPressRequest::Data OffButtonPressRequestData; \ No newline at end of file Index: sources/model/model_autogen/MPowerOffWarning.cpp =================================================================== diff -u --- sources/model/model_autogen/MPowerOffWarning.cpp (revision 0) +++ sources/model/model_autogen/MPowerOffWarning.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MPowerOffWarning.h" + +using namespace Model; + +QVariantList MPowerOffWarning::parameters() const { + return { + _data.mPoweroffwarning .value, + }; +} + +bool MPowerOffWarning::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mPoweroffwarning )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MPowerOffWarning::data + * \details The ID_PowerOffWarning data model + * \return Data + */ +MPowerOffWarning::Data MPowerOffWarning::data() const { + Data data; + data.mPoweroffwarning = _data.mPoweroffwarning .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MPowerOffWarning.h =================================================================== diff -u --- sources/model/model_autogen/MPowerOffWarning.h (revision 0) +++ sources/model/model_autogen/MPowerOffWarning.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MPowerOffWarning class + * \details The The ID_PowerOffWarning data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2200| 0x100 | 1 Hz | N | TD | All | ID_PowerOffWarning data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mpowerOffWarning | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MPowerOffWarning | + * + */ +class MPowerOffWarning : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mPoweroffwarning; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("PowerOffWarning"); } + + struct Data { + quint32 mPoweroffwarning = 0; + }; + + MPowerOffWarning() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MPowerOffWarning::Data PowerOffWarningData; \ No newline at end of file Index: sources/model/model_autogen/MROAlarmInfoData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROAlarmInfoData.cpp (revision 0) +++ sources/model/model_autogen/MROAlarmInfoData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MROAlarmInfoData.h" + +using namespace Model; + +QVariantList MROAlarmInfoData::parameters() const { + return { + _data.mSafetyshutdownstatus .value, + }; +} + +bool MROAlarmInfoData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mSafetyshutdownstatus )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROAlarmInfoData::data + * \details The ID_ROAlarmInfoData data model + * \return Data + */ +MROAlarmInfoData::Data MROAlarmInfoData::data() const { + Data data; + data.mSafetyshutdownstatus = _data.mSafetyshutdownstatus .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROAlarmInfoData.h =================================================================== diff -u --- sources/model/model_autogen/MROAlarmInfoData.h (revision 0) +++ sources/model/model_autogen/MROAlarmInfoData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROAlarmInfoData class + * \details The The ID_ROAlarmInfoData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2D00| 0x003 | 1 Hz | N | DD | All | ID_ROAlarmInfoData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::msafetyShutdownStatus | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROAlarmInfoData | + * + */ +class MROAlarmInfoData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mSafetyshutdownstatus; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROAlarmInfo"); } + + struct Data { + quint32 mSafetyshutdownstatus = 0; + }; + + MROAlarmInfoData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROAlarmInfoData::Data ROAlarmInfoData; \ No newline at end of file Index: sources/model/model_autogen/MROConductivityData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROConductivityData.cpp (revision 0) +++ sources/model/model_autogen/MROConductivityData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MROConductivityData.h" + +using namespace Model; + +QVariantList MROConductivityData::parameters() const { + return { + _data.mP9conductivity .value, + _data.mP18conductivity .value, + }; +} + +bool MROConductivityData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mP9conductivity )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP18conductivity )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROConductivityData::data + * \details The ID_ROConductivityData data model + * \return Data + */ +MROConductivityData::Data MROConductivityData::data() const { + Data data; + data.mP9conductivity = _data.mP9conductivity .value; + data.mP18conductivity = _data.mP18conductivity .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROConductivityData.h =================================================================== diff -u --- sources/model/model_autogen/MROConductivityData.h (revision 0) +++ sources/model/model_autogen/MROConductivityData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROConductivityData class + * \details The The ID_ROConductivityData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3700| 0x102 | 1 Hz | N | DD | All | ID_ROConductivityData data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::mp9Conductivity | + * | #2:(F32) | \ref Data::mp18Conductivity | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROConductivityData | + * + */ +class MROConductivityData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mP9conductivity ; + Types::F32 mP18conductivity; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROConductivity"); } + + struct Data { + float mP9conductivity = 0; + float mP18conductivity = 0; + }; + + MROConductivityData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROConductivityData::Data ROConductivityData; \ No newline at end of file Index: sources/model/model_autogen/MROEvent.cpp =================================================================== diff -u --- sources/model/model_autogen/MROEvent.cpp (revision 0) +++ sources/model/model_autogen/MROEvent.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,80 @@ + +#include "MROEvent.h" + +using namespace Model; + +QVariantList MROEvent::parameters() const { + return { + _data.mEvent .value, + _data.mDatatype1 .value, + _data.mData1u08 .value, + _data.mData1u16 .value, + _data.mData1s16 .value, + _data.mData1u32 .value, + _data.mData1s32 .value, + _data.mData1bool .value, + _data.mData1f32 .value, + _data.mDatatype2 .value, + _data.mData2u08 .value, + _data.mData2u16 .value, + _data.mData2s16 .value, + _data.mData2u32 .value, + _data.mData2s32 .value, + _data.mData2bool .value, + _data.mData2f32 .value, + }; +} + +bool MROEvent::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mEvent )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDatatype1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u08 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1s16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1s32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1bool )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1f32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDatatype2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u08 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2s16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2s32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2bool )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2f32 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROEvent::data + * \details The ID_ROEvent data model + * \return Data + */ +MROEvent::Data MROEvent::data() const { + Data data; + data.mEvent = _data.mEvent .value; + data.mDatatype1 = _data.mDatatype1 .value; + data.mData1u08 = _data.mData1u08 .value; + data.mData1u16 = _data.mData1u16 .value; + data.mData1s16 = _data.mData1s16 .value; + data.mData1u32 = _data.mData1u32 .value; + data.mData1s32 = _data.mData1s32 .value; + data.mData1bool = _data.mData1bool .value; + data.mData1f32 = _data.mData1f32 .value; + data.mDatatype2 = _data.mDatatype2 .value; + data.mData2u08 = _data.mData2u08 .value; + data.mData2u16 = _data.mData2u16 .value; + data.mData2s16 = _data.mData2s16 .value; + data.mData2u32 = _data.mData2u32 .value; + data.mData2s32 = _data.mData2s32 .value; + data.mData2bool = _data.mData2bool .value; + data.mData2f32 = _data.mData2f32 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROEvent.h =================================================================== diff -u --- sources/model/model_autogen/MROEvent.h (revision 0) +++ sources/model/model_autogen/MROEvent.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,103 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROEvent class + * \details The The ID_ROEvent data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2C00| 0x102 | 1 Hz | N | DD | All | ID_ROEvent data | + * + * | Payload || + * | || + * | #1 :(U32 ) | \ref Data::mevent | + * | #2 :(U32 ) | \ref Data::mdataType1 | + * | #3 :(union) | \ref Data::mdata1U08union | + * | #4 :(U32 ) | \ref Data::mdataType2 | + * | #5 :(union) | \ref Data::mdata2U08union | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROEvent | + * + */ +class MROEvent : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mEvent ; + Types::U32 mDatatype1; + Types::U08 mData1u08 ; + Types::U16 mData1u16 ; + Types::S16 mData1s16 ; + Types::U32 mData1u32 ; + Types::S32 mData1s32 ; + Types::U32 mData1bool; + Types::F32 mData1f32 ; + Types::U32 mDatatype2; + Types::U08 mData2u08 ; + Types::U16 mData2u16 ; + Types::S16 mData2s16 ; + Types::U32 mData2u32 ; + Types::S32 mData2s32 ; + Types::U32 mData2bool; + Types::F32 mData2f32 ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROEvent"); } + + struct Data { + quint32 mEvent = 0; + quint32 mDatatype1 = 0; + quint8 mData1u08 = 0; + quint16 mData1u16 = 0; + qint16 mData1s16 = 0; + quint32 mData1u32 = 0; + qint32 mData1s32 = 0; + quint32 mData1bool = 0; + float mData1f32 = 0; + quint32 mDatatype2 = 0; + quint8 mData2u08 = 0; + quint16 mData2u16 = 0; + qint16 mData2s16 = 0; + quint32 mData2u32 = 0; + qint32 mData2s32 = 0; + quint32 mData2bool = 0; + float mData2f32 = 0; + }; + + MROEvent() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROEvent::Data ROEventData; \ No newline at end of file Index: sources/model/model_autogen/MROFlowData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROFlowData.cpp (revision 0) +++ sources/model/model_autogen/MROFlowData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#include "MROFlowData.h" + +using namespace Model; + +QVariantList MROFlowData::parameters() const { + return { + _data.mP7flow .value, + _data.mP16flow .value, + _data.mP7temp .value, + _data.mP16temp .value, + }; +} + +bool MROFlowData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mP7flow )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP16flow )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP7temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP16temp )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROFlowData::data + * \details The ID_ROFlowData data model + * \return Data + */ +MROFlowData::Data MROFlowData::data() const { + Data data; + data.mP7flow = _data.mP7flow .value; + data.mP16flow = _data.mP16flow .value; + data.mP7temp = _data.mP7temp .value; + data.mP16temp = _data.mP16temp .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROFlowData.h =================================================================== diff -u --- sources/model/model_autogen/MROFlowData.h (revision 0) +++ sources/model/model_autogen/MROFlowData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,76 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROFlowData class + * \details The The ID_ROFlowData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3600| 0x102 | 1 Hz | N | DD | All | ID_ROFlowData data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::mp7Flow | + * | #2:(F32) | \ref Data::mp16Flow | + * | #3:(F32) | \ref Data::mp7Temp | + * | #4:(F32) | \ref Data::mp16Temp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROFlowData | + * + */ +class MROFlowData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mP7flow ; + Types::F32 mP16flow; + Types::F32 mP7temp ; + Types::F32 mP16temp; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROFlow"); } + + struct Data { + float mP7flow = 0; + float mP16flow = 0; + float mP7temp = 0; + float mP16temp = 0; + }; + + MROFlowData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROFlowData::Data ROFlowData; \ No newline at end of file Index: sources/model/model_autogen/MROGenWaterModeData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROGenWaterModeData.cpp (revision 0) +++ sources/model/model_autogen/MROGenWaterModeData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MROGenWaterModeData.h" + +using namespace Model; + +QVariantList MROGenWaterModeData::parameters() const { + return { + _data.mGenwaterexecstate .value, + _data.mSetflowrate .value, + }; +} + +bool MROGenWaterModeData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mGenwaterexecstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mSetflowrate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROGenWaterModeData::data + * \details The ID_ROGenWaterModeData data model + * \return Data + */ +MROGenWaterModeData::Data MROGenWaterModeData::data() const { + Data data; + data.mGenwaterexecstate = _data.mGenwaterexecstate .value; + data.mSetflowrate = _data.mSetflowrate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROGenWaterModeData.h =================================================================== diff -u --- sources/model/model_autogen/MROGenWaterModeData.h (revision 0) +++ sources/model/model_autogen/MROGenWaterModeData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROGenWaterModeData class + * \details The The ID_ROGenWaterModeData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4900| 0x102 | 1 Hz | N | DD | All | ID_ROGenWaterModeData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mgenWaterExecState | + * | #2:(F32) | \ref Data::msetFlowRate | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROGenWaterModeData | + * + */ +class MROGenWaterModeData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mGenwaterexecstate; + Types::F32 mSetflowrate ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROGenWaterMode"); } + + struct Data { + quint32 mGenwaterexecstate = 0; + float mSetflowrate = 0; + }; + + MROGenWaterModeData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROGenWaterModeData::Data ROGenWaterModeData; \ No newline at end of file Index: sources/model/model_autogen/MROHeaterData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROHeaterData.cpp (revision 0) +++ sources/model/model_autogen/MROHeaterData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#include "MROHeaterData.h" + +using namespace Model; + +QVariantList MROHeaterData::parameters() const { + return { + _data.mHeaterp24dc .value, + _data.mHeaterp24targettemp .value, + _data.mHeaterp24state .value, + _data.mHeaterp24controlcounter .value, + }; +} + +bool MROHeaterData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mHeaterp24dc )) goto lError; + if ( !GetValue(vByteArray, index, _data.mHeaterp24targettemp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mHeaterp24state )) goto lError; + if ( !GetValue(vByteArray, index, _data.mHeaterp24controlcounter )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROHeaterData::data + * \details The ID_ROHeaterData data model + * \return Data + */ +MROHeaterData::Data MROHeaterData::data() const { + Data data; + data.mHeaterp24dc = _data.mHeaterp24dc .value; + data.mHeaterp24targettemp = _data.mHeaterp24targettemp .value; + data.mHeaterp24state = _data.mHeaterp24state .value; + data.mHeaterp24controlcounter = _data.mHeaterp24controlcounter .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROHeaterData.h =================================================================== diff -u --- sources/model/model_autogen/MROHeaterData.h (revision 0) +++ sources/model/model_autogen/MROHeaterData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,76 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROHeaterData class + * \details The The ID_ROHeaterData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3A00| 0x102 | 1 Hz | N | DD | All | ID_ROHeaterData data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::mheaterP24DC | + * | #2:(F32) | \ref Data::mheaterP24TargetTemp | + * | #3:(U32) | \ref Data::mheaterP24State | + * | #4:(U32) | \ref Data::mheaterP24ControlCounter | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROHeaterData | + * + */ +class MROHeaterData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mHeaterp24dc ; + Types::F32 mHeaterp24targettemp ; + Types::U32 mHeaterp24state ; + Types::U32 mHeaterp24controlcounter; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROHeater"); } + + struct Data { + float mHeaterp24dc = 0; + float mHeaterp24targettemp = 0; + quint32 mHeaterp24state = 0; + quint32 mHeaterp24controlcounter = 0; + }; + + MROHeaterData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROHeaterData::Data ROHeaterData; \ No newline at end of file Index: sources/model/model_autogen/MROLevelData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROLevelData.cpp (revision 0) +++ sources/model/model_autogen/MROLevelData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MROLevelData.h" + +using namespace Model; + +QVariantList MROLevelData::parameters() const { + return { + _data.mP25level .value, + }; +} + +bool MROLevelData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mP25level )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROLevelData::data + * \details The ID_ROLevelData data model + * \return Data + */ +MROLevelData::Data MROLevelData::data() const { + Data data; + data.mP25level = _data.mP25level .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROLevelData.h =================================================================== diff -u --- sources/model/model_autogen/MROLevelData.h (revision 0) +++ sources/model/model_autogen/MROLevelData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROLevelData class + * \details The The ID_ROLevelData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3500| 0x102 | 1 Hz | N | DD | All | ID_ROLevelData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mp25Level | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROLevelData | + * + */ +class MROLevelData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mP25level; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROLevel"); } + + struct Data { + quint32 mP25level = 0; + }; + + MROLevelData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROLevelData::Data ROLevelData; \ No newline at end of file Index: sources/model/model_autogen/MROOPModeData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROOPModeData.cpp (revision 0) +++ sources/model/model_autogen/MROOPModeData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MROOPModeData.h" + +using namespace Model; + +QVariantList MROOPModeData::parameters() const { + return { + _data.mOpmode .value, + _data.mSubmode .value, + }; +} + +bool MROOPModeData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mOpmode )) goto lError; + if ( !GetValue(vByteArray, index, _data.mSubmode )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROOPModeData::data + * \details The ID_ROOPModeData data model + * \return Data + */ +MROOPModeData::Data MROOPModeData::data() const { + Data data; + data.mOpmode = _data.mOpmode .value; + data.mSubmode = _data.mSubmode .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROOPModeData.h =================================================================== diff -u --- sources/model/model_autogen/MROOPModeData.h (revision 0) +++ sources/model/model_autogen/MROOPModeData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROOPModeData class + * \details The The ID_ROOPModeData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3300| 0x102 | 1 Hz | N | DD | All | ID_ROOPModeData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mopMode | + * | #2:(U32) | \ref Data::msubMode | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROOPModeData | + * + */ +class MROOPModeData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mOpmode ; + Types::U32 mSubmode; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROOPMode"); } + + struct Data { + quint32 mOpmode = 0; + quint32 mSubmode = 0; + }; + + MROOPModeData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROOPModeData::Data ROOPModeData; \ No newline at end of file Index: sources/model/model_autogen/MROPreGenWaterModeData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROPreGenWaterModeData.cpp (revision 0) +++ sources/model/model_autogen/MROPreGenWaterModeData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MROPreGenWaterModeData.h" + +using namespace Model; + +QVariantList MROPreGenWaterModeData::parameters() const { + return { + _data.mPregenwexecstate .value, + }; +} + +bool MROPreGenWaterModeData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mPregenwexecstate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROPreGenWaterModeData::data + * \details The ID_ROPreGenWaterModeData data model + * \return Data + */ +MROPreGenWaterModeData::Data MROPreGenWaterModeData::data() const { + Data data; + data.mPregenwexecstate = _data.mPregenwexecstate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROPreGenWaterModeData.h =================================================================== diff -u --- sources/model/model_autogen/MROPreGenWaterModeData.h (revision 0) +++ sources/model/model_autogen/MROPreGenWaterModeData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROPreGenWaterModeData class + * \details The The ID_ROPreGenWaterModeData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4D00| 0x102 | 1 Hz | N | DD | All | ID_ROPreGenWaterModeData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mpreGenWExecState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROPreGenWaterModeData | + * + */ +class MROPreGenWaterModeData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mPregenwexecstate; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROPreGenWaterMode"); } + + struct Data { + quint32 mPregenwexecstate = 0; + }; + + MROPreGenWaterModeData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROPreGenWaterModeData::Data ROPreGenWaterModeData; \ No newline at end of file Index: sources/model/model_autogen/MROPressuresData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROPressuresData.cpp (revision 0) +++ sources/model/model_autogen/MROPressuresData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,83 @@ + +#include "MROPressuresData.h" + +using namespace Model; + +QVariantList MROPressuresData::parameters() const { + return { + _data.mM1pressure .value, + _data.mM3pressure .value, + _data.mP8pressure .value, + _data.mP13pressure .value, + _data.mP17pressure .value, + _data.mX1pressure .value, + _data.mX2pressure .value, + _data.mX3pressure .value, + _data.mX4pressure .value, + _data.mM1temp .value, + _data.mM3temp .value, + _data.mP8temp .value, + _data.mP13temp .value, + _data.mP17temp .value, + _data.mX1temp .value, + _data.mX2temp .value, + _data.mX3temp .value, + _data.mX4temp .value, + }; +} + +bool MROPressuresData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mM1pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mM3pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP8pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP13pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP17pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX1pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX2pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX3pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX4pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mM1temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mM3temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP8temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP13temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP17temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX1temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX2temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX3temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mX4temp )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROPressuresData::data + * \details The ID_ROPressuresData data model + * \return Data + */ +MROPressuresData::Data MROPressuresData::data() const { + Data data; + data.mM1pressure = _data.mM1pressure .value; + data.mM3pressure = _data.mM3pressure .value; + data.mP8pressure = _data.mP8pressure .value; + data.mP13pressure = _data.mP13pressure .value; + data.mP17pressure = _data.mP17pressure .value; + data.mX1pressure = _data.mX1pressure .value; + data.mX2pressure = _data.mX2pressure .value; + data.mX3pressure = _data.mX3pressure .value; + data.mX4pressure = _data.mX4pressure .value; + data.mM1temp = _data.mM1temp .value; + data.mM3temp = _data.mM3temp .value; + data.mP8temp = _data.mP8temp .value; + data.mP13temp = _data.mP13temp .value; + data.mP17temp = _data.mP17temp .value; + data.mX1temp = _data.mX1temp .value; + data.mX2temp = _data.mX2temp .value; + data.mX3temp = _data.mX3temp .value; + data.mX4temp = _data.mX4temp .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROPressuresData.h =================================================================== diff -u --- sources/model/model_autogen/MROPressuresData.h (revision 0) +++ sources/model/model_autogen/MROPressuresData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,118 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROPressuresData class + * \details The The ID_ROPressuresData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3400| 0x102 | 1 Hz | N | DD | All | ID_ROPressuresData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::mm1Pressure | + * | #2 :(F32) | \ref Data::mm3Pressure | + * | #3 :(F32) | \ref Data::mp8Pressure | + * | #4 :(F32) | \ref Data::mp13Pressure | + * | #5 :(F32) | \ref Data::mp17Pressure | + * | #6 :(F32) | \ref Data::mx1Pressure | + * | #7 :(F32) | \ref Data::mx2Pressure | + * | #8 :(F32) | \ref Data::mx3Pressure | + * | #9 :(F32) | \ref Data::mx4Pressure | + * | #10:(F32) | \ref Data::mm1Temp | + * | #11:(F32) | \ref Data::mm3Temp | + * | #12:(F32) | \ref Data::mp8Temp | + * | #13:(F32) | \ref Data::mp13Temp | + * | #14:(F32) | \ref Data::mp17Temp | + * | #15:(F32) | \ref Data::mx1Temp | + * | #16:(F32) | \ref Data::mx2Temp | + * | #17:(F32) | \ref Data::mx3Temp | + * | #18:(F32) | \ref Data::mx4Temp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROPressuresData | + * + */ +class MROPressuresData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mM1pressure ; + Types::F32 mM3pressure ; + Types::F32 mP8pressure ; + Types::F32 mP13pressure; + Types::F32 mP17pressure; + Types::F32 mX1pressure ; + Types::F32 mX2pressure ; + Types::F32 mX3pressure ; + Types::F32 mX4pressure ; + Types::F32 mM1temp ; + Types::F32 mM3temp ; + Types::F32 mP8temp ; + Types::F32 mP13temp ; + Types::F32 mP17temp ; + Types::F32 mX1temp ; + Types::F32 mX2temp ; + Types::F32 mX3temp ; + Types::F32 mX4temp ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROPressures"); } + + struct Data { + float mM1pressure = 0; + float mM3pressure = 0; + float mP8pressure = 0; + float mP13pressure = 0; + float mP17pressure = 0; + float mX1pressure = 0; + float mX2pressure = 0; + float mX3pressure = 0; + float mX4pressure = 0; + float mM1temp = 0; + float mM3temp = 0; + float mP8temp = 0; + float mP13temp = 0; + float mP17temp = 0; + float mX1temp = 0; + float mX2temp = 0; + float mX3temp = 0; + float mX4temp = 0; + }; + + MROPressuresData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROPressuresData::Data ROPressuresData; \ No newline at end of file Index: sources/model/model_autogen/MROPumpData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROPumpData.cpp (revision 0) +++ sources/model/model_autogen/MROPumpData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,53 @@ + +#include "MROPumpData.h" + +using namespace Model; + +QVariantList MROPumpData::parameters() const { + return { + _data.mP12pumpstate .value, + _data.mP12pumpdutycycle .value, + _data.mP12pumpfbdutycycle .value, + _data.mP12pumpspeed .value, + _data.mP40pumpstate .value, + _data.mP40pumpdutycycle .value, + _data.mP40pumpfbdutycycle .value, + _data.mP40pumpspeed .value, + }; +} + +bool MROPumpData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mP12pumpstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP12pumpdutycycle )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP12pumpfbdutycycle )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP12pumpspeed )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP40pumpstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP40pumpdutycycle )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP40pumpfbdutycycle )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP40pumpspeed )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROPumpData::data + * \details The ID_ROPumpData data model + * \return Data + */ +MROPumpData::Data MROPumpData::data() const { + Data data; + data.mP12pumpstate = _data.mP12pumpstate .value; + data.mP12pumpdutycycle = _data.mP12pumpdutycycle .value; + data.mP12pumpfbdutycycle = _data.mP12pumpfbdutycycle .value; + data.mP12pumpspeed = _data.mP12pumpspeed .value; + data.mP40pumpstate = _data.mP40pumpstate .value; + data.mP40pumpdutycycle = _data.mP40pumpdutycycle .value; + data.mP40pumpfbdutycycle = _data.mP40pumpfbdutycycle .value; + data.mP40pumpspeed = _data.mP40pumpspeed .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROPumpData.h =================================================================== diff -u --- sources/model/model_autogen/MROPumpData.h (revision 0) +++ sources/model/model_autogen/MROPumpData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,88 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROPumpData class + * \details The The ID_ROPumpData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3200| 0x102 | 1 Hz | N | DD | All | ID_ROPumpData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mp12PumpState | + * | #2:(U32) | \ref Data::mp12PumpDutyCycle | + * | #3:(U32) | \ref Data::mp12PumpFBDutyCycle | + * | #4:(F32) | \ref Data::mp12PumpSpeed | + * | #5:(U32) | \ref Data::mp40PumpState | + * | #6:(U32) | \ref Data::mp40PumpDutyCycle | + * | #7:(U32) | \ref Data::mp40PumpFBDutyCycle | + * | #8:(F32) | \ref Data::mp40PumpSpeed | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROPumpData | + * + */ +class MROPumpData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mP12pumpstate ; + Types::U32 mP12pumpdutycycle ; + Types::U32 mP12pumpfbdutycycle; + Types::F32 mP12pumpspeed ; + Types::U32 mP40pumpstate ; + Types::U32 mP40pumpdutycycle ; + Types::U32 mP40pumpfbdutycycle; + Types::F32 mP40pumpspeed ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROPump"); } + + struct Data { + quint32 mP12pumpstate = 0; + quint32 mP12pumpdutycycle = 0; + quint32 mP12pumpfbdutycycle = 0; + float mP12pumpspeed = 0; + quint32 mP40pumpstate = 0; + quint32 mP40pumpdutycycle = 0; + quint32 mP40pumpfbdutycycle = 0; + float mP40pumpspeed = 0; + }; + + MROPumpData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROPumpData::Data ROPumpData; \ No newline at end of file Index: sources/model/model_autogen/MROTemperatureData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROTemperatureData.cpp (revision 0) +++ sources/model/model_autogen/MROTemperatureData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,44 @@ + +#include "MROTemperatureData.h" + +using namespace Model; + +QVariantList MROTemperatureData::parameters() const { + return { + _data.mP23temp .value, + _data.mP22temp .value, + _data.mP10temp .value, + _data.mP19temp .value, + _data.mBoardtemp .value, + }; +} + +bool MROTemperatureData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mP23temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP22temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP10temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mP19temp )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBoardtemp )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROTemperatureData::data + * \details The ID_ROTemperatureData data model + * \return Data + */ +MROTemperatureData::Data MROTemperatureData::data() const { + Data data; + data.mP23temp = _data.mP23temp .value; + data.mP22temp = _data.mP22temp .value; + data.mP10temp = _data.mP10temp .value; + data.mP19temp = _data.mP19temp .value; + data.mBoardtemp = _data.mBoardtemp .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROTemperatureData.h =================================================================== diff -u --- sources/model/model_autogen/MROTemperatureData.h (revision 0) +++ sources/model/model_autogen/MROTemperatureData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,79 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROTemperatureData class + * \details The The ID_ROTemperatureData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3900| 0x102 | 1 Hz | N | DD | All | ID_ROTemperatureData data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::mp23Temp | + * | #2:(F32) | \ref Data::mp22Temp | + * | #3:(F32) | \ref Data::mp10Temp | + * | #4:(F32) | \ref Data::mp19Temp | + * | #5:(F32) | \ref Data::mboardTemp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROTemperatureData | + * + */ +class MROTemperatureData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mP23temp ; + Types::F32 mP22temp ; + Types::F32 mP10temp ; + Types::F32 mP19temp ; + Types::F32 mBoardtemp; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROTemperature"); } + + struct Data { + float mP23temp = 0; + float mP22temp = 0; + float mP10temp = 0; + float mP19temp = 0; + float mBoardtemp = 0; + }; + + MROTemperatureData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROTemperatureData::Data ROTemperatureData; \ No newline at end of file Index: sources/model/model_autogen/MROValvesStatesData.cpp =================================================================== diff -u --- sources/model/model_autogen/MROValvesStatesData.cpp (revision 0) +++ sources/model/model_autogen/MROValvesStatesData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,59 @@ + +#include "MROValvesStatesData.h" + +using namespace Model; + +QVariantList MROValvesStatesData::parameters() const { + return { + _data.mValvescmdstate .value, + _data.mValvessensedstate1 .value, + _data.mValvessensedstate2 .value, + _data.mValvessensedstate3 .value, + _data.mValvessensedstate4 .value, + _data.mValvessensedstate5 .value, + _data.mValvessensedstate6 .value, + _data.mValvessensedstate7 .value, + _data.mValvessensedstate8 .value, + _data.mValvessensedstate9 .value, + }; +} + +bool MROValvesStatesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mValvescmdstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate3 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate4 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate5 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate6 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate7 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate8 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mValvessensedstate9 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MROValvesStatesData::data + * \details The ID_ROValvesStatesData data model + * \return Data + */ +MROValvesStatesData::Data MROValvesStatesData::data() const { + Data data; + data.mValvescmdstate = _data.mValvescmdstate .value; + data.mValvessensedstate1 = _data.mValvessensedstate1 .value; + data.mValvessensedstate2 = _data.mValvessensedstate2 .value; + data.mValvessensedstate3 = _data.mValvessensedstate3 .value; + data.mValvessensedstate4 = _data.mValvessensedstate4 .value; + data.mValvessensedstate5 = _data.mValvessensedstate5 .value; + data.mValvessensedstate6 = _data.mValvessensedstate6 .value; + data.mValvessensedstate7 = _data.mValvessensedstate7 .value; + data.mValvessensedstate8 = _data.mValvessensedstate8 .value; + data.mValvessensedstate9 = _data.mValvessensedstate9 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MROValvesStatesData.h =================================================================== diff -u --- sources/model/model_autogen/MROValvesStatesData.h (revision 0) +++ sources/model/model_autogen/MROValvesStatesData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,94 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MROValvesStatesData class + * \details The The ID_ROValvesStatesData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3100| 0x102 | 1 Hz | N | DD | All | ID_ROValvesStatesData data | + * + * | Payload || + * | || + * | #1 :(U16) | \ref Data::mvalvesCmdState | + * | #2 :(U08) | \ref Data::mvalvesSensedState1 | + * | #3 :(U08) | \ref Data::mvalvesSensedState2 | + * | #4 :(U08) | \ref Data::mvalvesSensedState3 | + * | #5 :(U08) | \ref Data::mvalvesSensedState4 | + * | #6 :(U08) | \ref Data::mvalvesSensedState5 | + * | #7 :(U08) | \ref Data::mvalvesSensedState6 | + * | #8 :(U08) | \ref Data::mvalvesSensedState7 | + * | #9 :(U08) | \ref Data::mvalvesSensedState8 | + * | #10:(U08) | \ref Data::mvalvesSensedState9 | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | DD | + * | infoText | MROValvesStatesData | + * + */ +class MROValvesStatesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U16 mValvescmdstate ; + Types::U08 mValvessensedstate1; + Types::U08 mValvessensedstate2; + Types::U08 mValvessensedstate3; + Types::U08 mValvessensedstate4; + Types::U08 mValvessensedstate5; + Types::U08 mValvessensedstate6; + Types::U08 mValvessensedstate7; + Types::U08 mValvessensedstate8; + Types::U08 mValvessensedstate9; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("ROValvesStates"); } + + struct Data { + quint16 mValvescmdstate = 0; + quint8 mValvessensedstate1 = 0; + quint8 mValvessensedstate2 = 0; + quint8 mValvessensedstate3 = 0; + quint8 mValvessensedstate4 = 0; + quint8 mValvessensedstate5 = 0; + quint8 mValvessensedstate6 = 0; + quint8 mValvessensedstate7 = 0; + quint8 mValvessensedstate8 = 0; + quint8 mValvessensedstate9 = 0; + }; + + MROValvesStatesData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MROValvesStatesData::Data ROValvesStatesData; \ No newline at end of file Index: sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.cpp (revision 0) +++ sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,65 @@ + +#include "MTDActiveAlarmsListRequestResponse.h" + +using namespace Model; + +QVariantList MTDActiveAlarmsListRequestResponse::parameters() const { + return { + _data.mAccepted .value, + _data.mRejectionreason .value, + _data.mActivealarmlist1 .value, + _data.mActivealarmlist2 .value, + _data.mActivealarmlist3 .value, + _data.mActivealarmlist4 .value, + _data.mActivealarmlist5 .value, + _data.mActivealarmlist6 .value, + _data.mActivealarmlist7 .value, + _data.mActivealarmlist8 .value, + _data.mActivealarmlist9 .value, + _data.mActivealarmlist10 .value, + }; +} + +bool MTDActiveAlarmsListRequestResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( !GetValue(vByteArray, index, _data.mRejectionreason )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist3 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist4 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist5 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist6 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist7 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist8 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist9 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mActivealarmlist10 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDActiveAlarmsListRequestResponse::data + * \details The ID_TDActiveAlarmsListRequestResponse data model + * \return Data + */ +MTDActiveAlarmsListRequestResponse::Data MTDActiveAlarmsListRequestResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mRejectionreason = _data.mRejectionreason .value; + data.mActivealarmlist1 = _data.mActivealarmlist1 .value; + data.mActivealarmlist2 = _data.mActivealarmlist2 .value; + data.mActivealarmlist3 = _data.mActivealarmlist3 .value; + data.mActivealarmlist4 = _data.mActivealarmlist4 .value; + data.mActivealarmlist5 = _data.mActivealarmlist5 .value; + data.mActivealarmlist6 = _data.mActivealarmlist6 .value; + data.mActivealarmlist7 = _data.mActivealarmlist7 .value; + data.mActivealarmlist8 = _data.mActivealarmlist8 .value; + data.mActivealarmlist9 = _data.mActivealarmlist9 .value; + data.mActivealarmlist10 = _data.mActivealarmlist10 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.h =================================================================== diff -u --- sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.h (revision 0) +++ sources/model/model_autogen/MTDActiveAlarmsListRequestResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,100 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDActiveAlarmsListRequestResponse class + * \details The The ID_TDActiveAlarmsListRequestResponse data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0A00| 0x040 | 1 Hz | Y | TD | All | ID_TDActiveAlarmsListRequestResponse data | + * + * | Payload || + * | || + * | #1 :(U32) | \ref Data::maccepted | + * | #2 :(U32) | \ref Data::mrejectionReason | + * | #3 :(U32) | \ref Data::mactiveAlarmList1 | + * | #4 :(U32) | \ref Data::mactiveAlarmList2 | + * | #5 :(U32) | \ref Data::mactiveAlarmList3 | + * | #6 :(U32) | \ref Data::mactiveAlarmList4 | + * | #7 :(U32) | \ref Data::mactiveAlarmList5 | + * | #8 :(U32) | \ref Data::mactiveAlarmList6 | + * | #9 :(U32) | \ref Data::mactiveAlarmList7 | + * | #10:(U32) | \ref Data::mactiveAlarmList8 | + * | #11:(U32) | \ref Data::mactiveAlarmList9 | + * | #12:(U32) | \ref Data::mactiveAlarmList10 | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDActiveAlarmsListRequestResponse | + * + */ +class MTDActiveAlarmsListRequestResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted ; + Types::U32 mRejectionreason ; + Types::U32 mActivealarmlist1 ; + Types::U32 mActivealarmlist2 ; + Types::U32 mActivealarmlist3 ; + Types::U32 mActivealarmlist4 ; + Types::U32 mActivealarmlist5 ; + Types::U32 mActivealarmlist6 ; + Types::U32 mActivealarmlist7 ; + Types::U32 mActivealarmlist8 ; + Types::U32 mActivealarmlist9 ; + Types::U32 mActivealarmlist10; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("ActiveAlarmsListRequestResponse"); } + + struct Data { + quint32 mAccepted = 0; + quint32 mRejectionreason = 0; + quint32 mActivealarmlist1 = 0; + quint32 mActivealarmlist2 = 0; + quint32 mActivealarmlist3 = 0; + quint32 mActivealarmlist4 = 0; + quint32 mActivealarmlist5 = 0; + quint32 mActivealarmlist6 = 0; + quint32 mActivealarmlist7 = 0; + quint32 mActivealarmlist8 = 0; + quint32 mActivealarmlist9 = 0; + quint32 mActivealarmlist10 = 0; + }; + + MTDActiveAlarmsListRequestResponse() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDActiveAlarmsListRequestResponse::Data TDActiveAlarmsListRequestResponseData; \ No newline at end of file Index: sources/model/model_autogen/MTDAirPumpData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDAirPumpData.cpp (revision 0) +++ sources/model/model_autogen/MTDAirPumpData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MTDAirPumpData.h" + +using namespace Model; + +QVariantList MTDAirPumpData::parameters() const { + return { + _data.mH12state .value, + _data.mH12power .value, + }; +} + +bool MTDAirPumpData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mH12state )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH12power )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDAirPumpData::data + * \details The ID_TDAirPumpData data model + * \return Data + */ +MTDAirPumpData::Data MTDAirPumpData::data() const { + Data data; + data.mH12state = _data.mH12state .value; + data.mH12power = _data.mH12power .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDAirPumpData.h =================================================================== diff -u --- sources/model/model_autogen/MTDAirPumpData.h (revision 0) +++ sources/model/model_autogen/MTDAirPumpData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDAirPumpData class + * \details The The ID_TDAirPumpData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2000| 0x100 | 1 Hz | N | TD | All | ID_TDAirPumpData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mh12State | + * | #2:(U32) | \ref Data::mh12Power | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDAirPumpData | + * + */ +class MTDAirPumpData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mH12state; + Types::U32 mH12power; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AirPump"); } + + struct Data { + quint32 mH12state = 0; + quint32 mH12power = 0; + }; + + MTDAirPumpData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDAirPumpData::Data TDAirPumpData; \ No newline at end of file Index: sources/model/model_autogen/MTDAirTrapData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDAirTrapData.cpp (revision 0) +++ sources/model/model_autogen/MTDAirTrapData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,50 @@ + +#include "MTDAirTrapData.h" + +using namespace Model; + +QVariantList MTDAirTrapData::parameters() const { + return { + _data.mH17state .value, + _data.mH16state .value, + _data.mH17rawstate .value, + _data.mH16rawstate .value, + _data.mH13state .value, + _data.mH20state .value, + _data.mIsautocontrolling .value, + }; +} + +bool MTDAirTrapData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mH17state )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH16state )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH17rawstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH16rawstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH13state )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH20state )) goto lError; + if ( !GetValue(vByteArray, index, _data.mIsautocontrolling )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDAirTrapData::data + * \details The ID_TDAirTrapData data model + * \return Data + */ +MTDAirTrapData::Data MTDAirTrapData::data() const { + Data data; + data.mH17state = _data.mH17state .value; + data.mH16state = _data.mH16state .value; + data.mH17rawstate = _data.mH17rawstate .value; + data.mH16rawstate = _data.mH16rawstate .value; + data.mH13state = _data.mH13state .value; + data.mH20state = _data.mH20state .value; + data.mIsautocontrolling = _data.mIsautocontrolling .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDAirTrapData.h =================================================================== diff -u --- sources/model/model_autogen/MTDAirTrapData.h (revision 0) +++ sources/model/model_autogen/MTDAirTrapData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,85 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDAirTrapData class + * \details The The ID_TDAirTrapData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2A00| 0x100 | 1 Hz | N | TD | All | ID_TDAirTrapData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mh17State | + * | #2:(U32) | \ref Data::mh16State | + * | #3:(U32) | \ref Data::mh17RawState | + * | #4:(U32) | \ref Data::mh16RawState | + * | #5:(U32) | \ref Data::mh13State | + * | #6:(U32) | \ref Data::mh20State | + * | #7:(U32) | \ref Data::misAutoControlling | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDAirTrapData | + * + */ +class MTDAirTrapData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mH17state ; + Types::U32 mH16state ; + Types::U32 mH17rawstate ; + Types::U32 mH16rawstate ; + Types::U32 mH13state ; + Types::U32 mH20state ; + Types::U32 mIsautocontrolling; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AirTrap"); } + + struct Data { + quint32 mH17state = 0; + quint32 mH16state = 0; + quint32 mH17rawstate = 0; + quint32 mH16rawstate = 0; + quint32 mH13state = 0; + quint32 mH20state = 0; + quint32 mIsautocontrolling = 0; + }; + + MTDAirTrapData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDAirTrapData::Data TDAirTrapData; \ No newline at end of file Index: sources/model/model_autogen/MTDAlarmInformationData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDAlarmInformationData.cpp (revision 0) +++ sources/model/model_autogen/MTDAlarmInformationData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,65 @@ + +#include "MTDAlarmInformationData.h" + +using namespace Model; + +QVariantList MTDAlarmInformationData::parameters() const { + return { + _data.mAudiovolume .value, + _data.mAudiocurrhg .value, + _data.mAudiocurrlg .value, + _data.mBackupaudiocurr .value, + _data.mSafetyshutdown .value, + _data.mAcpowerlost .value, + _data.mUialarmbuttonblocks1 .value, + _data.mUialarmbuttonblocks2 .value, + _data.mUialarmbuttonblocks3 .value, + _data.mUialarmbuttonblocks4 .value, + _data.mUialarmbuttonblocks5 .value, + _data.mUialarmbuttonblocks6 .value, + }; +} + +bool MTDAlarmInformationData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAudiovolume )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAudiocurrhg )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAudiocurrlg )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBackupaudiocurr )) goto lError; + if ( !GetValue(vByteArray, index, _data.mSafetyshutdown )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAcpowerlost )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUialarmbuttonblocks1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUialarmbuttonblocks2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUialarmbuttonblocks3 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUialarmbuttonblocks4 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUialarmbuttonblocks5 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUialarmbuttonblocks6 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDAlarmInformationData::data + * \details The ID_TDAlarmInformationData data model + * \return Data + */ +MTDAlarmInformationData::Data MTDAlarmInformationData::data() const { + Data data; + data.mAudiovolume = _data.mAudiovolume .value; + data.mAudiocurrhg = _data.mAudiocurrhg .value; + data.mAudiocurrlg = _data.mAudiocurrlg .value; + data.mBackupaudiocurr = _data.mBackupaudiocurr .value; + data.mSafetyshutdown = _data.mSafetyshutdown .value; + data.mAcpowerlost = _data.mAcpowerlost .value; + data.mUialarmbuttonblocks1 = _data.mUialarmbuttonblocks1 .value; + data.mUialarmbuttonblocks2 = _data.mUialarmbuttonblocks2 .value; + data.mUialarmbuttonblocks3 = _data.mUialarmbuttonblocks3 .value; + data.mUialarmbuttonblocks4 = _data.mUialarmbuttonblocks4 .value; + data.mUialarmbuttonblocks5 = _data.mUialarmbuttonblocks5 .value; + data.mUialarmbuttonblocks6 = _data.mUialarmbuttonblocks6 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDAlarmInformationData.h =================================================================== diff -u --- sources/model/model_autogen/MTDAlarmInformationData.h (revision 0) +++ sources/model/model_autogen/MTDAlarmInformationData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,100 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDAlarmInformationData class + * \details The The ID_TDAlarmInformationData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0700| 0x100 | 1 Hz | N | TD | All | ID_TDAlarmInformationData data | + * + * | Payload || + * | || + * | #1 :(U32) | \ref Data::maudioVolume | + * | #2 :(F32) | \ref Data::maudioCurrHG | + * | #3 :(F32) | \ref Data::maudioCurrLG | + * | #4 :(F32) | \ref Data::mbackupAudioCurr | + * | #5 :(U32) | \ref Data::msafetyShutdown | + * | #6 :(U32) | \ref Data::macPowerLost | + * | #7 :(U08) | \ref Data::muiAlarmButtonBlocks1 | + * | #8 :(U08) | \ref Data::muiAlarmButtonBlocks2 | + * | #9 :(U08) | \ref Data::muiAlarmButtonBlocks3 | + * | #10:(U08) | \ref Data::muiAlarmButtonBlocks4 | + * | #11:(U08) | \ref Data::muiAlarmButtonBlocks5 | + * | #12:(U08) | \ref Data::muiAlarmButtonBlocks6 | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDAlarmInformationData | + * + */ +class MTDAlarmInformationData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAudiovolume ; + Types::F32 mAudiocurrhg ; + Types::F32 mAudiocurrlg ; + Types::F32 mBackupaudiocurr ; + Types::U32 mSafetyshutdown ; + Types::U32 mAcpowerlost ; + Types::U08 mUialarmbuttonblocks1; + Types::U08 mUialarmbuttonblocks2; + Types::U08 mUialarmbuttonblocks3; + Types::U08 mUialarmbuttonblocks4; + Types::U08 mUialarmbuttonblocks5; + Types::U08 mUialarmbuttonblocks6; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AlarmInformation"); } + + struct Data { + quint32 mAudiovolume = 0; + float mAudiocurrhg = 0; + float mAudiocurrlg = 0; + float mBackupaudiocurr = 0; + quint32 mSafetyshutdown = 0; + quint32 mAcpowerlost = 0; + quint8 mUialarmbuttonblocks1 = 0; + quint8 mUialarmbuttonblocks2 = 0; + quint8 mUialarmbuttonblocks3 = 0; + quint8 mUialarmbuttonblocks4 = 0; + quint8 mUialarmbuttonblocks5 = 0; + quint8 mUialarmbuttonblocks6 = 0; + }; + + MTDAlarmInformationData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDAlarmInformationData::Data TDAlarmInformationData; \ No newline at end of file Index: sources/model/model_autogen/MTDBloodPumpData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDBloodPumpData.cpp (revision 0) +++ sources/model/model_autogen/MTDBloodPumpData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,56 @@ + +#include "MTDBloodPumpData.h" + +using namespace Model; + +QVariantList MTDBloodPumpData::parameters() const { + return { + _data.mH4setflowrate .value, + _data.mH4measflow .value, + _data.mH4measrotorspd .value, + _data.mH4measpumpspd .value, + _data.mH4meascurr .value, + _data.mH4setrpm .value, + _data.mH4rotorcount .value, + _data.mH4presflow .value, + _data.mH6rotorhallstate .value, + }; +} + +bool MTDBloodPumpData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mH4setflowrate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH4measflow )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH4measrotorspd )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH4measpumpspd )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH4meascurr )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH4setrpm )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH4rotorcount )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH4presflow )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH6rotorhallstate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDBloodPumpData::data + * \details The ID_TDBloodPumpData data model + * \return Data + */ +MTDBloodPumpData::Data MTDBloodPumpData::data() const { + Data data; + data.mH4setflowrate = _data.mH4setflowrate .value; + data.mH4measflow = _data.mH4measflow .value; + data.mH4measrotorspd = _data.mH4measrotorspd .value; + data.mH4measpumpspd = _data.mH4measpumpspd .value; + data.mH4meascurr = _data.mH4meascurr .value; + data.mH4setrpm = _data.mH4setrpm .value; + data.mH4rotorcount = _data.mH4rotorcount .value; + data.mH4presflow = _data.mH4presflow .value; + data.mH6rotorhallstate = _data.mH6rotorhallstate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDBloodPumpData.h =================================================================== diff -u --- sources/model/model_autogen/MTDBloodPumpData.h (revision 0) +++ sources/model/model_autogen/MTDBloodPumpData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,91 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDBloodPumpData class + * \details The The ID_TDBloodPumpData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1100| 0x100 | 1 Hz | N | TD | All | ID_TDBloodPumpData data | + * + * | Payload || + * | || + * | #1:(S32) | \ref Data::mh4SetFlowRate | + * | #2:(F32) | \ref Data::mh4MeasFlow | + * | #3:(F32) | \ref Data::mh4MeasRotorSpd | + * | #4:(F32) | \ref Data::mh4MeasPumpSpd | + * | #5:(F32) | \ref Data::mh4MeasCurr | + * | #6:(F32) | \ref Data::mh4SetRPM | + * | #7:(U32) | \ref Data::mh4RotorCount | + * | #8:(U32) | \ref Data::mh4PresFlow | + * | #9:(U32) | \ref Data::mh6RotorHallState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDBloodPumpData | + * + */ +class MTDBloodPumpData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::S32 mH4setflowrate ; + Types::F32 mH4measflow ; + Types::F32 mH4measrotorspd ; + Types::F32 mH4measpumpspd ; + Types::F32 mH4meascurr ; + Types::F32 mH4setrpm ; + Types::U32 mH4rotorcount ; + Types::U32 mH4presflow ; + Types::U32 mH6rotorhallstate; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("BloodPump"); } + + struct Data { + qint32 mH4setflowrate = 0; + float mH4measflow = 0; + float mH4measrotorspd = 0; + float mH4measpumpspd = 0; + float mH4meascurr = 0; + float mH4setrpm = 0; + quint32 mH4rotorcount = 0; + quint32 mH4presflow = 0; + quint32 mH6rotorhallstate = 0; + }; + + MTDBloodPumpData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDBloodPumpData::Data TDBloodPumpData; \ No newline at end of file Index: sources/model/model_autogen/MTDBubblesData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDBubblesData.cpp (revision 0) +++ sources/model/model_autogen/MTDBubblesData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MTDBubblesData.h" + +using namespace Model; + +QVariantList MTDBubblesData::parameters() const { + return { + _data.mH18status .value, + _data.mH18state .value, + }; +} + +bool MTDBubblesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mH18status )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH18state )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDBubblesData::data + * \details The ID_TDBubblesData data model + * \return Data + */ +MTDBubblesData::Data MTDBubblesData::data() const { + Data data; + data.mH18status = _data.mH18status .value; + data.mH18state = _data.mH18state .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDBubblesData.h =================================================================== diff -u --- sources/model/model_autogen/MTDBubblesData.h (revision 0) +++ sources/model/model_autogen/MTDBubblesData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDBubblesData class + * \details The The ID_TDBubblesData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1E00| 0x100 | 1 Hz | N | TD | All | ID_TDBubblesData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mh18Status | + * | #2:(U32) | \ref Data::mh18State | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDBubblesData | + * + */ +class MTDBubblesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mH18status; + Types::U32 mH18state ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Bubbles"); } + + struct Data { + quint32 mH18status = 0; + quint32 mH18state = 0; + }; + + MTDBubblesData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDBubblesData::Data TDBubblesData; \ No newline at end of file Index: sources/model/model_autogen/MTDEjectorData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDEjectorData.cpp (revision 0) +++ sources/model/model_autogen/MTDEjectorData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MTDEjectorData.h" + +using namespace Model; + +QVariantList MTDEjectorData::parameters() const { + return { + _data.mH5state .value, + _data.mH5setspeed .value, + }; +} + +bool MTDEjectorData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mH5state )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH5setspeed )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDEjectorData::data + * \details The ID_TDEjectorData data model + * \return Data + */ +MTDEjectorData::Data MTDEjectorData::data() const { + Data data; + data.mH5state = _data.mH5state .value; + data.mH5setspeed = _data.mH5setspeed .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDEjectorData.h =================================================================== diff -u --- sources/model/model_autogen/MTDEjectorData.h (revision 0) +++ sources/model/model_autogen/MTDEjectorData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDEjectorData class + * \details The The ID_TDEjectorData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4E00| 0x100 | 1 Hz | N | TD | All | ID_TDEjectorData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mh5State | + * | #2:(F32) | \ref Data::mh5SetSpeed | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDEjectorData | + * + */ +class MTDEjectorData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mH5state ; + Types::F32 mH5setspeed; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Ejector"); } + + struct Data { + quint32 mH5state = 0; + float mH5setspeed = 0; + }; + + MTDEjectorData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDEjectorData::Data TDEjectorData; \ No newline at end of file Index: sources/model/model_autogen/MTDEvent.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDEvent.cpp (revision 0) +++ sources/model/model_autogen/MTDEvent.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,80 @@ + +#include "MTDEvent.h" + +using namespace Model; + +QVariantList MTDEvent::parameters() const { + return { + _data.mEvent .value, + _data.mDatatype1 .value, + _data.mData1u08 .value, + _data.mData1u16 .value, + _data.mData1s16 .value, + _data.mData1u32 .value, + _data.mData1s32 .value, + _data.mData1bool .value, + _data.mData1f32 .value, + _data.mDatatype2 .value, + _data.mData2u08 .value, + _data.mData2u16 .value, + _data.mData2s16 .value, + _data.mData2u32 .value, + _data.mData2s32 .value, + _data.mData2bool .value, + _data.mData2f32 .value, + }; +} + +bool MTDEvent::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mEvent )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDatatype1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u08 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1s16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1u32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1s32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1bool )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData1f32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDatatype2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u08 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2s16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2u32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2s32 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2bool )) goto lError; + if ( !GetValue(vByteArray, index, _data.mData2f32 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDEvent::data + * \details The ID_TDEvent data model + * \return Data + */ +MTDEvent::Data MTDEvent::data() const { + Data data; + data.mEvent = _data.mEvent .value; + data.mDatatype1 = _data.mDatatype1 .value; + data.mData1u08 = _data.mData1u08 .value; + data.mData1u16 = _data.mData1u16 .value; + data.mData1s16 = _data.mData1s16 .value; + data.mData1u32 = _data.mData1u32 .value; + data.mData1s32 = _data.mData1s32 .value; + data.mData1bool = _data.mData1bool .value; + data.mData1f32 = _data.mData1f32 .value; + data.mDatatype2 = _data.mDatatype2 .value; + data.mData2u08 = _data.mData2u08 .value; + data.mData2u16 = _data.mData2u16 .value; + data.mData2s16 = _data.mData2s16 .value; + data.mData2u32 = _data.mData2u32 .value; + data.mData2s32 = _data.mData2s32 .value; + data.mData2bool = _data.mData2bool .value; + data.mData2f32 = _data.mData2f32 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDEvent.h =================================================================== diff -u --- sources/model/model_autogen/MTDEvent.h (revision 0) +++ sources/model/model_autogen/MTDEvent.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,103 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDEvent class + * \details The The ID_TDEvent data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1700| 0x040 | 1 Hz | N | TD | All | ID_TDEvent data | + * + * | Payload || + * | || + * | #1 :(U32 ) | \ref Data::mevent | + * | #2 :(U32 ) | \ref Data::mdataType1 | + * | #3 :(union) | \ref Data::mdata1U08union | + * | #4 :(U32 ) | \ref Data::mdataType2 | + * | #5 :(union) | \ref Data::mdata2U08union | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDEvent | + * + */ +class MTDEvent : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mEvent ; + Types::U32 mDatatype1; + Types::U08 mData1u08 ; + Types::U16 mData1u16 ; + Types::S16 mData1s16 ; + Types::U32 mData1u32 ; + Types::S32 mData1s32 ; + Types::U32 mData1bool; + Types::F32 mData1f32 ; + Types::U32 mDatatype2; + Types::U08 mData2u08 ; + Types::U16 mData2u16 ; + Types::S16 mData2s16 ; + Types::U32 mData2u32 ; + Types::S32 mData2s32 ; + Types::U32 mData2bool; + Types::F32 mData2f32 ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Event") ; } + + struct Data { + quint32 mEvent = 0; + quint32 mDatatype1 = 0; + quint8 mData1u08 = 0; + quint16 mData1u16 = 0; + qint16 mData1s16 = 0; + quint32 mData1u32 = 0; + qint32 mData1s32 = 0; + quint32 mData1bool = 0; + float mData1f32 = 0; + quint32 mDatatype2 = 0; + quint8 mData2u08 = 0; + quint16 mData2u16 = 0; + qint16 mData2s16 = 0; + quint32 mData2u32 = 0; + qint32 mData2s32 = 0; + quint32 mData2bool = 0; + float mData2f32 = 0; + }; + + MTDEvent() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDEvent::Data TDEventData; \ No newline at end of file Index: sources/model/model_autogen/MTDOPModeData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDOPModeData.cpp (revision 0) +++ sources/model/model_autogen/MTDOPModeData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MTDOPModeData.h" + +using namespace Model; + +QVariantList MTDOPModeData::parameters() const { + return { + _data.mOpmode .value, + _data.mSubmode .value, + }; +} + +bool MTDOPModeData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mOpmode )) goto lError; + if ( !GetValue(vByteArray, index, _data.mSubmode )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDOPModeData::data + * \details The ID_TDOPModeData data model + * \return Data + */ +MTDOPModeData::Data MTDOPModeData::data() const { + Data data; + data.mOpmode = _data.mOpmode .value; + data.mSubmode = _data.mSubmode .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDOPModeData.h =================================================================== diff -u --- sources/model/model_autogen/MTDOPModeData.h (revision 0) +++ sources/model/model_autogen/MTDOPModeData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDOPModeData class + * \details The The ID_TDOPModeData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1200| 0x100 | 1 Hz | N | TD | All | ID_TDOPModeData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mopMode | + * | #2:(U32) | \ref Data::msubMode | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDOPModeData | + * + */ +class MTDOPModeData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mOpmode ; + Types::U32 mSubmode; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("OPMode"); } + + struct Data { + quint32 mOpmode = 0; + quint32 mSubmode = 0; + }; + + MTDOPModeData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDOPModeData::Data TDOPModeData; \ No newline at end of file Index: sources/model/model_autogen/MTDPressureData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDPressureData.cpp (revision 0) +++ sources/model/model_autogen/MTDPressureData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,65 @@ + +#include "MTDPressureData.h" + +using namespace Model; + +QVariantList MTDPressureData::parameters() const { + return { + _data.mH2pressure .value, + _data.mH14pressure .value, + _data.mPreslimitstate .value, + _data.mH2minlimit .value, + _data.mH2maxlimit .value, + _data.mH14minlimit .value, + _data.mH14maxlimit .value, + _data.mH2longfilterpres .value, + _data.mH14longfilterpres .value, + _data.mTmppressure .value, + _data.mTmpminlimit .value, + _data.mTmpmaxlimit .value, + }; +} + +bool MTDPressureData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mH2pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH14pressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mPreslimitstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH2minlimit )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH2maxlimit )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH14minlimit )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH14maxlimit )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH2longfilterpres )) goto lError; + if ( !GetValue(vByteArray, index, _data.mH14longfilterpres )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTmppressure )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTmpminlimit )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTmpmaxlimit )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDPressureData::data + * \details The ID_TDPressureData data model + * \return Data + */ +MTDPressureData::Data MTDPressureData::data() const { + Data data; + data.mH2pressure = _data.mH2pressure .value; + data.mH14pressure = _data.mH14pressure .value; + data.mPreslimitstate = _data.mPreslimitstate .value; + data.mH2minlimit = _data.mH2minlimit .value; + data.mH2maxlimit = _data.mH2maxlimit .value; + data.mH14minlimit = _data.mH14minlimit .value; + data.mH14maxlimit = _data.mH14maxlimit .value; + data.mH2longfilterpres = _data.mH2longfilterpres .value; + data.mH14longfilterpres = _data.mH14longfilterpres .value; + data.mTmppressure = _data.mTmppressure .value; + data.mTmpminlimit = _data.mTmpminlimit .value; + data.mTmpmaxlimit = _data.mTmpmaxlimit .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDPressureData.h =================================================================== diff -u --- sources/model/model_autogen/MTDPressureData.h (revision 0) +++ sources/model/model_autogen/MTDPressureData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,100 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDPressureData class + * \details The The ID_TDPressureData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2400| 0x100 | 1 Hz | N | TD | All | ID_TDPressureData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::mh2Pressure | + * | #2 :(F32) | \ref Data::mh14Pressure | + * | #3 :(U32) | \ref Data::mpresLimitState | + * | #4 :(S32) | \ref Data::mh2MinLimit | + * | #5 :(S32) | \ref Data::mh2MaxLimit | + * | #6 :(S32) | \ref Data::mh14MinLimit | + * | #7 :(S32) | \ref Data::mh14MaxLimit | + * | #8 :(F32) | \ref Data::mh2LongFilterPres | + * | #9 :(F32) | \ref Data::mh14LongFilterPres | + * | #10:(F32) | \ref Data::mtmpPressure | + * | #11:(F32) | \ref Data::mtmpMinLimit | + * | #12:(F32) | \ref Data::mtmpMaxLimit | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDPressureData | + * + */ +class MTDPressureData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mH2pressure ; + Types::F32 mH14pressure ; + Types::U32 mPreslimitstate ; + Types::S32 mH2minlimit ; + Types::S32 mH2maxlimit ; + Types::S32 mH14minlimit ; + Types::S32 mH14maxlimit ; + Types::F32 mH2longfilterpres ; + Types::F32 mH14longfilterpres; + Types::F32 mTmppressure ; + Types::F32 mTmpminlimit ; + Types::F32 mTmpmaxlimit ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Pressure"); } + + struct Data { + float mH2pressure = 0; + float mH14pressure = 0; + quint32 mPreslimitstate = 0; + qint32 mH2minlimit = 0; + qint32 mH2maxlimit = 0; + qint32 mH14minlimit = 0; + qint32 mH14maxlimit = 0; + float mH2longfilterpres = 0; + float mH14longfilterpres = 0; + float mTmppressure = 0; + float mTmpminlimit = 0; + float mTmpmaxlimit = 0; + }; + + MTDPressureData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDPressureData::Data TDPressureData; \ No newline at end of file Index: sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.cpp (revision 0) +++ sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MTDRespInitiateTreatmentWorkflow.h" + +using namespace Model; + +QVariantList MTDRespInitiateTreatmentWorkflow::parameters() const { + return { + _data.mAccepted .value, + _data.mRejectionreason .value, + }; +} + +bool MTDRespInitiateTreatmentWorkflow::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( !GetValue(vByteArray, index, _data.mRejectionreason )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDRespInitiateTreatmentWorkflow::data + * \details The ID_TDRespInitiateTreatmentWorkflow data model + * \return Data + */ +MTDRespInitiateTreatmentWorkflow::Data MTDRespInitiateTreatmentWorkflow::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mRejectionreason = _data.mRejectionreason .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.h =================================================================== diff -u --- sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.h (revision 0) +++ sources/model/model_autogen/MTDRespInitiateTreatmentWorkflow.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDRespInitiateTreatmentWorkflow class + * \details The The ID_TDRespInitiateTreatmentWorkflow data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4600| 0x040 | 1 Hz | Y | TD | All | ID_TDRespInitiateTreatmentWorkflow data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::maccepted | + * | #2:(U32) | \ref Data::mrejectionReason | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDRespInitiateTreatmentWorkflow | + * + */ +class MTDRespInitiateTreatmentWorkflow : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted ; + Types::U32 mRejectionreason; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("RespInitiateTreatmentWorkflow"); } + + struct Data { + quint32 mAccepted = 0; + quint32 mRejectionreason = 0; + }; + + MTDRespInitiateTreatmentWorkflow() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDRespInitiateTreatmentWorkflow::Data TDRespInitiateTreatmentWorkflowData; \ No newline at end of file Index: sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.cpp (revision 0) +++ sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,92 @@ + +#include "MTDRespTreatmentParamsTOValidate.h" + +using namespace Model; + +QVariantList MTDRespTreatmentParamsTOValidate::parameters() const { + return { + _data.mAccepted .value, + _data.mReason1 .value, + _data.mReason2 .value, + _data.mReason3 .value, + _data.mReason4 .value, + _data.mReason5 .value, + _data.mReason6 .value, + _data.mReason7 .value, + _data.mReason8 .value, + _data.mReason9 .value, + _data.mReason10 .value, + _data.mReason11 .value, + _data.mReason12 .value, + _data.mReason13 .value, + _data.mReason14 .value, + _data.mReason15 .value, + _data.mReason16 .value, + _data.mReason17 .value, + _data.mReason18 .value, + _data.mReason19 .value, + _data.mReason20 .value, + }; +} + +bool MTDRespTreatmentParamsTOValidate::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason1 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason2 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason3 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason4 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason5 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason6 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason7 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason8 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason9 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason10 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason11 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason12 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason13 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason14 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason15 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason16 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason17 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason18 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason19 )) goto lError; + if ( !GetValue(vByteArray, index, _data.mReason20 )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDRespTreatmentParamsTOValidate::data + * \details The ID_TDRespTreatmentParamsTOValidate data model + * \return Data + */ +MTDRespTreatmentParamsTOValidate::Data MTDRespTreatmentParamsTOValidate::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mReason1 = _data.mReason1 .value; + data.mReason2 = _data.mReason2 .value; + data.mReason3 = _data.mReason3 .value; + data.mReason4 = _data.mReason4 .value; + data.mReason5 = _data.mReason5 .value; + data.mReason6 = _data.mReason6 .value; + data.mReason7 = _data.mReason7 .value; + data.mReason8 = _data.mReason8 .value; + data.mReason9 = _data.mReason9 .value; + data.mReason10 = _data.mReason10 .value; + data.mReason11 = _data.mReason11 .value; + data.mReason12 = _data.mReason12 .value; + data.mReason13 = _data.mReason13 .value; + data.mReason14 = _data.mReason14 .value; + data.mReason15 = _data.mReason15 .value; + data.mReason16 = _data.mReason16 .value; + data.mReason17 = _data.mReason17 .value; + data.mReason18 = _data.mReason18 .value; + data.mReason19 = _data.mReason19 .value; + data.mReason20 = _data.mReason20 .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.h =================================================================== diff -u --- sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.h (revision 0) +++ sources/model/model_autogen/MTDRespTreatmentParamsTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,127 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDRespTreatmentParamsTOValidate class + * \details The The ID_TDRespTreatmentParamsTOValidate data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4000| 0x040 | 1 Hz | Y | TD | All | ID_TDRespTreatmentParamsTOValidate data | + * + * | Payload || + * | || + * | #1 :(U32) | \ref Data::maccepted | + * | #2 :(U32) | \ref Data::mreason1 | + * | #3 :(U32) | \ref Data::mreason2 | + * | #4 :(U32) | \ref Data::mreason3 | + * | #5 :(U32) | \ref Data::mreason4 | + * | #6 :(U32) | \ref Data::mreason5 | + * | #7 :(U32) | \ref Data::mreason6 | + * | #8 :(U32) | \ref Data::mreason7 | + * | #9 :(U32) | \ref Data::mreason8 | + * | #10:(U32) | \ref Data::mreason9 | + * | #11:(U32) | \ref Data::mreason10 | + * | #12:(U32) | \ref Data::mreason11 | + * | #13:(U32) | \ref Data::mreason12 | + * | #14:(U32) | \ref Data::mreason13 | + * | #15:(U32) | \ref Data::mreason14 | + * | #16:(U32) | \ref Data::mreason15 | + * | #17:(U32) | \ref Data::mreason16 | + * | #18:(U32) | \ref Data::mreason17 | + * | #19:(U32) | \ref Data::mreason18 | + * | #20:(U32) | \ref Data::mreason19 | + * | #21:(U32) | \ref Data::mreason20 | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDRespTreatmentParamsTOValidate | + * + */ +class MTDRespTreatmentParamsTOValidate : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted; + Types::U32 mReason1 ; + Types::U32 mReason2 ; + Types::U32 mReason3 ; + Types::U32 mReason4 ; + Types::U32 mReason5 ; + Types::U32 mReason6 ; + Types::U32 mReason7 ; + Types::U32 mReason8 ; + Types::U32 mReason9 ; + Types::U32 mReason10; + Types::U32 mReason11; + Types::U32 mReason12; + Types::U32 mReason13; + Types::U32 mReason14; + Types::U32 mReason15; + Types::U32 mReason16; + Types::U32 mReason17; + Types::U32 mReason18; + Types::U32 mReason19; + Types::U32 mReason20; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("RespTreatmentParamsTOValidate"); } + + struct Data { + quint32 mAccepted = 0; + quint32 mReason1 = 0; + quint32 mReason2 = 0; + quint32 mReason3 = 0; + quint32 mReason4 = 0; + quint32 mReason5 = 0; + quint32 mReason6 = 0; + quint32 mReason7 = 0; + quint32 mReason8 = 0; + quint32 mReason9 = 0; + quint32 mReason10 = 0; + quint32 mReason11 = 0; + quint32 mReason12 = 0; + quint32 mReason13 = 0; + quint32 mReason14 = 0; + quint32 mReason15 = 0; + quint32 mReason16 = 0; + quint32 mReason17 = 0; + quint32 mReason18 = 0; + quint32 mReason19 = 0; + quint32 mReason20 = 0; + }; + + MTDRespTreatmentParamsTOValidate() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDRespTreatmentParamsTOValidate::Data TDRespTreatmentParamsTOValidateData; \ No newline at end of file Index: sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.cpp (revision 0) +++ sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#include "MTDRespUltrafiltrationVolumeTOValidate.h" + +using namespace Model; + +QVariantList MTDRespUltrafiltrationVolumeTOValidate::parameters() const { + return { + _data.mAccepted .value, + _data.mRejreason .value, + _data.mUfvolumeml .value, + }; +} + +bool MTDRespUltrafiltrationVolumeTOValidate::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( !GetValue(vByteArray, index, _data.mRejreason )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUfvolumeml )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDRespUltrafiltrationVolumeTOValidate::data + * \details The ID_TDRespUltrafiltrationVolumeTOValidate data model + * \return Data + */ +MTDRespUltrafiltrationVolumeTOValidate::Data MTDRespUltrafiltrationVolumeTOValidate::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mRejreason = _data.mRejreason .value; + data.mUfvolumeml = _data.mUfvolumeml .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.h =================================================================== diff -u --- sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.h (revision 0) +++ sources/model/model_autogen/MTDRespUltrafiltrationVolumeTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,73 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDRespUltrafiltrationVolumeTOValidate class + * \details The The ID_TDRespUltrafiltrationVolumeTOValidate data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4200| 0x040 | 1 Hz | Y | TD | All | ID_TDRespUltrafiltrationVolumeTOValidate data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::maccepted | + * | #2:(U32) | \ref Data::mrejReason | + * | #3:(F32) | \ref Data::mufVolumeMl | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDRespUltrafiltrationVolumeTOValidate | + * + */ +class MTDRespUltrafiltrationVolumeTOValidate : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted ; + Types::U32 mRejreason ; + Types::F32 mUfvolumeml; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("RespUltrafiltrationVolumeTOValidate"); } + + struct Data { + quint32 mAccepted = 0; + quint32 mRejreason = 0; + float mUfvolumeml = 0; + }; + + MTDRespUltrafiltrationVolumeTOValidate() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDRespUltrafiltrationVolumeTOValidate::Data TDRespUltrafiltrationVolumeTOValidateData; \ No newline at end of file Index: sources/model/model_autogen/MTDSalineBolusData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDSalineBolusData.cpp (revision 0) +++ sources/model/model_autogen/MTDSalineBolusData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#include "MTDSalineBolusData.h" + +using namespace Model; + +QVariantList MTDSalineBolusData::parameters() const { + return { + _data.mTgtsalinevolumeml .value, + _data.mCumsalinevolumeml .value, + _data.mBolsalinevolumeml .value, + _data.mSalinebolusstate .value, + }; +} + +bool MTDSalineBolusData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mTgtsalinevolumeml )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCumsalinevolumeml )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBolsalinevolumeml )) goto lError; + if ( !GetValue(vByteArray, index, _data.mSalinebolusstate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDSalineBolusData::data + * \details The ID_TDSalineBolusData data model + * \return Data + */ +MTDSalineBolusData::Data MTDSalineBolusData::data() const { + Data data; + data.mTgtsalinevolumeml = _data.mTgtsalinevolumeml .value; + data.mCumsalinevolumeml = _data.mCumsalinevolumeml .value; + data.mBolsalinevolumeml = _data.mBolsalinevolumeml .value; + data.mSalinebolusstate = _data.mSalinebolusstate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDSalineBolusData.h =================================================================== diff -u --- sources/model/model_autogen/MTDSalineBolusData.h (revision 0) +++ sources/model/model_autogen/MTDSalineBolusData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,76 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDSalineBolusData class + * \details The The ID_TDSalineBolusData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3D00| 0x100 | 1 Hz | Y | TD | All | ID_TDSalineBolusData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mtgtSalineVolumeMl | + * | #2:(F32) | \ref Data::mcumSalineVolumeMl | + * | #3:(F32) | \ref Data::mbolSalineVolumeMl | + * | #4:(U32) | \ref Data::msalineBolusState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDSalineBolusData | + * + */ +class MTDSalineBolusData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mTgtsalinevolumeml; + Types::F32 mCumsalinevolumeml; + Types::F32 mBolsalinevolumeml; + Types::U32 mSalinebolusstate ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("SalineBolus"); } + + struct Data { + quint32 mTgtsalinevolumeml = 0; + float mCumsalinevolumeml = 0; + float mBolsalinevolumeml = 0; + quint32 mSalinebolusstate = 0; + }; + + MTDSalineBolusData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDSalineBolusData::Data TDSalineBolusData; \ No newline at end of file Index: sources/model/model_autogen/MTDSwitchesData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDSwitchesData.cpp (revision 0) +++ sources/model/model_autogen/MTDSwitchesData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,32 @@ + +#include "MTDSwitchesData.h" + +using namespace Model; + +QVariantList MTDSwitchesData::parameters() const { + return { + _data.mH9door .value, + }; +} + +bool MTDSwitchesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mH9door )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDSwitchesData::data + * \details The ID_TDSwitchesData data model + * \return Data + */ +MTDSwitchesData::Data MTDSwitchesData::data() const { + Data data; + data.mH9door = _data.mH9door .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDSwitchesData.h =================================================================== diff -u --- sources/model/model_autogen/MTDSwitchesData.h (revision 0) +++ sources/model/model_autogen/MTDSwitchesData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,67 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDSwitchesData class + * \details The The ID_TDSwitchesData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2100| 0x100 | 1 Hz | N | TD | All | ID_TDSwitchesData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mh9Door | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDSwitchesData | + * + */ +class MTDSwitchesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mH9door; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Switches"); } + + struct Data { + quint32 mH9door = 0; + }; + + MTDSwitchesData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDSwitchesData::Data TDSwitchesData; \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentParamRanges.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentParamRanges.cpp (revision 0) +++ sources/model/model_autogen/MTDTreatmentParamRanges.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,47 @@ + +#include "MTDTreatmentParamRanges.h" + +using namespace Model; + +QVariantList MTDTreatmentParamRanges::parameters() const { + return { + _data.mMintreatmenttime .value, + _data.mMaxtreatmenttime .value, + _data.mMinufvolume .value, + _data.mMaxufvolume .value, + _data.mMindialrate .value, + _data.mMaxdialrate .value, + }; +} + +bool MTDTreatmentParamRanges::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mMintreatmenttime )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMaxtreatmenttime )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMinufvolume )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMaxufvolume )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMindialrate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMaxdialrate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDTreatmentParamRanges::data + * \details The ID_TDTreatmentParamRanges data model + * \return Data + */ +MTDTreatmentParamRanges::Data MTDTreatmentParamRanges::data() const { + Data data; + data.mMintreatmenttime = _data.mMintreatmenttime .value; + data.mMaxtreatmenttime = _data.mMaxtreatmenttime .value; + data.mMinufvolume = _data.mMinufvolume .value; + data.mMaxufvolume = _data.mMaxufvolume .value; + data.mMindialrate = _data.mMindialrate .value; + data.mMaxdialrate = _data.mMaxdialrate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentParamRanges.h =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentParamRanges.h (revision 0) +++ sources/model/model_autogen/MTDTreatmentParamRanges.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,82 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDTreatmentParamRanges class + * \details The The ID_TDTreatmentParamRanges data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4300| 0x040 | 1 Hz | Y | TD | All | ID_TDTreatmentParamRanges data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mminTreatmentTime | + * | #2:(U32) | \ref Data::mmaxTreatmentTime | + * | #3:(F32) | \ref Data::mminUFVolume | + * | #4:(F32) | \ref Data::mmaxUFVolume | + * | #5:(U32) | \ref Data::mminDialRate | + * | #6:(U32) | \ref Data::mmaxDialRate | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDTreatmentParamRanges | + * + */ +class MTDTreatmentParamRanges : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mMintreatmenttime; + Types::U32 mMaxtreatmenttime; + Types::F32 mMinufvolume ; + Types::F32 mMaxufvolume ; + Types::U32 mMindialrate ; + Types::U32 mMaxdialrate ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("TreatmentParamRanges"); } + + struct Data { + quint32 mMintreatmenttime = 0; + quint32 mMaxtreatmenttime = 0; + float mMinufvolume = 0; + float mMaxufvolume = 0; + quint32 mMindialrate = 0; + quint32 mMaxdialrate = 0; + }; + + MTDTreatmentParamRanges() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDTreatmentParamRanges::Data TDTreatmentParamRangesData; \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentSetPoints.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentSetPoints.cpp (revision 0) +++ sources/model/model_autogen/MTDTreatmentSetPoints.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#include "MTDTreatmentSetPoints.h" + +using namespace Model; + +QVariantList MTDTreatmentSetPoints::parameters() const { + return { + _data.mBloodflow .value, + _data.mDialflow .value, + _data.mDialtemp .value, + }; +} + +bool MTDTreatmentSetPoints::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mBloodflow )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDialflow )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDialtemp )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDTreatmentSetPoints::data + * \details The ID_TDTreatmentSetPoints data model + * \return Data + */ +MTDTreatmentSetPoints::Data MTDTreatmentSetPoints::data() const { + Data data; + data.mBloodflow = _data.mBloodflow .value; + data.mDialflow = _data.mDialflow .value; + data.mDialtemp = _data.mDialtemp .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentSetPoints.h =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentSetPoints.h (revision 0) +++ sources/model/model_autogen/MTDTreatmentSetPoints.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,73 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDTreatmentSetPoints class + * \details The The ID_TDTreatmentSetPoints data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4F00| 0x100 | 1 Hz | Y | TD | All | ID_TDTreatmentSetPoints data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mbloodFlow | + * | #2:(U32) | \ref Data::mdialFlow | + * | #3:(F32) | \ref Data::mdialTemp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDTreatmentSetPoints | + * + */ +class MTDTreatmentSetPoints : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mBloodflow; + Types::U32 mDialflow ; + Types::F32 mDialtemp ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("TreatmentSetPoints"); } + + struct Data { + quint32 mBloodflow = 0; + quint32 mDialflow = 0; + float mDialtemp = 0; + }; + + MTDTreatmentSetPoints() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDTreatmentSetPoints::Data TDTreatmentSetPointsData; \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentStateData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentStateData.cpp (revision 0) +++ sources/model/model_autogen/MTDTreatmentStateData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,59 @@ + +#include "MTDTreatmentStateData.h" + +using namespace Model; + +QVariantList MTDTreatmentStateData::parameters() const { + return { + _data.mTreatmentsubmode .value, + _data.mBldprimestate .value, + _data.mDialysisstate .value, + _data.mIsoufstate .value, + _data.mTxstopstate .value, + _data.mRinsebackstate .value, + _data.mTxrecircstate .value, + _data.mTxendstate .value, + _data.mTxsalbolusstate .value, + _data.mTxhepstate .value, + }; +} + +bool MTDTreatmentStateData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mTreatmentsubmode )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBldprimestate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mDialysisstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mIsoufstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTxstopstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mRinsebackstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTxrecircstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTxendstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTxsalbolusstate )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTxhepstate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDTreatmentStateData::data + * \details The ID_TDTreatmentStateData data model + * \return Data + */ +MTDTreatmentStateData::Data MTDTreatmentStateData::data() const { + Data data; + data.mTreatmentsubmode = _data.mTreatmentsubmode .value; + data.mBldprimestate = _data.mBldprimestate .value; + data.mDialysisstate = _data.mDialysisstate .value; + data.mIsoufstate = _data.mIsoufstate .value; + data.mTxstopstate = _data.mTxstopstate .value; + data.mRinsebackstate = _data.mRinsebackstate .value; + data.mTxrecircstate = _data.mTxrecircstate .value; + data.mTxendstate = _data.mTxendstate .value; + data.mTxsalbolusstate = _data.mTxsalbolusstate .value; + data.mTxhepstate = _data.mTxhepstate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentStateData.h =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentStateData.h (revision 0) +++ sources/model/model_autogen/MTDTreatmentStateData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,94 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDTreatmentStateData class + * \details The The ID_TDTreatmentStateData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3C00| 0x100 | 1 Hz | Y | TD | All | ID_TDTreatmentStateData data | + * + * | Payload || + * | || + * | #1 :(U32) | \ref Data::mtreatmentSubMode | + * | #2 :(U32) | \ref Data::mbldPrimeState | + * | #3 :(U32) | \ref Data::mdialysisState | + * | #4 :(U32) | \ref Data::misoUFState | + * | #5 :(U32) | \ref Data::mtxStopState | + * | #6 :(U32) | \ref Data::mrinsebackState | + * | #7 :(U32) | \ref Data::mtxRecircState | + * | #8 :(U32) | \ref Data::mtxEndState | + * | #9 :(U32) | \ref Data::mtxSalBolusState | + * | #10:(U32) | \ref Data::mtxHepState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDTreatmentStateData | + * + */ +class MTDTreatmentStateData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mTreatmentsubmode; + Types::U32 mBldprimestate ; + Types::U32 mDialysisstate ; + Types::U32 mIsoufstate ; + Types::U32 mTxstopstate ; + Types::U32 mRinsebackstate ; + Types::U32 mTxrecircstate ; + Types::U32 mTxendstate ; + Types::U32 mTxsalbolusstate ; + Types::U32 mTxhepstate ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("TreatmentState"); } + + struct Data { + quint32 mTreatmentsubmode = 0; + quint32 mBldprimestate = 0; + quint32 mDialysisstate = 0; + quint32 mIsoufstate = 0; + quint32 mTxstopstate = 0; + quint32 mRinsebackstate = 0; + quint32 mTxrecircstate = 0; + quint32 mTxendstate = 0; + quint32 mTxsalbolusstate = 0; + quint32 mTxhepstate = 0; + }; + + MTDTreatmentStateData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDTreatmentStateData::Data TDTreatmentStateData; \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentTimeData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentTimeData.cpp (revision 0) +++ sources/model/model_autogen/MTDTreatmentTimeData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#include "MTDTreatmentTimeData.h" + +using namespace Model; + +QVariantList MTDTreatmentTimeData::parameters() const { + return { + _data.mTreatmenttimeprescribedinsec .value, + _data.mTreatmenttimeelapsedinsec .value, + _data.mTreatmenttimeremaininginsec .value, + }; +} + +bool MTDTreatmentTimeData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mTreatmenttimeprescribedinsec )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTreatmenttimeelapsedinsec )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTreatmenttimeremaininginsec )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDTreatmentTimeData::data + * \details The ID_TDTreatmentTimeData data model + * \return Data + */ +MTDTreatmentTimeData::Data MTDTreatmentTimeData::data() const { + Data data; + data.mTreatmenttimeprescribedinsec = _data.mTreatmenttimeprescribedinsec .value; + data.mTreatmenttimeelapsedinsec = _data.mTreatmenttimeelapsedinsec .value; + data.mTreatmenttimeremaininginsec = _data.mTreatmenttimeremaininginsec .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDTreatmentTimeData.h =================================================================== diff -u --- sources/model/model_autogen/MTDTreatmentTimeData.h (revision 0) +++ sources/model/model_autogen/MTDTreatmentTimeData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,73 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDTreatmentTimeData class + * \details The The ID_TDTreatmentTimeData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3B00| 0x100 | 1 Hz | Y | TD | All | ID_TDTreatmentTimeData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mtreatmentTimePrescribedinSec | + * | #2:(U32) | \ref Data::mtreatmentTimeElapsedinSec | + * | #3:(U32) | \ref Data::mtreatmentTimeRemaininginSec | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDTreatmentTimeData | + * + */ +class MTDTreatmentTimeData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mTreatmenttimeprescribedinsec; + Types::U32 mTreatmenttimeelapsedinsec ; + Types::U32 mTreatmenttimeremaininginsec ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("TreatmentTime"); } + + struct Data { + quint32 mTreatmenttimeprescribedinsec = 0; + quint32 mTreatmenttimeelapsedinsec = 0; + quint32 mTreatmenttimeremaininginsec = 0; + }; + + MTDTreatmentTimeData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDTreatmentTimeData::Data TDTreatmentTimeData; \ No newline at end of file Index: sources/model/model_autogen/MTDUFPauseResumeResponse.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDUFPauseResumeResponse.cpp (revision 0) +++ sources/model/model_autogen/MTDUFPauseResumeResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#include "MTDUFPauseResumeResponse.h" + +using namespace Model; + +QVariantList MTDUFPauseResumeResponse::parameters() const { + return { + _data.mAccepted .value, + _data.mRejectionreason .value, + }; +} + +bool MTDUFPauseResumeResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( !GetValue(vByteArray, index, _data.mRejectionreason )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDUFPauseResumeResponse::data + * \details The ID_TDUFPauseResumeResponse data model + * \return Data + */ +MTDUFPauseResumeResponse::Data MTDUFPauseResumeResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mRejectionreason = _data.mRejectionreason .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDUFPauseResumeResponse.h =================================================================== diff -u --- sources/model/model_autogen/MTDUFPauseResumeResponse.h (revision 0) +++ sources/model/model_autogen/MTDUFPauseResumeResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,70 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDUFPauseResumeResponse class + * \details The The ID_TDUFPauseResumeResponse data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4800| 0x040 | 1 Hz | Y | TD | All | ID_TDUFPauseResumeResponse data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::maccepted | + * | #2:(U32) | \ref Data::mrejectionReason | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDUFPauseResumeResponse | + * + */ +class MTDUFPauseResumeResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted ; + Types::U32 mRejectionreason; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("UFPauseResumeResponse"); } + + struct Data { + quint32 mAccepted = 0; + quint32 mRejectionreason = 0; + }; + + MTDUFPauseResumeResponse() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDUFPauseResumeResponse::Data TDUFPauseResumeResponseData; \ No newline at end of file Index: sources/model/model_autogen/MTDUltrafiltrationData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDUltrafiltrationData.cpp (revision 0) +++ sources/model/model_autogen/MTDUltrafiltrationData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#include "MTDUltrafiltrationData.h" + +using namespace Model; + +QVariantList MTDUltrafiltrationData::parameters() const { + return { + _data.mSetufvolumel .value, + _data.mTgtufratelhr .value, + _data.mUfvolumedeliveredl .value, + _data.mUfstate .value, + }; +} + +bool MTDUltrafiltrationData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mSetufvolumel )) goto lError; + if ( !GetValue(vByteArray, index, _data.mTgtufratelhr )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUfvolumedeliveredl )) goto lError; + if ( !GetValue(vByteArray, index, _data.mUfstate )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDUltrafiltrationData::data + * \details The ID_TDUltrafiltrationData data model + * \return Data + */ +MTDUltrafiltrationData::Data MTDUltrafiltrationData::data() const { + Data data; + data.mSetufvolumel = _data.mSetufvolumel .value; + data.mTgtufratelhr = _data.mTgtufratelhr .value; + data.mUfvolumedeliveredl = _data.mUfvolumedeliveredl .value; + data.mUfstate = _data.mUfstate .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDUltrafiltrationData.h =================================================================== diff -u --- sources/model/model_autogen/MTDUltrafiltrationData.h (revision 0) +++ sources/model/model_autogen/MTDUltrafiltrationData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,76 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDUltrafiltrationData class + * \details The The ID_TDUltrafiltrationData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3E00| 0x100 | 1 Hz | Y | TD | All | ID_TDUltrafiltrationData data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::msetUFVolumeL | + * | #2:(F32) | \ref Data::mtgtUFRateLHr | + * | #3:(F32) | \ref Data::mufVolumeDeliveredL | + * | #4:(U32) | \ref Data::mufState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDUltrafiltrationData | + * + */ +class MTDUltrafiltrationData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mSetufvolumel ; + Types::F32 mTgtufratelhr ; + Types::F32 mUfvolumedeliveredl; + Types::U32 mUfstate ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Ultrafiltration"); } + + struct Data { + float mSetufvolumel = 0; + float mTgtufratelhr = 0; + float mUfvolumedeliveredl = 0; + quint32 mUfstate = 0; + }; + + MTDUltrafiltrationData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDUltrafiltrationData::Data TDUltrafiltrationData; \ No newline at end of file Index: sources/model/model_autogen/MTDValvesData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDValvesData.cpp (revision 0) +++ sources/model/model_autogen/MTDValvesData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,44 @@ + +#include "MTDValvesData.h" + +using namespace Model; + +QVariantList MTDValvesData::parameters() const { + return { + _data.mValveid .value, + _data.mState .value, + _data.mCurrentposid .value, + _data.mCurrentpos .value, + _data.mCmdpos .value, + }; +} + +bool MTDValvesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mValveid )) goto lError; + if ( !GetValue(vByteArray, index, _data.mState )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCurrentposid )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCurrentpos )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCmdpos )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDValvesData::data + * \details The ID_TDValvesData data model + * \return Data + */ +MTDValvesData::Data MTDValvesData::data() const { + Data data; + data.mValveid = _data.mValveid .value; + data.mState = _data.mState .value; + data.mCurrentposid = _data.mCurrentposid .value; + data.mCurrentpos = _data.mCurrentpos .value; + data.mCmdpos = _data.mCmdpos .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDValvesData.h =================================================================== diff -u --- sources/model/model_autogen/MTDValvesData.h (revision 0) +++ sources/model/model_autogen/MTDValvesData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,79 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDValvesData class + * \details The The ID_TDValvesData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2B00| 0x100 | 1 Hz | N | TD | All | ID_TDValvesData data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mvalveID | + * | #2:(U32) | \ref Data::mstate | + * | #3:(U32) | \ref Data::mcurrentPosID | + * | #4:(S16) | \ref Data::mcurrentPos | + * | #5:(S16) | \ref Data::mcmdPos | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDValvesData | + * + */ +class MTDValvesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mValveid ; + Types::U32 mState ; + Types::U32 mCurrentposid; + Types::S16 mCurrentpos ; + Types::S16 mCmdpos ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Valves"); } + + struct Data { + quint32 mValveid = 0; + quint32 mState = 0; + quint32 mCurrentposid = 0; + qint16 mCurrentpos = 0; + qint16 mCmdpos = 0; + }; + + MTDValvesData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDValvesData::Data TDValvesData; \ No newline at end of file Index: sources/model/model_autogen/MTDVersionResponse.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDVersionResponse.cpp (revision 0) +++ sources/model/model_autogen/MTDVersionResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,56 @@ + +#include "MTDVersionResponse.h" + +using namespace Model; + +QVariantList MTDVersionResponse::parameters() const { + return { + _data.mMajor .value, + _data.mMinor .value, + _data.mMicro .value, + _data.mBuild .value, + _data.mFpgaid .value, + _data.mFpgamajor .value, + _data.mFpgaminor .value, + _data.mFpgalab .value, + _data.mCompatibilityrev .value, + }; +} + +bool MTDVersionResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mMajor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMinor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mMicro )) goto lError; + if ( !GetValue(vByteArray, index, _data.mBuild )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgaid )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgamajor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgaminor )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgalab )) goto lError; + if ( !GetValue(vByteArray, index, _data.mCompatibilityrev )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDVersionResponse::data + * \details The ID_TDVersionResponse data model + * \return Data + */ +MTDVersionResponse::Data MTDVersionResponse::data() const { + Data data; + data.mMajor = _data.mMajor .value; + data.mMinor = _data.mMinor .value; + data.mMicro = _data.mMicro .value; + data.mBuild = _data.mBuild .value; + data.mFpgaid = _data.mFpgaid .value; + data.mFpgamajor = _data.mFpgamajor .value; + data.mFpgaminor = _data.mFpgaminor .value; + data.mFpgalab = _data.mFpgalab .value; + data.mCompatibilityrev = _data.mCompatibilityrev .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDVersionResponse.h =================================================================== diff -u --- sources/model/model_autogen/MTDVersionResponse.h (revision 0) +++ sources/model/model_autogen/MTDVersionResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,91 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDVersionResponse class + * \details The The ID_TDVersionResponse data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0E00| 0x100 | 1 Hz | Y | TD | All | ID_TDVersionResponse data | + * + * | Payload || + * | || + * | #1:(U08) | \ref Data::mmajor | + * | #2:(U08) | \ref Data::mminor | + * | #3:(U08) | \ref Data::mmicro | + * | #4:(U16) | \ref Data::mbuild | + * | #5:(U08) | \ref Data::mfpgaId | + * | #6:(U08) | \ref Data::mfpgaMajor | + * | #7:(U08) | \ref Data::mfpgaMinor | + * | #8:(U08) | \ref Data::mfpgaLab | + * | #9:(U32) | \ref Data::mcompatibilityRev | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDVersionResponse | + * + */ +class MTDVersionResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U08 mMajor ; + Types::U08 mMinor ; + Types::U08 mMicro ; + Types::U16 mBuild ; + Types::U08 mFpgaid ; + Types::U08 mFpgamajor ; + Types::U08 mFpgaminor ; + Types::U08 mFpgalab ; + Types::U32 mCompatibilityrev; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("VersionResponse"); } + + struct Data { + quint8 mMajor = 0; + quint8 mMinor = 0; + quint8 mMicro = 0; + quint16 mBuild = 0; + quint8 mFpgaid = 0; + quint8 mFpgamajor = 0; + quint8 mFpgaminor = 0; + quint8 mFpgalab = 0; + quint32 mCompatibilityrev = 0; + }; + + MTDVersionResponse() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDVersionResponse::Data TDVersionResponseData; \ No newline at end of file Index: sources/model/model_autogen/MTDVoltagesData.cpp =================================================================== diff -u --- sources/model/model_autogen/MTDVoltagesData.cpp (revision 0) +++ sources/model/model_autogen/MTDVoltagesData.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,62 @@ + +#include "MTDVoltagesData.h" + +using namespace Model; + +QVariantList MTDVoltagesData::parameters() const { + return { + _data.mAdc1_2vproc .value, + _data.mAdc3_3v .value, + _data.mAdc5vlogic .value, + _data.mAdc5vsensors .value, + _data.mAdc24v .value, + _data.mAdc24vregen .value, + _data.mAdcfpgaadcref .value, + _data.mAdcpbaref .value, + _data.mFpgavcc .value, + _data.mFpgavaux .value, + _data.mFpgavpvn .value, + }; +} + +bool MTDVoltagesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + + int index = 0; // message data start position + if ( !GetValue(vByteArray, index, _data.mAdc1_2vproc )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAdc3_3v )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAdc5vlogic )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAdc5vsensors )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAdc24v )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAdc24vregen )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAdcfpgaadcref )) goto lError; + if ( !GetValue(vByteArray, index, _data.mAdcpbaref )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgavcc )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgavaux )) goto lError; + if ( !GetValue(vByteArray, index, _data.mFpgavpvn )) goto lError; + return true; + + +lError: + if(vIndex) { *vIndex = index; } + return false; +} +/*! + * \brief MTDVoltagesData::data + * \details The ID_TDVoltagesData data model + * \return Data + */ +MTDVoltagesData::Data MTDVoltagesData::data() const { + Data data; + data.mAdc1_2vproc = _data.mAdc1_2vproc .value; + data.mAdc3_3v = _data.mAdc3_3v .value; + data.mAdc5vlogic = _data.mAdc5vlogic .value; + data.mAdc5vsensors = _data.mAdc5vsensors .value; + data.mAdc24v = _data.mAdc24v .value; + data.mAdc24vregen = _data.mAdc24vregen .value; + data.mAdcfpgaadcref = _data.mAdcfpgaadcref .value; + data.mAdcpbaref = _data.mAdcpbaref .value; + data.mFpgavcc = _data.mFpgavcc .value; + data.mFpgavaux = _data.mFpgavaux .value; + data.mFpgavpvn = _data.mFpgavpvn .value; + return data; +} \ No newline at end of file Index: sources/model/model_autogen/MTDVoltagesData.h =================================================================== diff -u --- sources/model/model_autogen/MTDVoltagesData.h (revision 0) +++ sources/model/model_autogen/MTDVoltagesData.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,97 @@ + +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDVoltagesData class + * \details The The ID_TDVoltagesData data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1D00| 0x100 | 1 Hz | N | TD | All | ID_TDVoltagesData data | + * + * | Payload || + * | || + * | #1 :(F32) | \ref Data::madc1_2VProc | + * | #2 :(F32) | \ref Data::madc3_3V | + * | #3 :(F32) | \ref Data::madc5VLogic | + * | #4 :(F32) | \ref Data::madc5VSensors | + * | #5 :(F32) | \ref Data::madc24V | + * | #6 :(F32) | \ref Data::madc24VRegen | + * | #7 :(F32) | \ref Data::madcFpgaAdcRef | + * | #8 :(F32) | \ref Data::madcPbaRef | + * | #9 :(F32) | \ref Data::mfpgaVcc | + * | #10:(F32) | \ref Data::mfpgaVaux | + * | #11:(F32) | \ref Data::mfpgaVpvn | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | eDatum | + * | unitText | TD | + * | infoText | MTDVoltagesData | + * + */ +class MTDVoltagesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mAdc1_2vproc ; + Types::F32 mAdc3_3v ; + Types::F32 mAdc5vlogic ; + Types::F32 mAdc5vsensors ; + Types::F32 mAdc24v ; + Types::F32 mAdc24vregen ; + Types::F32 mAdcfpgaadcref; + Types::F32 mAdcpbaref ; + Types::F32 mFpgavcc ; + Types::F32 mFpgavaux ; + Types::F32 mFpgavpvn ; + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Voltages"); } + + struct Data { + float mAdc1_2vproc = 0; + float mAdc3_3v = 0; + float mAdc5vlogic = 0; + float mAdc5vsensors = 0; + float mAdc24v = 0; + float mAdc24vregen = 0; + float mAdcfpgaadcref = 0; + float mAdcpbaref = 0; + float mFpgavcc = 0; + float mFpgavaux = 0; + float mFpgavpvn = 0; + }; + + MTDVoltagesData() {} + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + + +}; +} + +typedef Model::MTDVoltagesData::Data TDVoltagesData; \ No newline at end of file Index: sources/model/model_autogen/MUIActiveAlarmsListRequest.h =================================================================== diff -u --- sources/model/model_autogen/MUIActiveAlarmsListRequest.h (revision 0) +++ sources/model/model_autogen/MUIActiveAlarmsListRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MUIActiveAlarmsListRequest class + * \details The The ID_UIActiveAlarmsListRequest data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x0900| 0x041 | 1 Hz | N | UI | All | ID_UIActiveAlarmsListRequest data | + * + * | Payload || + * | || + */ +class MUIActiveAlarmsListRequest : public MModel { +public: + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("ActiveAlarmsListRequest"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MUIActiveAlarmsListRequest UIActiveAlarmsListRequestData; \ No newline at end of file Index: sources/model/model_autogen/MUICheckIN.h =================================================================== diff -u --- sources/model/model_autogen/MUICheckIN.h (revision 0) +++ sources/model/model_autogen/MUICheckIN.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MUICheckIN class + * \details The The ID_UICheckIN data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1000| 0x041 | 1 Hz | N | UI | All | ID_UICheckIN data | + * + * | Payload || + * | || + */ +class MUICheckIN : public MModel { +public: + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("CheckIN"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MUICheckIN UICheckINData; \ No newline at end of file Index: sources/model/model_autogen/MUIInitiateTreatmentWorkflow.h =================================================================== diff -u --- sources/model/model_autogen/MUIInitiateTreatmentWorkflow.h (revision 0) +++ sources/model/model_autogen/MUIInitiateTreatmentWorkflow.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,48 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MUIInitiateTreatmentWorkflow class + * \details The The ID_UIInitiateTreatmentWorkflow data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4500| 0x041 | 1 Hz | N | UI | All | ID_UIInitiateTreatmentWorkflow data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mCmd | + */ +class MUIInitiateTreatmentWorkflow : public MModel { +public: + + quint32 mCmd; + + // disabled coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({ + mCmd, + }); + } + // disabled coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("InitiateTreatmentWorkflow"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MUIInitiateTreatmentWorkflow UIInitiateTreatmentWorkflowData; \ No newline at end of file Index: sources/model/model_autogen/MUITreatmentParamsConfirmed.h =================================================================== diff -u --- sources/model/model_autogen/MUITreatmentParamsConfirmed.h (revision 0) +++ sources/model/model_autogen/MUITreatmentParamsConfirmed.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,48 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MUITreatmentParamsConfirmed class + * \details The The ID_UITreatmentParamsConfirmed data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4400| 0x041 | 1 Hz | N | UI | All | ID_UITreatmentParamsConfirmed data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mConfirmed | + */ +class MUITreatmentParamsConfirmed : public MModel { +public: + + quint32 mConfirmed; + + // disabled coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({ + mConfirmed, + }); + } + // disabled coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("TreatmentParamsConfirmed"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MUITreatmentParamsConfirmed UITreatmentParamsConfirmedData; \ No newline at end of file Index: sources/model/model_autogen/MUITreatmentParamsTOValidate.h =================================================================== diff -u --- sources/model/model_autogen/MUITreatmentParamsTOValidate.h (revision 0) +++ sources/model/model_autogen/MUITreatmentParamsTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,102 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MUITreatmentParamsTOValidate class + * \details The The ID_UITreatmentParamsTOValidate data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3F00| 0x041 | 1 Hz | N | UI | All | ID_UITreatmentParamsTOValidate data | + * + * | Payload || + * | || + * | #1 :(U32) | \ref Data::mBloodflowrate_ml_min | + * | #2 :(U32) | \ref Data::mDialysateflowrate_ml_min | + * | #3 :(U32) | \ref Data::mTreatmentduration_min | + * | #4 :(U32) | \ref Data::mSalinebolusvolume_ml | + * | #5 :(U32) | \ref Data::mHepstoptime_min | + * | #6 :(U32) | \ref Data::mHeptype | + * | #7 :(U32) | \ref Data::mAcidconcentrate | + * | #8 :(U32) | \ref Data::mBicarbconcentrate | + * | #9 :(U32) | \ref Data::mDialyzertype | + * | #10:(U32) | \ref Data::mBpinterval_min | + * | #11:(U32) | \ref Data::mRinsebackflowrate_ml_min | + * | #12:(U32) | \ref Data::mRinsebackvolume_ml | + * | #13:(S32) | \ref Data::mArterialpressurelimitwindow_mmhg | + * | #14:(S32) | \ref Data::mVenouspressurelimitwindow_mmhg | + * | #15:(S32) | \ref Data::mVenouspressurelimitasymmetric_mmhg | + * | #16:(S32) | \ref Data::mTmplimitwindow_mmhg | + * | #17:(F32) | \ref Data::mDialysatetemperature_degc | + * | #18:(F32) | \ref Data::mHepdispenserate_ml_hr | + * | #19:(F32) | \ref Data::mHepbolusvolume_ml | + */ +class MUITreatmentParamsTOValidate : public MModel { +public: + + quint32 mBloodflowrate_ml_min ; + quint32 mDialysateflowrate_ml_min ; + quint32 mTreatmentduration_min ; + quint32 mSalinebolusvolume_ml ; + quint32 mHepstoptime_min ; + quint32 mHeptype ; + quint32 mAcidconcentrate ; + quint32 mBicarbconcentrate ; + quint32 mDialyzertype ; + quint32 mBpinterval_min ; + quint32 mRinsebackflowrate_ml_min ; + quint32 mRinsebackvolume_ml ; + qint32 mArterialpressurelimitwindow_mmhg ; + qint32 mVenouspressurelimitwindow_mmhg ; + qint32 mVenouspressurelimitasymmetric_mmhg; + qint32 mTmplimitwindow_mmhg ; + float mDialysatetemperature_degc ; + float mHepdispenserate_ml_hr ; + float mHepbolusvolume_ml ; + + // disabled coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({ + mBloodflowrate_ml_min , + mDialysateflowrate_ml_min , + mTreatmentduration_min , + mSalinebolusvolume_ml , + mHepstoptime_min , + mHeptype , + mAcidconcentrate , + mBicarbconcentrate , + mDialyzertype , + mBpinterval_min , + mRinsebackflowrate_ml_min , + mRinsebackvolume_ml , + mArterialpressurelimitwindow_mmhg , + mVenouspressurelimitwindow_mmhg , + mVenouspressurelimitasymmetric_mmhg, + mTmplimitwindow_mmhg , + mDialysatetemperature_degc , + mHepdispenserate_ml_hr , + mHepbolusvolume_ml , + }); + } + // disabled coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("TreatmentParamsTOValidate"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MUITreatmentParamsTOValidate UITreatmentParamsTOValidateData; \ No newline at end of file Index: sources/model/model_autogen/MUIUFPauseResumeRequest.h =================================================================== diff -u --- sources/model/model_autogen/MUIUFPauseResumeRequest.h (revision 0) +++ sources/model/model_autogen/MUIUFPauseResumeRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,48 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MUIUFPauseResumeRequest class + * \details The The ID_UIUFPauseResumeRequest data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4700| 0x041 | 1 Hz | N | UI | All | ID_UIUFPauseResumeRequest data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mPayload | + */ +class MUIUFPauseResumeRequest : public MModel { +public: + + quint32 mPayload; + + // disabled coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({ + mPayload, + }); + } + // disabled coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("UFPauseResumeRequest"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MUIUFPauseResumeRequest UIUFPauseResumeRequestData; \ No newline at end of file Index: sources/model/model_autogen/MUIUltrafiltrationVolumeTOValidate.h =================================================================== diff -u --- sources/model/model_autogen/MUIUltrafiltrationVolumeTOValidate.h (revision 0) +++ sources/model/model_autogen/MUIUltrafiltrationVolumeTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,48 @@ + +#pragma once + + +// FW +#include "Compatible.h" + +// Project +#include "MAdjustRequestsBase.h" + +using namespace Gui; + +namespace Model { + +/*! + * \brief The MUIUltrafiltrationVolumeTOValidate class + * \details The The ID_UIUltrafiltrationVolumeTOValidate data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4100| 0x041 | 1 Hz | N | UI | All | ID_UIUltrafiltrationVolumeTOValidate data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::mUfvolumeml | + */ +class MUIUltrafiltrationVolumeTOValidate : public MModel { +public: + + float mUfvolumeml; + + // disabled coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({ + mUfvolumeml, + }); + } + // disabled coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString(QString("UltrafiltrationVolumeTOValidate"), vParameters); + } + + static Can::Can_Id canid () { return Can::eChlid_UI_TD; } +}; +} + +typedef Model::MUIUltrafiltrationVolumeTOValidate UIUltrafiltrationVolumeTOValidateData; \ No newline at end of file Index: sources/storage/Settings.h =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/storage/Settings.h (.../Settings.h) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ sources/storage/Settings.h (.../Settings.h) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -25,6 +25,8 @@ #include "StorageGlobals.h" #include "Threads.h" +#include "MSettings.h" + // forward declarations class tst_initializations; Index: sources/view/VAdjustmentResponseBase.h =================================================================== diff -u -r8c92a0d2fc6cb6475f502153dcbb0dacc7660021 -re2b8925fd32e359b3c440acd61e921f0be825a65 --- sources/view/VAdjustmentResponseBase.h (.../VAdjustmentResponseBase.h) (revision 8c92a0d2fc6cb6475f502153dcbb0dacc7660021) +++ sources/view/VAdjustmentResponseBase.h (.../VAdjustmentResponseBase.h) (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -19,7 +19,6 @@ // Project #include "main.h" // Doxygen : do not remove -//#include "VView.h" #include "VViewAutoGen.h" #include "GuiGlobalsAutoGen.h" #include "MSettings.h" Index: sources/view/VViewAutoGen.h =================================================================== diff -u --- sources/view/VViewAutoGen.h (revision 0) +++ sources/view/VViewAutoGen.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,192 @@ + +#pragma once + +/*! + * \page MessageView Denali Message View usage instruction in QML + * \details This comment explains how to use a Denali Message populated data in Denali UI Application + \verbatim + 1 - Look at the message structure in the "message list.xlsx" + + 2 - View Implementation : + Implement a view like VDGPressures by copy/paste the closest model .h/.cpp file + and adding it to project and modify to fit the new model. + + 3 - Register View : + - Add the required lines like the other models in the VView.h file. + - Also add the #include in the GuiGlobals.cpp + + 4 - Usage in UI : + Import : import VDGPressures 0.1; + Instantiate : VDGPressures { id: vDGPressures } + Access : value: vDGPressures.drainInletPSI + \endverbatim + */ +//--------------------------------------------------------------------------------// +//--------------------------------------------------------------------------------// +// The child declaration in header +#define VIEW_DEC_CLASS(vCLASS) \ +private: \ + /*! \brief Connection Initializer + \details All the class signal/slot connections are defined here. + */\ + void initConnections(); \ +public: \ + /*! \brief Class Constructor + \details Only calls initConnections to initialize the signal/slot connection(s). + \param parent - The QObject parent pointer which is passed as nullptr and is not set. + */\ + explicit vCLASS(QObject *parent = nullptr); \ +//--------------------------------------------------------------------------------// +#define VIEW_DEC_CLASS_EX(vCLASS, vPARENT) \ +private: \ + /*! \brief Connection Initializer + \details All the class signal/slot connections are defined here. + */\ + void initConnections(); \ +public: \ + /*! \brief Class Constructor + \details Only calls initConnections to initialize the signal/slot connection(s). + \param parent - The QObject parent pointer which is passed as nullptr and is not set. + */\ + explicit vCLASS(vPARENT *parent = nullptr); \ +//--------------------------------------------------------------------------------// +#define VIEW_DEC_SLOT(vDATATYPE) \ +private Q_SLOTS: \ + /*! \brief Model data received message handler. + \details When signal received this method is called to update the view properties. + \param vData - Model data + */\ + void onActionReceive (const vDATATYPE &vData); \ +//--------------------------------------------------------------------------------// +#define VIEW_DEC(vCLASS, vDATATYPE) \ + VIEW_DEC_CLASS(vCLASS) \ + VIEW_DEC_SLOT(vDATATYPE) \ +//--------------------------------------------------------------------------------// + +//--------------------------------------------------------------------------------// +// The child definition in cpp +#define VIEW_DEF_CLASS(vCLASS) \ +using namespace View; \ +vCLASS::vCLASS(QObject *parent) : QObject(parent) { \ + initConnections(); \ +} \ +//--------------------------------------------------------------------------------// +#define VIEW_DEF_CLASS_EX(vCLASS, vPARENT) \ +using namespace View; \ +vCLASS::vCLASS(vPARENT *parent) : vPARENT(parent) { \ + initConnections(); \ +} \ +//--------------------------------------------------------------------------------// +#define VIEW_DEF_CONNECTION(vCLASS, vDATATYPE) \ +void vCLASS::initConnections() { \ + ACTION_RECEIVE_BRIDGE_CONNECTION( \ + Gui::_GuiController, vDATATYPE); \ +} \ +//--------------------------------------------------------------------------------// +#define VIEW_DEF(vCLASS, vDATATYPE) \ + VIEW_DEF_CLASS(vCLASS) \ + VIEW_DEF_CONNECTION(vCLASS, vDATATYPE) \ +//--------------------------------------------------------------------------------// + +//--------------------------------------------------------------------------------// +// The Adjustment child DEFinition in cpp and DEClaration in .h +#define VIEW_DEC_CLASS_ADJUSTMENT(vCLASS, vDATATYPE)\ + VIEW_DEC_CLASS(vCLASS) \ + VIEW_DEC_SLOT(vDATATYPE) \ +//--------------------------------------------------------------------------------// +#define VIEW_DEF_CLASS_ADJUSTMENT(vCLASS) \ + using namespace View; \ + vCLASS::vCLASS(QObject *parent) : VAdjustmentResponseBase(parent) { \ + initConnections(); \ + } \ +//--------------------------------------------------------------------------------// + +//--------------------------------------------------------------------------------// +//--------- Please add the view type to the lists below to register them ---------// +//--------------------------------------------------------------------------------// +//--------------------------------------------------------------------------------// +/* START OF AUTO GENERATED CODE */ +#define REGISTER_VIEW_TYPES \ + using namespace View; \ + REGISTER_TYPE( VDevice ) \ + REGISTER_TYPE( VLocalization ) \ + REGISTER_TYPE( VConfirm ) \ + REGISTER_TYPE( VSettings ) \ + REGISTER_TYPE( VDateTime ) \ + REGISTER_TYPE( VAlarmStatusHelper ) \ + REGISTER_TYPE( VAlarmActiveList ) \ + REGISTER_TYPE( VAlarmStatus ) \ + REGISTER_TYPE( VAlarmTriggered ) \ + REGISTER_TYPE( VAlarmCleared ) \ + REGISTER_TYPE( VAlarmConditionCleared ) \ + REGISTER_TYPE( VTDAlarmInformation ) \ + REGISTER_TYPE( VDDAlarmInfo ) \ + REGISTER_TYPE( VUIActiveAlarmsListRequest ) \ + REGISTER_TYPE( VTDActiveAlarmsListRequestResponse ) \ + REGISTER_TYPE( VFWVersionsRequest ) \ + REGISTER_TYPE( VTDVersionResponse ) \ + REGISTER_TYPE( VDDVersionResponse ) \ + REGISTER_TYPE( VUICheckIN ) \ + REGISTER_TYPE( VTDBloodPump ) \ + REGISTER_TYPE( VTDOPMode ) \ + REGISTER_TYPE( VDDOPMode ) \ + REGISTER_TYPE( VTDEvent ) \ + REGISTER_TYPE( VDDEvent ) \ + REGISTER_TYPE( VDDValvesStates ) \ + REGISTER_TYPE( VDDPressures ) \ + REGISTER_TYPE( VTDVoltages ) \ + REGISTER_TYPE( VTDBubbles ) \ + REGISTER_TYPE( VDDConductivity ) \ + REGISTER_TYPE( VTDAirPump ) \ + REGISTER_TYPE( VTDSwitches ) \ + REGISTER_TYPE( VPowerOffWarning ) \ + REGISTER_TYPE( VOffButtonPressRequest ) \ + REGISTER_TYPE( VTDPressure ) \ + REGISTER_TYPE( VDDConcentratePump ) \ + REGISTER_TYPE( VDDTemperature ) \ + REGISTER_TYPE( VDialysatePumps ) \ + REGISTER_TYPE( VDDHeaters ) \ + REGISTER_TYPE( VDDLevel ) \ + REGISTER_TYPE( VTDAirTrap ) \ + REGISTER_TYPE( VTDValves ) \ + REGISTER_TYPE( VROEvent ) \ + REGISTER_TYPE( VROAlarmInfo ) \ + REGISTER_TYPE( VDDBalChamber ) \ + REGISTER_TYPE( VDDGenDialysateMode ) \ + REGISTER_TYPE( VDDGenDialysateRequest ) \ + REGISTER_TYPE( VROValvesStates ) \ + REGISTER_TYPE( VROPump ) \ + REGISTER_TYPE( VROOPMode ) \ + REGISTER_TYPE( VROPressures ) \ + REGISTER_TYPE( VROLevel ) \ + REGISTER_TYPE( VROFlow ) \ + REGISTER_TYPE( VROConductivity ) \ + REGISTER_TYPE( VDDROStartStopCmdRequest ) \ + REGISTER_TYPE( VROTemperature ) \ + REGISTER_TYPE( VROHeater ) \ + REGISTER_TYPE( VTDTreatmentTime ) \ + REGISTER_TYPE( VTDTreatmentState ) \ + REGISTER_TYPE( VTDSalineBolus ) \ + REGISTER_TYPE( VTDUltrafiltration ) \ + REGISTER_TYPE( VUITreatmentParamsTOValidate ) \ + REGISTER_TYPE( VTDRespTreatmentParamsTOValidate ) \ + REGISTER_TYPE( VUIUltrafiltrationVolumeTOValidate ) \ + REGISTER_TYPE( VTDRespUltrafiltrationVolumeTOValidate ) \ + REGISTER_TYPE( VTDTreatmentParamRanges ) \ + REGISTER_TYPE( VUITreatmentParamsConfirmed ) \ + REGISTER_TYPE( VUIInitiateTreatmentWorkflow ) \ + REGISTER_TYPE( VTDRespInitiateTreatmentWorkflow ) \ + REGISTER_TYPE( VUIUFPauseResumeRequest ) \ + REGISTER_TYPE( VTDUFPauseResumeResponse ) \ + REGISTER_TYPE( VROGenWaterMode ) \ + REGISTER_TYPE( VDDPreGenDialysateState ) \ + REGISTER_TYPE( VDDPostGenDialysateState ) \ + REGISTER_TYPE( VDDPreGenDialysateRequest ) \ + REGISTER_TYPE( VROPreGenWaterMode ) \ + REGISTER_TYPE( VTDEjector ) \ + REGISTER_TYPE( VTDTreatmentSetPoints ) \ + REGISTER_TYPE( VDDPistonPumpControl ) \ + REGISTER_TYPE( VAckMessageThatRequiresAck ) \ + /* END OF AUTO GENERATED CODE */ + +//--------------------------------------------------------------------------------// Index: sources/view/valarmstatushelper.cpp =================================================================== diff -u --- sources/view/valarmstatushelper.cpp (revision 0) +++ sources/view/valarmstatushelper.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ +#include "valarmstatushelper.h" +#include "GuiController.h" + + +using namespace View; +VAlarmStatusHelper::VAlarmStatusHelper(QObject* parent) : VAlarmStatus(parent){ + initConnections(); +} +//// +void VAlarmStatusHelper::initConnections() { + ACTION_RECEIVE_BRIDGE_CONNECTION(Gui::_GuiController, AlarmStatusData); +} + + + +void VAlarmStatusHelper::onActionReceive(const AlarmStatusData &vData) +{ + qDebug() << "TopC" << vData.mAlarmtop; + alarmMessage ( QString("Message:%1").arg(vData.mAlarmtop) ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} Index: sources/view/valarmstatushelper.h =================================================================== diff -u --- sources/view/valarmstatushelper.h (revision 0) +++ sources/view/valarmstatushelper.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,16 @@ +#pragma once + +#include "VAlarmStatus.h" +namespace View { +class VAlarmStatusHelper : public VAlarmStatus +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + PROPERTY( QString, alarmMessage , "") + VIEW_DEC(VAlarmStatusHelper, AlarmStatusData) +}; +} Index: sources/view/view_autogen/VAckMessageThatRequiresAck.cpp =================================================================== diff -u --- sources/view/view_autogen/VAckMessageThatRequiresAck.cpp (revision 0) +++ sources/view/view_autogen/VAckMessageThatRequiresAck.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,16 @@ + +#include "VAckMessageThatRequiresAck.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VAckMessageThatRequiresAck, AckMessageThatRequiresAckData) + +void VAckMessageThatRequiresAck::onActionReceive(const AckMessageThatRequiresAckData &) +{ + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VAckMessageThatRequiresAck.h =================================================================== diff -u --- sources/view/view_autogen/VAckMessageThatRequiresAck.h (revision 0) +++ sources/view/view_autogen/VAckMessageThatRequiresAck.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,34 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MAckMessageThatRequiresAck.h" + +// namespace +namespace View { + +/*! + * \brief The VAckMessageThatRequiresAck class + * \details The The ID_AckMessageThatRequiresAck view + * + * \sa Model::MAckMessageThatRequiresAck + * + */ +class VAckMessageThatRequiresAck : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + + VIEW_DEC(VAckMessageThatRequiresAck, AckMessageThatRequiresAckData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VAlarmCleared.cpp =================================================================== diff -u --- sources/view/view_autogen/VAlarmCleared.cpp (revision 0) +++ sources/view/view_autogen/VAlarmCleared.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VAlarmCleared.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VAlarmCleared, AlarmClearedData) + +void VAlarmCleared::onActionReceive(const AlarmClearedData &vData) +{ + alarmID ( vData.mAlarmid ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VAlarmCleared.h =================================================================== diff -u --- sources/view/view_autogen/VAlarmCleared.h (revision 0) +++ sources/view/view_autogen/VAlarmCleared.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MAlarmCleared.h" + +// namespace +namespace View { + +/*! + * \brief The VAlarmCleared class + * \details The The ID_AlarmCleared view + * + * \sa Model::MAlarmCleared + * + */ +class VAlarmCleared : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, alarmID, 0 ) + + VIEW_DEC(VAlarmCleared, AlarmClearedData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VAlarmConditionCleared.cpp =================================================================== diff -u --- sources/view/view_autogen/VAlarmConditionCleared.cpp (revision 0) +++ sources/view/view_autogen/VAlarmConditionCleared.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VAlarmConditionCleared.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VAlarmConditionCleared, AlarmConditionClearedData) + +void VAlarmConditionCleared::onActionReceive(const AlarmConditionClearedData &vData) +{ + alarmID ( vData.mAlarmid ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VAlarmConditionCleared.h =================================================================== diff -u --- sources/view/view_autogen/VAlarmConditionCleared.h (revision 0) +++ sources/view/view_autogen/VAlarmConditionCleared.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MAlarmConditionCleared.h" + +// namespace +namespace View { + +/*! + * \brief The VAlarmConditionCleared class + * \details The The ID_AlarmConditionCleared view + * + * \sa Model::MAlarmConditionCleared + * + */ +class VAlarmConditionCleared : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, alarmID, 0 ) + + VIEW_DEC(VAlarmConditionCleared, AlarmConditionClearedData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VAlarmStatus.cpp =================================================================== diff -u --- sources/view/view_autogen/VAlarmStatus.cpp (revision 0) +++ sources/view/view_autogen/VAlarmStatus.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,21 @@ + +#include "VAlarmStatus.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VAlarmStatus, AlarmStatusData) + +void VAlarmStatus::onActionReceive(const AlarmStatusData &vData) +{ + qDebug() << "TopP" << vData.mAlarmtop; + alarmState ( vData.mAlarmstate ); + alarmTop ( vData.mAlarmtop ); + silenceExpiresIn ( vData.mSilenceexpiresin ); + alarmsFlags ( vData.mAlarmsflags ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} Index: sources/view/view_autogen/VAlarmStatus.h =================================================================== diff -u --- sources/view/view_autogen/VAlarmStatus.h (revision 0) +++ sources/view/view_autogen/VAlarmStatus.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MAlarmStatusData.h" + +// namespace +namespace View { + +/*! + * \brief The VAlarmStatus class + * \details The The ID_AlarmStatusData view + * + * \sa Model::MAlarmStatusData + * + */ +class VAlarmStatus : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, alarmState , 0 ) + PROPERTY( quint32, alarmTop , 0 ) + PROPERTY( quint32, silenceExpiresIn, 0 ) + PROPERTY( quint16, alarmsFlags , 0 ) + + VIEW_DEC(VAlarmStatus, AlarmStatusData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VAlarmTriggered.cpp =================================================================== diff -u --- sources/view/view_autogen/VAlarmTriggered.cpp (revision 0) +++ sources/view/view_autogen/VAlarmTriggered.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,24 @@ + +#include "VAlarmTriggered.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VAlarmTriggered, AlarmTriggeredData) + +void VAlarmTriggered::onActionReceive(const AlarmTriggeredData &vData) +{ + alarm ( vData.mAlarm ); + almDataType1 ( vData.mAlmdatatype1 ); + almData1 ( vData.mAlmdata1 ); + almDataType2 ( vData.mAlmdatatype2 ); + almData2 ( vData.mAlmdata2 ); + almPriority ( vData.mAlmpriority ); + almRank ( vData.mAlmrank ); + almClrTopOnly ( vData.mAlmclrtoponly ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VAlarmTriggered.h =================================================================== diff -u --- sources/view/view_autogen/VAlarmTriggered.h (revision 0) +++ sources/view/view_autogen/VAlarmTriggered.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,42 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MAlarmTriggered.h" + +// namespace +namespace View { + +/*! + * \brief The VAlarmTriggered class + * \details The The ID_AlarmTriggered view + * + * \sa Model::MAlarmTriggered + * + */ +class VAlarmTriggered : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, alarm , 0 ) + PROPERTY( quint32, almDataType1 , 0 ) + PROPERTY( quint32, almData1 , 0 ) + PROPERTY( quint32, almDataType2 , 0 ) + PROPERTY( quint32, almData2 , 0 ) + PROPERTY( quint32, almPriority , 0 ) + PROPERTY( quint32, almRank , 0 ) + PROPERTY( quint32, almClrTopOnly, 0 ) + + VIEW_DEC(VAlarmTriggered, AlarmTriggeredData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDAlarmInfo.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDAlarmInfo.cpp (revision 0) +++ sources/view/view_autogen/VDDAlarmInfo.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VDDAlarmInfo.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDAlarmInfo, DDAlarmInfoData) + +void VDDAlarmInfo::onActionReceive(const DDAlarmInfoData &vData) +{ + safetyShutdownStatus ( vData.mSafetyshutdownstatus ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDAlarmInfo.h =================================================================== diff -u --- sources/view/view_autogen/VDDAlarmInfo.h (revision 0) +++ sources/view/view_autogen/VDDAlarmInfo.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDAlarmInfoData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDAlarmInfo class + * \details The The ID_DDAlarmInfoData view + * + * \sa Model::MDDAlarmInfoData + * + */ +class VDDAlarmInfo : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, safetyShutdownStatus, 0 ) + + VIEW_DEC(VDDAlarmInfo, DDAlarmInfoData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDBalChamber.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDBalChamber.cpp (revision 0) +++ sources/view/view_autogen/VDDBalChamber.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,24 @@ + +#include "VDDBalChamber.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDBalChamber, DDBalChamberData) + +void VDDBalChamber::onActionReceive(const DDBalChamberData &vData) +{ + balChamberExecState ( vData.mBalchamberexecstate ); + balChamberSWState ( vData.mBalchamberswstate ); + balChamberSWFreq ( vData.mBalchamberswfreq ); + balChamberSwPeriod ( vData.mBalchamberswperiod ); + isBalChamberFillInProgress ( vData.mIsbalchamberfillinprogress ); + currentBalChamberSwitchingCounter ( vData.mCurrentbalchamberswitchingcounter ); + isPressureStalbilizedDuringFill ( vData.mIspressurestalbilizedduringfill ); + balChamberSWOnlyState ( vData.mBalchamberswonlystate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDBalChamber.h =================================================================== diff -u --- sources/view/view_autogen/VDDBalChamber.h (revision 0) +++ sources/view/view_autogen/VDDBalChamber.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,42 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDBalChamberData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDBalChamber class + * \details The The ID_DDBalChamberData view + * + * \sa Model::MDDBalChamberData + * + */ +class VDDBalChamber : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, balChamberExecState , 0 ) + PROPERTY( quint32, balChamberSWState , 0 ) + PROPERTY( float , balChamberSWFreq , 0 ) + PROPERTY( quint32, balChamberSwPeriod , 0 ) + PROPERTY( quint32, isBalChamberFillInProgress , 0 ) + PROPERTY( quint32, currentBalChamberSwitchingCounter, 0 ) + PROPERTY( quint32, isPressureStalbilizedDuringFill , 0 ) + PROPERTY( quint32, balChamberSWOnlyState , 0 ) + + VIEW_DEC(VDDBalChamber, DDBalChamberData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDConcentratePump.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDConcentratePump.cpp (revision 0) +++ sources/view/view_autogen/VDDConcentratePump.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#include "VDDConcentratePump.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDConcentratePump, DDConcentratePumpData) + +void VDDConcentratePump::onActionReceive(const DDConcentratePumpData &vData) +{ + d11_PumpCurrentSetSpeed ( vData.mD11_pumpcurrentsetspeed ); + d11_PumpMeasuredSpeed ( vData.mD11_pumpmeasuredspeed ); + d10_PumpCurrentSetSpeed ( vData.mD10_pumpcurrentsetspeed ); + d10_PumpMeasuredSpeed ( vData.mD10_pumpmeasuredspeed ); + d11_PumpTargetRevCount ( vData.mD11_pumptargetrevcount ); + d11_PumpMeasuredRevCount ( vData.mD11_pumpmeasuredrevcount ); + d10_PumpTargetRevCount ( vData.mD10_pumptargetrevcount ); + d10_PumpMeasuredRevCount ( vData.mD10_pumpmeasuredrevcount ); + d11_PumpState ( vData.mD11_pumpstate ); + d10_PumpState ( vData.mD10_pumpstate ); + d11_PumpPulseUS ( vData.mD11_pumppulseus ); + d10_PumpPulseUS ( vData.mD10_pumppulseus ); + d11_PumpTargetSpeed ( vData.mD11_pumptargetspeed ); + d10_PumpTargetSpeed ( vData.mD10_pumptargetspeed ); + d11_PumpParked ( vData.mD11_pumpparked ); + d10_PumpParked ( vData.mD10_pumpparked ); + d11_PumpParkFault ( vData.mD11_pumpparkfault ); + d10_PumpParkFault ( vData.mD10_pumpparkfault ); + d76_PumpTargetSpeed ( vData.mD76_pumptargetspeed ); + d76_PumpCurrentSetSpeed ( vData.mD76_pumpcurrentsetspeed ); + d76_PumpMeasuredSpeed ( vData.mD76_pumpmeasuredspeed ); + d76_PumpTargetRevCount ( vData.mD76_pumptargetrevcount ); + d76_PumpMeasuredRevCount ( vData.mD76_pumpmeasuredrevcount ); + d76_PumpState ( vData.mD76_pumpstate ); + d76_PumpPulseUS ( vData.mD76_pumppulseus ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDConcentratePump.h =================================================================== diff -u --- sources/view/view_autogen/VDDConcentratePump.h (revision 0) +++ sources/view/view_autogen/VDDConcentratePump.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,59 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDConcentratePumpData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDConcentratePump class + * \details The The ID_DDConcentratePumpData view + * + * \sa Model::MDDConcentratePumpData + * + */ +class VDDConcentratePump : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float , d11_PumpCurrentSetSpeed , 0 ) + PROPERTY( float , d11_PumpMeasuredSpeed , 0 ) + PROPERTY( float , d10_PumpCurrentSetSpeed , 0 ) + PROPERTY( float , d10_PumpMeasuredSpeed , 0 ) + PROPERTY( quint32, d11_PumpTargetRevCount , 0 ) + PROPERTY( quint32, d11_PumpMeasuredRevCount, 0 ) + PROPERTY( quint32, d10_PumpTargetRevCount , 0 ) + PROPERTY( quint32, d10_PumpMeasuredRevCount, 0 ) + PROPERTY( quint32, d11_PumpState , 0 ) + PROPERTY( quint32, d10_PumpState , 0 ) + PROPERTY( float , d11_PumpPulseUS , 0 ) + PROPERTY( float , d10_PumpPulseUS , 0 ) + PROPERTY( float , d11_PumpTargetSpeed , 0 ) + PROPERTY( float , d10_PumpTargetSpeed , 0 ) + PROPERTY( quint32, d11_PumpParked , 0 ) + PROPERTY( quint32, d10_PumpParked , 0 ) + PROPERTY( quint32, d11_PumpParkFault , 0 ) + PROPERTY( quint32, d10_PumpParkFault , 0 ) + PROPERTY( float , d76_PumpTargetSpeed , 0 ) + PROPERTY( float , d76_PumpCurrentSetSpeed , 0 ) + PROPERTY( float , d76_PumpMeasuredSpeed , 0 ) + PROPERTY( quint32, d76_PumpTargetRevCount , 0 ) + PROPERTY( quint32, d76_PumpMeasuredRevCount, 0 ) + PROPERTY( quint32, d76_PumpState , 0 ) + PROPERTY( float , d76_PumpPulseUS , 0 ) + + VIEW_DEC(VDDConcentratePump, DDConcentratePumpData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDConductivity.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDConductivity.cpp (revision 0) +++ sources/view/view_autogen/VDDConductivity.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,20 @@ + +#include "VDDConductivity.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDConductivity, DDConductivityData) + +void VDDConductivity::onActionReceive(const DDConductivityData &vData) +{ + d17Cond ( vData.mD17cond ); + d27Cond ( vData.mD27cond ); + d29Cond ( vData.mD29cond ); + d43Cond ( vData.mD43cond ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDConductivity.h =================================================================== diff -u --- sources/view/view_autogen/VDDConductivity.h (revision 0) +++ sources/view/view_autogen/VDDConductivity.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDConductivityData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDConductivity class + * \details The The ID_DDConductivityData view + * + * \sa Model::MDDConductivityData + * + */ +class VDDConductivity : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, d17Cond, 0 ) + PROPERTY( float, d27Cond, 0 ) + PROPERTY( float, d29Cond, 0 ) + PROPERTY( float, d43Cond, 0 ) + + VIEW_DEC(VDDConductivity, DDConductivityData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDEvent.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDEvent.cpp (revision 0) +++ sources/view/view_autogen/VDDEvent.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,33 @@ + +#include "VDDEvent.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDEvent, DDEventData) + +void VDDEvent::onActionReceive(const DDEventData &vData) +{ + event ( vData.mEvent ); + dataType1 ( vData.mDatatype1 ); + data1U08 ( vData.mData1u08 ); + data1U16 ( vData.mData1u16 ); + data1S16 ( vData.mData1s16 ); + data1U32 ( vData.mData1u32 ); + data1S32 ( vData.mData1s32 ); + data1BOOL ( vData.mData1bool ); + data1F32 ( vData.mData1f32 ); + dataType2 ( vData.mDatatype2 ); + data2U08 ( vData.mData2u08 ); + data2U16 ( vData.mData2u16 ); + data2S16 ( vData.mData2s16 ); + data2U32 ( vData.mData2u32 ); + data2S32 ( vData.mData2s32 ); + data2BOOL ( vData.mData2bool ); + data2F32 ( vData.mData2f32 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDEvent.h =================================================================== diff -u --- sources/view/view_autogen/VDDEvent.h (revision 0) +++ sources/view/view_autogen/VDDEvent.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,51 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDEvent.h" + +// namespace +namespace View { + +/*! + * \brief The VDDEvent class + * \details The The ID_DDEvent view + * + * \sa Model::MDDEvent + * + */ +class VDDEvent : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, event , 0 ) + PROPERTY( quint32, dataType1, 0 ) + PROPERTY( quint8 , data1U08 , 0 ) + PROPERTY( quint16, data1U16 , 0 ) + PROPERTY( qint16 , data1S16 , 0 ) + PROPERTY( quint32, data1U32 , 0 ) + PROPERTY( qint32 , data1S32 , 0 ) + PROPERTY( quint32, data1BOOL, 0 ) + PROPERTY( float , data1F32 , 0 ) + PROPERTY( quint32, dataType2, 0 ) + PROPERTY( quint8 , data2U08 , 0 ) + PROPERTY( quint16, data2U16 , 0 ) + PROPERTY( qint16 , data2S16 , 0 ) + PROPERTY( quint32, data2U32 , 0 ) + PROPERTY( qint32 , data2S32 , 0 ) + PROPERTY( quint32, data2BOOL, 0 ) + PROPERTY( float , data2F32 , 0 ) + + VIEW_DEC(VDDEvent, DDEventData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDGenDialysateMode.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDGenDialysateMode.cpp (revision 0) +++ sources/view/view_autogen/VDDGenDialysateMode.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ + +#include "VDDGenDialysateMode.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDGenDialysateMode, DDGenDialysateModeData) + +void VDDGenDialysateMode::onActionReceive(const DDGenDialysateModeData &vData) +{ + genDialysateExecState ( vData.mGendialysateexecstate ); + isDialDelInProgress ( vData.mIsdialdelinprogress ); + d6Level ( vData.mD6level ); + d63Level ( vData.mD63level ); + d46Level ( vData.mD46level ); + d9Pressure ( vData.mD9pressure ); + d18Pressure ( vData.mD18pressure ); + d51Pressure ( vData.mD51pressure ); + isDialysateGoodtoDeliver ( vData.mIsdialysategoodtodeliver ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDGenDialysateMode.h =================================================================== diff -u --- sources/view/view_autogen/VDDGenDialysateMode.h (revision 0) +++ sources/view/view_autogen/VDDGenDialysateMode.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,43 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDGenDialysateModeData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDGenDialysateMode class + * \details The The ID_DDGenDialysateModeData view + * + * \sa Model::MDDGenDialysateModeData + * + */ +class VDDGenDialysateMode : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, genDialysateExecState , 0 ) + PROPERTY( quint32, isDialDelInProgress , 0 ) + PROPERTY( quint32, d6Level , 0 ) + PROPERTY( quint32, d63Level , 0 ) + PROPERTY( quint32, d46Level , 0 ) + PROPERTY( float , d9Pressure , 0 ) + PROPERTY( float , d18Pressure , 0 ) + PROPERTY( float , d51Pressure , 0 ) + PROPERTY( quint32, isDialysateGoodtoDeliver, 0 ) + + VIEW_DEC(VDDGenDialysateMode, DDGenDialysateModeData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDGenDialysateRequest.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDGenDialysateRequest.cpp (revision 0) +++ sources/view/view_autogen/VDDGenDialysateRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,23 @@ + +#include "VDDGenDialysateRequest.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDGenDialysateRequest, DDGenDialysateRequestData) + +void VDDGenDialysateRequest::onActionReceive(const DDGenDialysateRequestData &vData) +{ + start ( vData.mStart ); + dialRate ( vData.mDialrate ); + ufRate ( vData.mUfrate ); + dialTemp ( vData.mDialtemp ); + bypassDialyzer ( vData.mBypassdialyzer ); + acidType ( vData.mAcidtype ); + bicarbType ( vData.mBicarbtype ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDGenDialysateRequest.h =================================================================== diff -u --- sources/view/view_autogen/VDDGenDialysateRequest.h (revision 0) +++ sources/view/view_autogen/VDDGenDialysateRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDGenDialysateRequestData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDGenDialysateRequest class + * \details The The ID_DDGenDialysateRequestData view + * + * \sa Model::MDDGenDialysateRequestData + * + */ +class VDDGenDialysateRequest : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, start , 0 ) + PROPERTY( float , dialRate , 0 ) + PROPERTY( float , ufRate , 0 ) + PROPERTY( float , dialTemp , 0 ) + PROPERTY( quint32, bypassDialyzer, 0 ) + PROPERTY( quint32, acidType , 0 ) + PROPERTY( quint32, bicarbType , 0 ) + + VIEW_DEC(VDDGenDialysateRequest, DDGenDialysateRequestData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDHeaters.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDHeaters.cpp (revision 0) +++ sources/view/view_autogen/VDDHeaters.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,33 @@ + +#include "VDDHeaters.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDHeaters, DDHeatersData) + +void VDDHeaters::onActionReceive(const DDHeatersData &vData) +{ + d5_HeaterDC ( vData.mD5_heaterdc ); + d45_HeaterDC ( vData.mD45_heaterdc ); + d5_HeaterTargetTemp ( vData.mD5_heatertargettemp ); + d45_HeaterTargetTemp ( vData.mD45_heatertargettemp ); + d5_HeaterState ( vData.mD5_heaterstate ); + d45_HeaterState ( vData.mD45_heaterstate ); + d5_HeaterControlCounter ( vData.mD5_heatercontrolcounter ); + d45_HeaterControlCounter ( vData.mD45_heatercontrolcounter ); + dbg1 ( vData.mDbg1 ); + dbg2 ( vData.mDbg2 ); + dbg3 ( vData.mDbg3 ); + dbg4 ( vData.mDbg4 ); + dbg5 ( vData.mDbg5 ); + dbg6 ( vData.mDbg6 ); + dbg7 ( vData.mDbg7 ); + dbg8 ( vData.mDbg8 ); + dbg9 ( vData.mDbg9 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDHeaters.h =================================================================== diff -u --- sources/view/view_autogen/VDDHeaters.h (revision 0) +++ sources/view/view_autogen/VDDHeaters.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,51 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDHeatersData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDHeaters class + * \details The The ID_DDHeatersData view + * + * \sa Model::MDDHeatersData + * + */ +class VDDHeaters : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float , d5_HeaterDC , 0 ) + PROPERTY( float , d45_HeaterDC , 0 ) + PROPERTY( float , d5_HeaterTargetTemp , 0 ) + PROPERTY( float , d45_HeaterTargetTemp , 0 ) + PROPERTY( quint32, d5_HeaterState , 0 ) + PROPERTY( quint32, d45_HeaterState , 0 ) + PROPERTY( quint32, d5_HeaterControlCounter , 0 ) + PROPERTY( quint32, d45_HeaterControlCounter, 0 ) + PROPERTY( float , dbg1 , 0 ) + PROPERTY( float , dbg2 , 0 ) + PROPERTY( float , dbg3 , 0 ) + PROPERTY( float , dbg4 , 0 ) + PROPERTY( float , dbg5 , 0 ) + PROPERTY( float , dbg6 , 0 ) + PROPERTY( float , dbg7 , 0 ) + PROPERTY( float , dbg8 , 0 ) + PROPERTY( float , dbg9 , 0 ) + + VIEW_DEC(VDDHeaters, DDHeatersData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDLevel.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDLevel.cpp (revision 0) +++ sources/view/view_autogen/VDDLevel.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VDDLevel.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDLevel, DDLevelData) + +void VDDLevel::onActionReceive(const DDLevelData &vData) +{ + d6Level ( vData.mD6level ); + d63Level ( vData.mD63level ); + d46Level ( vData.mD46level ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDLevel.h =================================================================== diff -u --- sources/view/view_autogen/VDDLevel.h (revision 0) +++ sources/view/view_autogen/VDDLevel.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,37 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDLevelData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDLevel class + * \details The The ID_DDLevelData view + * + * \sa Model::MDDLevelData + * + */ +class VDDLevel : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, d6Level , 0 ) + PROPERTY( quint32, d63Level, 0 ) + PROPERTY( quint32, d46Level, 0 ) + + VIEW_DEC(VDDLevel, DDLevelData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDOPMode.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDOPMode.cpp (revision 0) +++ sources/view/view_autogen/VDDOPMode.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VDDOPMode.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDOPMode, DDOPModeData) + +void VDDOPMode::onActionReceive(const DDOPModeData &vData) +{ + currentMode ( vData.mCurrentmode ); + currentSubMode ( vData.mCurrentsubmode ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDOPMode.h =================================================================== diff -u --- sources/view/view_autogen/VDDOPMode.h (revision 0) +++ sources/view/view_autogen/VDDOPMode.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDOPModeData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDOPMode class + * \details The The ID_DDOPModeData view + * + * \sa Model::MDDOPModeData + * + */ +class VDDOPMode : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, currentMode , 0 ) + PROPERTY( quint32, currentSubMode, 0 ) + + VIEW_DEC(VDDOPMode, DDOPModeData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDPistonPumpControl.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDPistonPumpControl.cpp (revision 0) +++ sources/view/view_autogen/VDDPistonPumpControl.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ + +#include "VDDPistonPumpControl.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDPistonPumpControl, DDPistonPumpControlData) + +void VDDPistonPumpControl::onActionReceive(const DDPistonPumpControlData &vData) +{ + acidPumpControlExecState ( vData.mAcidpumpcontrolexecstate ); + bicarbPumpControlExecState ( vData.mBicarbpumpcontrolexecstate ); + ufPumpControlExecState ( vData.mUfpumpcontrolexecstate ); + acidPistonPumpSwCounter ( vData.mAcidpistonpumpswcounter ); + bicarbPistonPumpSwCounter ( vData.mBicarbpistonpumpswcounter ); + ufPistonPumpSwCounter ( vData.mUfpistonpumpswcounter ); + acidPistonPumpCycleCount ( vData.mAcidpistonpumpcyclecount ); + bicarbPistonPumpCycleCount ( vData.mBicarbpistonpumpcyclecount ); + ufPistonPumpCycleCount ( vData.mUfpistonpumpcyclecount ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDPistonPumpControl.h =================================================================== diff -u --- sources/view/view_autogen/VDDPistonPumpControl.h (revision 0) +++ sources/view/view_autogen/VDDPistonPumpControl.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,43 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDPistonPumpControlData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDPistonPumpControl class + * \details The The ID_DDPistonPumpControlData view + * + * \sa Model::MDDPistonPumpControlData + * + */ +class VDDPistonPumpControl : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, acidPumpControlExecState , 0 ) + PROPERTY( quint32, bicarbPumpControlExecState, 0 ) + PROPERTY( quint32, ufPumpControlExecState , 0 ) + PROPERTY( quint32, acidPistonPumpSwCounter , 0 ) + PROPERTY( quint32, bicarbPistonPumpSwCounter , 0 ) + PROPERTY( quint32, ufPistonPumpSwCounter , 0 ) + PROPERTY( quint32, acidPistonPumpCycleCount , 0 ) + PROPERTY( quint32, bicarbPistonPumpCycleCount, 0 ) + PROPERTY( quint32, ufPistonPumpCycleCount , 0 ) + + VIEW_DEC(VDDPistonPumpControl, DDPistonPumpControlData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDPostGenDialysateState.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDPostGenDialysateState.cpp (revision 0) +++ sources/view/view_autogen/VDDPostGenDialysateState.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VDDPostGenDialysateState.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDPostGenDialysateState, DDPostGenDialysateStateData) + +void VDDPostGenDialysateState::onActionReceive(const DDPostGenDialysateStateData &vData) +{ + postGenDialysateExecState ( vData.mPostgendialysateexecstate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDPostGenDialysateState.h =================================================================== diff -u --- sources/view/view_autogen/VDDPostGenDialysateState.h (revision 0) +++ sources/view/view_autogen/VDDPostGenDialysateState.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDPostGenDialysateStateData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDPostGenDialysateState class + * \details The The ID_DDPostGenDialysateStateData view + * + * \sa Model::MDDPostGenDialysateStateData + * + */ +class VDDPostGenDialysateState : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, postGenDialysateExecState, 0 ) + + VIEW_DEC(VDDPostGenDialysateState, DDPostGenDialysateStateData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDPreGenDialysateRequest.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDPreGenDialysateRequest.cpp (revision 0) +++ sources/view/view_autogen/VDDPreGenDialysateRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,21 @@ + +#include "VDDPreGenDialysateRequest.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDPreGenDialysateRequest, DDPreGenDialysateRequestData) + +void VDDPreGenDialysateRequest::onActionReceive(const DDPreGenDialysateRequestData &vData) +{ + start ( vData.mStart ); + dialRate ( vData.mDialrate ); + dialTemp ( vData.mDialtemp ); + acidType ( vData.mAcidtype ); + bicarbType ( vData.mBicarbtype ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDPreGenDialysateRequest.h =================================================================== diff -u --- sources/view/view_autogen/VDDPreGenDialysateRequest.h (revision 0) +++ sources/view/view_autogen/VDDPreGenDialysateRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,39 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDPreGenDialysateRequestData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDPreGenDialysateRequest class + * \details The The ID_DDPreGenDialysateRequestData view + * + * \sa Model::MDDPreGenDialysateRequestData + * + */ +class VDDPreGenDialysateRequest : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, start , 0 ) + PROPERTY( float , dialRate , 0 ) + PROPERTY( float , dialTemp , 0 ) + PROPERTY( quint32, acidType , 0 ) + PROPERTY( quint32, bicarbType, 0 ) + + VIEW_DEC(VDDPreGenDialysateRequest, DDPreGenDialysateRequestData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDPreGenDialysateState.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDPreGenDialysateState.cpp (revision 0) +++ sources/view/view_autogen/VDDPreGenDialysateState.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VDDPreGenDialysateState.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDPreGenDialysateState, DDPreGenDialysateStateData) + +void VDDPreGenDialysateState::onActionReceive(const DDPreGenDialysateStateData &vData) +{ + preGenDialysateExecState ( vData.mPregendialysateexecstate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDPreGenDialysateState.h =================================================================== diff -u --- sources/view/view_autogen/VDDPreGenDialysateState.h (revision 0) +++ sources/view/view_autogen/VDDPreGenDialysateState.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDPreGenDialysateStateData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDPreGenDialysateState class + * \details The The ID_DDPreGenDialysateStateData view + * + * \sa Model::MDDPreGenDialysateStateData + * + */ +class VDDPreGenDialysateState : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, preGenDialysateExecState, 0 ) + + VIEW_DEC(VDDPreGenDialysateState, DDPreGenDialysateStateData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDPressures.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDPressures.cpp (revision 0) +++ sources/view/view_autogen/VDDPressures.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,30 @@ + +#include "VDDPressures.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDPressures, DDPressuresData) + +void VDDPressures::onActionReceive(const DDPressuresData &vData) +{ + m1Pressure ( vData.mM1pressure ); + m3Pressure ( vData.mM3pressure ); + d9Pressure ( vData.mD9pressure ); + d66Pressure ( vData.mD66pressure ); + d51Pressure ( vData.mD51pressure ); + d18Pressure ( vData.mD18pressure ); + d41Pressure ( vData.mD41pressure ); + m1PresTemp ( vData.mM1prestemp ); + m3PresTemp ( vData.mM3prestemp ); + d9PresTemp ( vData.mD9prestemp ); + d66PresTemp ( vData.mD66prestemp ); + d51PresTemp ( vData.mD51prestemp ); + d18PresTemp ( vData.mD18prestemp ); + d41PresTemp ( vData.mD41prestemp ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDPressures.h =================================================================== diff -u --- sources/view/view_autogen/VDDPressures.h (revision 0) +++ sources/view/view_autogen/VDDPressures.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,48 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDPressuresData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDPressures class + * \details The The ID_DDPressuresData view + * + * \sa Model::MDDPressuresData + * + */ +class VDDPressures : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, m1Pressure , 0 ) + PROPERTY( float, m3Pressure , 0 ) + PROPERTY( float, d9Pressure , 0 ) + PROPERTY( float, d66Pressure, 0 ) + PROPERTY( float, d51Pressure, 0 ) + PROPERTY( float, d18Pressure, 0 ) + PROPERTY( float, d41Pressure, 0 ) + PROPERTY( float, m1PresTemp , 0 ) + PROPERTY( float, m3PresTemp , 0 ) + PROPERTY( float, d9PresTemp , 0 ) + PROPERTY( float, d66PresTemp, 0 ) + PROPERTY( float, d51PresTemp, 0 ) + PROPERTY( float, d18PresTemp, 0 ) + PROPERTY( float, d41PresTemp, 0 ) + + VIEW_DEC(VDDPressures, DDPressuresData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDROStartStopCmdRequest.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDROStartStopCmdRequest.cpp (revision 0) +++ sources/view/view_autogen/VDDROStartStopCmdRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VDDROStartStopCmdRequest.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDROStartStopCmdRequest, DDROStartStopCmdRequestData) + +void VDDROStartStopCmdRequest::onActionReceive(const DDROStartStopCmdRequestData &vData) +{ + cmdID ( vData.mCmdid ); + start ( vData.mStart ); + roRate ( vData.mRorate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDROStartStopCmdRequest.h =================================================================== diff -u --- sources/view/view_autogen/VDDROStartStopCmdRequest.h (revision 0) +++ sources/view/view_autogen/VDDROStartStopCmdRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,37 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDROStartStopCmdRequest.h" + +// namespace +namespace View { + +/*! + * \brief The VDDROStartStopCmdRequest class + * \details The The ID_DDROStartStopCmdRequest view + * + * \sa Model::MDDROStartStopCmdRequest + * + */ +class VDDROStartStopCmdRequest : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, cmdID , 0 ) + PROPERTY( quint32, start , 0 ) + PROPERTY( quint32, roRate, 0 ) + + VIEW_DEC(VDDROStartStopCmdRequest, DDROStartStopCmdRequestData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDTemperature.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDTemperature.cpp (revision 0) +++ sources/view/view_autogen/VDDTemperature.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,31 @@ + +#include "VDDTemperature.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDTemperature, DDTemperatureData) + +void VDDTemperature::onActionReceive(const DDTemperatureData &vData) +{ + //qDebug() << d1Temp << x6Temp << d4Temp << d50Temp << boardTemp << baroTemp << d16CondTemp << + // d28CondTemp << d30CondTemp << d44CondTemp << d75CondTemp; + qDebug() << "A"; + + d1Temp ( vData.mD1temp ); + x6Temp ( vData.mX6temp ); + d4Temp ( vData.mD4temp ); + d50Temp ( vData.mD50temp ); + boardTemp ( vData.mBoardtemp ); + baroTemp ( vData.mBarotemp ); + d16CondTemp ( vData.mD16condtemp ); + d28CondTemp ( vData.mD28condtemp ); + d30CondTemp ( vData.mD30condtemp ); + d44CondTemp ( vData.mD44condtemp ); + d75CondTemp ( vData.mD75condtemp ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} Index: sources/view/view_autogen/VDDTemperature.h =================================================================== diff -u --- sources/view/view_autogen/VDDTemperature.h (revision 0) +++ sources/view/view_autogen/VDDTemperature.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,45 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDTemperatureData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDTemperature class + * \details The The ID_DDTemperatureData view + * + * \sa Model::MDDTemperatureData + * + */ +class VDDTemperature : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, d1Temp , 0 ) + PROPERTY( float, x6Temp , 0 ) + PROPERTY( float, d4Temp , 0 ) + PROPERTY( float, d50Temp , 0 ) + PROPERTY( float, boardTemp , 0 ) + PROPERTY( float, baroTemp , 0 ) + PROPERTY( float, d16CondTemp, 0 ) + PROPERTY( float, d28CondTemp, 0 ) + PROPERTY( float, d30CondTemp, 0 ) + PROPERTY( float, d44CondTemp, 0 ) + PROPERTY( float, d75CondTemp, 0 ) + + VIEW_DEC(VDDTemperature, DDTemperatureData) +}; +} Index: sources/view/view_autogen/VDDValvesStates.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDValvesStates.cpp (revision 0) +++ sources/view/view_autogen/VDDValvesStates.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,47 @@ + +#include "VDDValvesStates.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDValvesStates, DDValvesStatesData) + +void VDDValvesStates::onActionReceive(const DDValvesStatesData &vData) +{ + valvesStatus ( vData.mValvesstatus ); + valvesBCStatus ( vData.mValvesbcstatus ); + valvesUFStatus ( vData.mValvesufstatus ); + valvesSensedState1 ( vData.mValvessensedstate1 ); + valvesSensedState2 ( vData.mValvessensedstate2 ); + valvesSensedState3 ( vData.mValvessensedstate3 ); + valvesSensedState4 ( vData.mValvessensedstate4 ); + valvesSensedState5 ( vData.mValvessensedstate5 ); + valvesSensedState6 ( vData.mValvessensedstate6 ); + valvesSensedState7 ( vData.mValvessensedstate7 ); + valvesSensedState8 ( vData.mValvessensedstate8 ); + valvesSensedState9 ( vData.mValvessensedstate9 ); + valvesSensedState10 ( vData.mValvessensedstate10 ); + valvesSensedState11 ( vData.mValvessensedstate11 ); + valvesSensedState12 ( vData.mValvessensedstate12 ); + valvesSensedState13 ( vData.mValvessensedstate13 ); + valvesSensedState14 ( vData.mValvessensedstate14 ); + valvesSensedState15 ( vData.mValvessensedstate15 ); + valvesSensedState16 ( vData.mValvessensedstate16 ); + valvesSensedState17 ( vData.mValvessensedstate17 ); + valvesSensedState18 ( vData.mValvessensedstate18 ); + valvesSensedState19 ( vData.mValvessensedstate19 ); + valvesSensedState20 ( vData.mValvessensedstate20 ); + valvesSensedState21 ( vData.mValvessensedstate21 ); + valvesSensedState22 ( vData.mValvessensedstate22 ); + valvesSensedState23 ( vData.mValvessensedstate23 ); + valvesSensedState24 ( vData.mValvessensedstate24 ); + valvesSensedState25 ( vData.mValvessensedstate25 ); + valvesSensedState26 ( vData.mValvessensedstate26 ); + valvesSensedState27 ( vData.mValvessensedstate27 ); + valvesSensedState28 ( vData.mValvessensedstate28 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDValvesStates.h =================================================================== diff -u --- sources/view/view_autogen/VDDValvesStates.h (revision 0) +++ sources/view/view_autogen/VDDValvesStates.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,65 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDValvesStatesData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDValvesStates class + * \details The The ID_DDValvesStatesData view + * + * \sa Model::MDDValvesStatesData + * + */ +class VDDValvesStates : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint16, valvesStatus , 0 ) + PROPERTY( quint8 , valvesBCStatus , 0 ) + PROPERTY( quint8 , valvesUFStatus , 0 ) + PROPERTY( quint8 , valvesSensedState1 , 0 ) + PROPERTY( quint8 , valvesSensedState2 , 0 ) + PROPERTY( quint8 , valvesSensedState3 , 0 ) + PROPERTY( quint8 , valvesSensedState4 , 0 ) + PROPERTY( quint8 , valvesSensedState5 , 0 ) + PROPERTY( quint8 , valvesSensedState6 , 0 ) + PROPERTY( quint8 , valvesSensedState7 , 0 ) + PROPERTY( quint8 , valvesSensedState8 , 0 ) + PROPERTY( quint8 , valvesSensedState9 , 0 ) + PROPERTY( quint8 , valvesSensedState10, 0 ) + PROPERTY( quint8 , valvesSensedState11, 0 ) + PROPERTY( quint8 , valvesSensedState12, 0 ) + PROPERTY( quint8 , valvesSensedState13, 0 ) + PROPERTY( quint8 , valvesSensedState14, 0 ) + PROPERTY( quint8 , valvesSensedState15, 0 ) + PROPERTY( quint8 , valvesSensedState16, 0 ) + PROPERTY( quint8 , valvesSensedState17, 0 ) + PROPERTY( quint8 , valvesSensedState18, 0 ) + PROPERTY( quint8 , valvesSensedState19, 0 ) + PROPERTY( quint8 , valvesSensedState20, 0 ) + PROPERTY( quint8 , valvesSensedState21, 0 ) + PROPERTY( quint8 , valvesSensedState22, 0 ) + PROPERTY( quint8 , valvesSensedState23, 0 ) + PROPERTY( quint8 , valvesSensedState24, 0 ) + PROPERTY( quint8 , valvesSensedState25, 0 ) + PROPERTY( quint8 , valvesSensedState26, 0 ) + PROPERTY( quint8 , valvesSensedState27, 0 ) + PROPERTY( quint8 , valvesSensedState28, 0 ) + + VIEW_DEC(VDDValvesStates, DDValvesStatesData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDDVersionResponse.cpp =================================================================== diff -u --- sources/view/view_autogen/VDDVersionResponse.cpp (revision 0) +++ sources/view/view_autogen/VDDVersionResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ + +#include "VDDVersionResponse.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDDVersionResponse, DDVersionResponseData) + +void VDDVersionResponse::onActionReceive(const DDVersionResponseData &vData) +{ + major ( vData.mMajor ); + minor ( vData.mMinor ); + micro ( vData.mMicro ); + build ( vData.mBuild ); + fpgaId ( vData.mFpgaid ); + fpgaMajor ( vData.mFpgamajor ); + fpgaMinor ( vData.mFpgaminor ); + fpgaLab ( vData.mFpgalab ); + compatibilityRev ( vData.mCompatibilityrev ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDDVersionResponse.h =================================================================== diff -u --- sources/view/view_autogen/VDDVersionResponse.h (revision 0) +++ sources/view/view_autogen/VDDVersionResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,43 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDDVersionResponse.h" + +// namespace +namespace View { + +/*! + * \brief The VDDVersionResponse class + * \details The The ID_DDVersionResponse view + * + * \sa Model::MDDVersionResponse + * + */ +class VDDVersionResponse : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint8 , major , 0 ) + PROPERTY( quint8 , minor , 0 ) + PROPERTY( quint8 , micro , 0 ) + PROPERTY( quint16, build , 0 ) + PROPERTY( quint8 , fpgaId , 0 ) + PROPERTY( quint8 , fpgaMajor , 0 ) + PROPERTY( quint8 , fpgaMinor , 0 ) + PROPERTY( quint8 , fpgaLab , 0 ) + PROPERTY( quint32, compatibilityRev, 0 ) + + VIEW_DEC(VDDVersionResponse, DDVersionResponseData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VDialysatePumps.cpp =================================================================== diff -u --- sources/view/view_autogen/VDialysatePumps.cpp (revision 0) +++ sources/view/view_autogen/VDialysatePumps.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#include "VDialysatePumps.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VDialysatePumps, DialysatePumpsData) + +void VDialysatePumps::onActionReceive(const DialysatePumpsData &vData) +{ + d12PumpTargetRPM ( vData.mD12pumptargetrpm ); + d48PumpTargetRPM ( vData.mD48pumptargetrpm ); + d12PumpMeasuredSpeed ( vData.mD12pumpmeasuredspeed ); + d48PumpMeasuredSpeed ( vData.mD48pumpmeasuredspeed ); + d12PumpCurrentSpeed ( vData.mD12pumpcurrentspeed ); + d48PumpCurrentSpeed ( vData.mD48pumpcurrentspeed ); + d12PumpState ( vData.mD12pumpstate ); + d48PumpState ( vData.mD48pumpstate ); + d12PumpTargetPressure ( vData.mD12pumptargetpressure ); + d48PumpTargetPressure ( vData.mD48pumptargetpressure ); + d12PumpMeasuredPressure ( vData.mD12pumpmeasuredpressure ); + d48PumpMeasuredPressure ( vData.mD48pumpmeasuredpressure ); + d12PumpMeasuredCurrent ( vData.mD12pumpmeasuredcurrent ); + d48PumpMeasuredCurrent ( vData.mD48pumpmeasuredcurrent ); + d12PumpControl ( vData.mD12pumpcontrol ); + d48PumpControl ( vData.mD48pumpcontrol ); + d12PumpDirErrCnt ( vData.mD12pumpdirerrcnt ); + d48PumpDirErrCnt ( vData.mD48pumpdirerrcnt ); + d12PumpMeasuredDir ( vData.mD12pumpmeasureddir ); + d48PumpMeasuredDir ( vData.mD48pumpmeasureddir ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VDialysatePumps.h =================================================================== diff -u --- sources/view/view_autogen/VDialysatePumps.h (revision 0) +++ sources/view/view_autogen/VDialysatePumps.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,54 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MDialysatePumpsData.h" + +// namespace +namespace View { + +/*! + * \brief The VDialysatePumps class + * \details The The ID_DialysatePumpsData view + * + * \sa Model::MDialysatePumpsData + * + */ +class VDialysatePumps : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float , d12PumpTargetRPM , 0 ) + PROPERTY( float , d48PumpTargetRPM , 0 ) + PROPERTY( float , d12PumpMeasuredSpeed , 0 ) + PROPERTY( float , d48PumpMeasuredSpeed , 0 ) + PROPERTY( float , d12PumpCurrentSpeed , 0 ) + PROPERTY( float , d48PumpCurrentSpeed , 0 ) + PROPERTY( quint32, d12PumpState , 0 ) + PROPERTY( quint32, d48PumpState , 0 ) + PROPERTY( float , d12PumpTargetPressure , 0 ) + PROPERTY( float , d48PumpTargetPressure , 0 ) + PROPERTY( float , d12PumpMeasuredPressure, 0 ) + PROPERTY( float , d48PumpMeasuredPressure, 0 ) + PROPERTY( float , d12PumpMeasuredCurrent , 0 ) + PROPERTY( float , d48PumpMeasuredCurrent , 0 ) + PROPERTY( quint32, d12PumpControl , 0 ) + PROPERTY( quint32, d48PumpControl , 0 ) + PROPERTY( quint32, d12PumpDirErrCnt , 0 ) + PROPERTY( quint32, d48PumpDirErrCnt , 0 ) + PROPERTY( quint32, d12PumpMeasuredDir , 0 ) + PROPERTY( quint32, d48PumpMeasuredDir , 0 ) + + VIEW_DEC(VDialysatePumps, DialysatePumpsData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VFWVersionsRequest.cpp =================================================================== diff -u --- sources/view/view_autogen/VFWVersionsRequest.cpp (revision 0) +++ sources/view/view_autogen/VFWVersionsRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,27 @@ + +#include "VFWVersionsRequest.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VFWVersionsRequest) + +void View::VFWVersionsRequest::initConnections() { + ADJUST_VIEW_CONNECTION(FWVersionsRequestData); +} + +void View::VFWVersionsRequest::doAdjustment( + quint8 major, + quint8 minor, + quint8 micro, + quint16 build, + quint32 compatibility) { + FWVersionsRequestData _data; + + _data.mMajor = major ; + _data.mMinor = minor ; + _data.mMicro = micro ; + _data.mBuild = build ; + _data.mCompatibility = compatibility; + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VFWVersionsRequest.h =================================================================== diff -u --- sources/view/view_autogen/VFWVersionsRequest.h (revision 0) +++ sources/view/view_autogen/VFWVersionsRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,55 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MFWVersionsRequest.h" + +namespace View { + +/*! + * \brief The VFWVersionsRequest class + * \details View for Model's Data representation. + * + * \sa Model::MFWVersionsRequest + * + */ +class VFWVersionsRequest : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VFWVersionsRequest) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VFWVersionsRequest + * \param major + * \param minor + * \param micro + * \param build + * \param compatibility + */ + void doAdjustment( + quint8 major, + quint8 minor, + quint8 micro, + quint16 build, + quint32 compatibility); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VFWVersionsRequest + * \param vData - data model for the VFWVersionsRequest request + */ + void didAdjustment(const FWVersionsRequestData &vData); +}; +} \ No newline at end of file Index: sources/view/view_autogen/VOffButtonPressRequest.cpp =================================================================== diff -u --- sources/view/view_autogen/VOffButtonPressRequest.cpp (revision 0) +++ sources/view/view_autogen/VOffButtonPressRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VOffButtonPressRequest.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VOffButtonPressRequest, OffButtonPressRequestData) + +void VOffButtonPressRequest::onActionReceive(const OffButtonPressRequestData &vData) +{ + userRequest ( vData.mUserrequest ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VOffButtonPressRequest.h =================================================================== diff -u --- sources/view/view_autogen/VOffButtonPressRequest.h (revision 0) +++ sources/view/view_autogen/VOffButtonPressRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MOffButtonPressRequest.h" + +// namespace +namespace View { + +/*! + * \brief The VOffButtonPressRequest class + * \details The The ID_OffButtonPressRequest view + * + * \sa Model::MOffButtonPressRequest + * + */ +class VOffButtonPressRequest : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint8, userRequest, 0 ) + + VIEW_DEC(VOffButtonPressRequest, OffButtonPressRequestData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VPowerOffWarning.cpp =================================================================== diff -u --- sources/view/view_autogen/VPowerOffWarning.cpp (revision 0) +++ sources/view/view_autogen/VPowerOffWarning.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VPowerOffWarning.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VPowerOffWarning, PowerOffWarningData) + +void VPowerOffWarning::onActionReceive(const PowerOffWarningData &vData) +{ + powerOffWarning ( vData.mPoweroffwarning ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VPowerOffWarning.h =================================================================== diff -u --- sources/view/view_autogen/VPowerOffWarning.h (revision 0) +++ sources/view/view_autogen/VPowerOffWarning.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MPowerOffWarning.h" + +// namespace +namespace View { + +/*! + * \brief The VPowerOffWarning class + * \details The The ID_PowerOffWarning view + * + * \sa Model::MPowerOffWarning + * + */ +class VPowerOffWarning : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, powerOffWarning, 0 ) + + VIEW_DEC(VPowerOffWarning, PowerOffWarningData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROAlarmInfo.cpp =================================================================== diff -u --- sources/view/view_autogen/VROAlarmInfo.cpp (revision 0) +++ sources/view/view_autogen/VROAlarmInfo.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VROAlarmInfo.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROAlarmInfo, ROAlarmInfoData) + +void VROAlarmInfo::onActionReceive(const ROAlarmInfoData &vData) +{ + safetyShutdownStatus ( vData.mSafetyshutdownstatus ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROAlarmInfo.h =================================================================== diff -u --- sources/view/view_autogen/VROAlarmInfo.h (revision 0) +++ sources/view/view_autogen/VROAlarmInfo.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROAlarmInfoData.h" + +// namespace +namespace View { + +/*! + * \brief The VROAlarmInfo class + * \details The The ID_ROAlarmInfoData view + * + * \sa Model::MROAlarmInfoData + * + */ +class VROAlarmInfo : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, safetyShutdownStatus, 0 ) + + VIEW_DEC(VROAlarmInfo, ROAlarmInfoData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROConductivity.cpp =================================================================== diff -u --- sources/view/view_autogen/VROConductivity.cpp (revision 0) +++ sources/view/view_autogen/VROConductivity.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VROConductivity.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROConductivity, ROConductivityData) + +void VROConductivity::onActionReceive(const ROConductivityData &vData) +{ + p9Conductivity ( vData.mP9conductivity ); + p18Conductivity ( vData.mP18conductivity ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROConductivity.h =================================================================== diff -u --- sources/view/view_autogen/VROConductivity.h (revision 0) +++ sources/view/view_autogen/VROConductivity.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROConductivityData.h" + +// namespace +namespace View { + +/*! + * \brief The VROConductivity class + * \details The The ID_ROConductivityData view + * + * \sa Model::MROConductivityData + * + */ +class VROConductivity : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, p9Conductivity , 0 ) + PROPERTY( float, p18Conductivity, 0 ) + + VIEW_DEC(VROConductivity, ROConductivityData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROEvent.cpp =================================================================== diff -u --- sources/view/view_autogen/VROEvent.cpp (revision 0) +++ sources/view/view_autogen/VROEvent.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,33 @@ + +#include "VROEvent.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROEvent, ROEventData) + +void VROEvent::onActionReceive(const ROEventData &vData) +{ + event ( vData.mEvent ); + dataType1 ( vData.mDatatype1 ); + data1U08 ( vData.mData1u08 ); + data1U16 ( vData.mData1u16 ); + data1S16 ( vData.mData1s16 ); + data1U32 ( vData.mData1u32 ); + data1S32 ( vData.mData1s32 ); + data1BOOL ( vData.mData1bool ); + data1F32 ( vData.mData1f32 ); + dataType2 ( vData.mDatatype2 ); + data2U08 ( vData.mData2u08 ); + data2U16 ( vData.mData2u16 ); + data2S16 ( vData.mData2s16 ); + data2U32 ( vData.mData2u32 ); + data2S32 ( vData.mData2s32 ); + data2BOOL ( vData.mData2bool ); + data2F32 ( vData.mData2f32 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROEvent.h =================================================================== diff -u --- sources/view/view_autogen/VROEvent.h (revision 0) +++ sources/view/view_autogen/VROEvent.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,51 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROEvent.h" + +// namespace +namespace View { + +/*! + * \brief The VROEvent class + * \details The The ID_ROEvent view + * + * \sa Model::MROEvent + * + */ +class VROEvent : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, event , 0 ) + PROPERTY( quint32, dataType1, 0 ) + PROPERTY( quint8 , data1U08 , 0 ) + PROPERTY( quint16, data1U16 , 0 ) + PROPERTY( qint16 , data1S16 , 0 ) + PROPERTY( quint32, data1U32 , 0 ) + PROPERTY( qint32 , data1S32 , 0 ) + PROPERTY( quint32, data1BOOL, 0 ) + PROPERTY( float , data1F32 , 0 ) + PROPERTY( quint32, dataType2, 0 ) + PROPERTY( quint8 , data2U08 , 0 ) + PROPERTY( quint16, data2U16 , 0 ) + PROPERTY( qint16 , data2S16 , 0 ) + PROPERTY( quint32, data2U32 , 0 ) + PROPERTY( qint32 , data2S32 , 0 ) + PROPERTY( quint32, data2BOOL, 0 ) + PROPERTY( float , data2F32 , 0 ) + + VIEW_DEC(VROEvent, ROEventData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROFlow.cpp =================================================================== diff -u --- sources/view/view_autogen/VROFlow.cpp (revision 0) +++ sources/view/view_autogen/VROFlow.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,20 @@ + +#include "VROFlow.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROFlow, ROFlowData) + +void VROFlow::onActionReceive(const ROFlowData &vData) +{ + p7Flow ( vData.mP7flow ); + p16Flow ( vData.mP16flow ); + p7Temp ( vData.mP7temp ); + p16Temp ( vData.mP16temp ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROFlow.h =================================================================== diff -u --- sources/view/view_autogen/VROFlow.h (revision 0) +++ sources/view/view_autogen/VROFlow.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROFlowData.h" + +// namespace +namespace View { + +/*! + * \brief The VROFlow class + * \details The The ID_ROFlowData view + * + * \sa Model::MROFlowData + * + */ +class VROFlow : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, p7Flow , 0 ) + PROPERTY( float, p16Flow, 0 ) + PROPERTY( float, p7Temp , 0 ) + PROPERTY( float, p16Temp, 0 ) + + VIEW_DEC(VROFlow, ROFlowData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROGenWaterMode.cpp =================================================================== diff -u --- sources/view/view_autogen/VROGenWaterMode.cpp (revision 0) +++ sources/view/view_autogen/VROGenWaterMode.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VROGenWaterMode.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROGenWaterMode, ROGenWaterModeData) + +void VROGenWaterMode::onActionReceive(const ROGenWaterModeData &vData) +{ + genWaterExecState ( vData.mGenwaterexecstate ); + setFlowRate ( vData.mSetflowrate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROGenWaterMode.h =================================================================== diff -u --- sources/view/view_autogen/VROGenWaterMode.h (revision 0) +++ sources/view/view_autogen/VROGenWaterMode.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROGenWaterModeData.h" + +// namespace +namespace View { + +/*! + * \brief The VROGenWaterMode class + * \details The The ID_ROGenWaterModeData view + * + * \sa Model::MROGenWaterModeData + * + */ +class VROGenWaterMode : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, genWaterExecState, 0 ) + PROPERTY( float , setFlowRate , 0 ) + + VIEW_DEC(VROGenWaterMode, ROGenWaterModeData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROHeater.cpp =================================================================== diff -u --- sources/view/view_autogen/VROHeater.cpp (revision 0) +++ sources/view/view_autogen/VROHeater.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,20 @@ + +#include "VROHeater.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROHeater, ROHeaterData) + +void VROHeater::onActionReceive(const ROHeaterData &vData) +{ + heaterP24DC ( vData.mHeaterp24dc ); + heaterP24TargetTemp ( vData.mHeaterp24targettemp ); + heaterP24State ( vData.mHeaterp24state ); + heaterP24ControlCounter ( vData.mHeaterp24controlcounter ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROHeater.h =================================================================== diff -u --- sources/view/view_autogen/VROHeater.h (revision 0) +++ sources/view/view_autogen/VROHeater.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROHeaterData.h" + +// namespace +namespace View { + +/*! + * \brief The VROHeater class + * \details The The ID_ROHeaterData view + * + * \sa Model::MROHeaterData + * + */ +class VROHeater : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float , heaterP24DC , 0 ) + PROPERTY( float , heaterP24TargetTemp , 0 ) + PROPERTY( quint32, heaterP24State , 0 ) + PROPERTY( quint32, heaterP24ControlCounter, 0 ) + + VIEW_DEC(VROHeater, ROHeaterData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROLevel.cpp =================================================================== diff -u --- sources/view/view_autogen/VROLevel.cpp (revision 0) +++ sources/view/view_autogen/VROLevel.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VROLevel.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROLevel, ROLevelData) + +void VROLevel::onActionReceive(const ROLevelData &vData) +{ + p25Level ( vData.mP25level ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROLevel.h =================================================================== diff -u --- sources/view/view_autogen/VROLevel.h (revision 0) +++ sources/view/view_autogen/VROLevel.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROLevelData.h" + +// namespace +namespace View { + +/*! + * \brief The VROLevel class + * \details The The ID_ROLevelData view + * + * \sa Model::MROLevelData + * + */ +class VROLevel : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, p25Level, 0 ) + + VIEW_DEC(VROLevel, ROLevelData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROOPMode.cpp =================================================================== diff -u --- sources/view/view_autogen/VROOPMode.cpp (revision 0) +++ sources/view/view_autogen/VROOPMode.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VROOPMode.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROOPMode, ROOPModeData) + +void VROOPMode::onActionReceive(const ROOPModeData &vData) +{ + opMode ( vData.mOpmode ); + subMode ( vData.mSubmode ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROOPMode.h =================================================================== diff -u --- sources/view/view_autogen/VROOPMode.h (revision 0) +++ sources/view/view_autogen/VROOPMode.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROOPModeData.h" + +// namespace +namespace View { + +/*! + * \brief The VROOPMode class + * \details The The ID_ROOPModeData view + * + * \sa Model::MROOPModeData + * + */ +class VROOPMode : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, opMode , 0 ) + PROPERTY( quint32, subMode, 0 ) + + VIEW_DEC(VROOPMode, ROOPModeData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROPreGenWaterMode.cpp =================================================================== diff -u --- sources/view/view_autogen/VROPreGenWaterMode.cpp (revision 0) +++ sources/view/view_autogen/VROPreGenWaterMode.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VROPreGenWaterMode.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROPreGenWaterMode, ROPreGenWaterModeData) + +void VROPreGenWaterMode::onActionReceive(const ROPreGenWaterModeData &vData) +{ + preGenWExecState ( vData.mPregenwexecstate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROPreGenWaterMode.h =================================================================== diff -u --- sources/view/view_autogen/VROPreGenWaterMode.h (revision 0) +++ sources/view/view_autogen/VROPreGenWaterMode.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROPreGenWaterModeData.h" + +// namespace +namespace View { + +/*! + * \brief The VROPreGenWaterMode class + * \details The The ID_ROPreGenWaterModeData view + * + * \sa Model::MROPreGenWaterModeData + * + */ +class VROPreGenWaterMode : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, preGenWExecState, 0 ) + + VIEW_DEC(VROPreGenWaterMode, ROPreGenWaterModeData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROPressures.cpp =================================================================== diff -u --- sources/view/view_autogen/VROPressures.cpp (revision 0) +++ sources/view/view_autogen/VROPressures.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,34 @@ + +#include "VROPressures.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROPressures, ROPressuresData) + +void VROPressures::onActionReceive(const ROPressuresData &vData) +{ + m1Pressure ( vData.mM1pressure ); + m3Pressure ( vData.mM3pressure ); + p8Pressure ( vData.mP8pressure ); + p13Pressure ( vData.mP13pressure ); + p17Pressure ( vData.mP17pressure ); + x1Pressure ( vData.mX1pressure ); + x2Pressure ( vData.mX2pressure ); + x3Pressure ( vData.mX3pressure ); + x4Pressure ( vData.mX4pressure ); + m1Temp ( vData.mM1temp ); + m3Temp ( vData.mM3temp ); + p8Temp ( vData.mP8temp ); + p13Temp ( vData.mP13temp ); + p17Temp ( vData.mP17temp ); + x1Temp ( vData.mX1temp ); + x2Temp ( vData.mX2temp ); + x3Temp ( vData.mX3temp ); + x4Temp ( vData.mX4temp ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROPressures.h =================================================================== diff -u --- sources/view/view_autogen/VROPressures.h (revision 0) +++ sources/view/view_autogen/VROPressures.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,52 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROPressuresData.h" + +// namespace +namespace View { + +/*! + * \brief The VROPressures class + * \details The The ID_ROPressuresData view + * + * \sa Model::MROPressuresData + * + */ +class VROPressures : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, m1Pressure , 0 ) + PROPERTY( float, m3Pressure , 0 ) + PROPERTY( float, p8Pressure , 0 ) + PROPERTY( float, p13Pressure, 0 ) + PROPERTY( float, p17Pressure, 0 ) + PROPERTY( float, x1Pressure , 0 ) + PROPERTY( float, x2Pressure , 0 ) + PROPERTY( float, x3Pressure , 0 ) + PROPERTY( float, x4Pressure , 0 ) + PROPERTY( float, m1Temp , 0 ) + PROPERTY( float, m3Temp , 0 ) + PROPERTY( float, p8Temp , 0 ) + PROPERTY( float, p13Temp , 0 ) + PROPERTY( float, p17Temp , 0 ) + PROPERTY( float, x1Temp , 0 ) + PROPERTY( float, x2Temp , 0 ) + PROPERTY( float, x3Temp , 0 ) + PROPERTY( float, x4Temp , 0 ) + + VIEW_DEC(VROPressures, ROPressuresData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROPump.cpp =================================================================== diff -u --- sources/view/view_autogen/VROPump.cpp (revision 0) +++ sources/view/view_autogen/VROPump.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,24 @@ + +#include "VROPump.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROPump, ROPumpData) + +void VROPump::onActionReceive(const ROPumpData &vData) +{ + p12PumpState ( vData.mP12pumpstate ); + p12PumpDutyCycle ( vData.mP12pumpdutycycle ); + p12PumpFBDutyCycle ( vData.mP12pumpfbdutycycle ); + p12PumpSpeed ( vData.mP12pumpspeed ); + p40PumpState ( vData.mP40pumpstate ); + p40PumpDutyCycle ( vData.mP40pumpdutycycle ); + p40PumpFBDutyCycle ( vData.mP40pumpfbdutycycle ); + p40PumpSpeed ( vData.mP40pumpspeed ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROPump.h =================================================================== diff -u --- sources/view/view_autogen/VROPump.h (revision 0) +++ sources/view/view_autogen/VROPump.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,42 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROPumpData.h" + +// namespace +namespace View { + +/*! + * \brief The VROPump class + * \details The The ID_ROPumpData view + * + * \sa Model::MROPumpData + * + */ +class VROPump : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, p12PumpState , 0 ) + PROPERTY( quint32, p12PumpDutyCycle , 0 ) + PROPERTY( quint32, p12PumpFBDutyCycle, 0 ) + PROPERTY( float , p12PumpSpeed , 0 ) + PROPERTY( quint32, p40PumpState , 0 ) + PROPERTY( quint32, p40PumpDutyCycle , 0 ) + PROPERTY( quint32, p40PumpFBDutyCycle, 0 ) + PROPERTY( float , p40PumpSpeed , 0 ) + + VIEW_DEC(VROPump, ROPumpData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROTemperature.cpp =================================================================== diff -u --- sources/view/view_autogen/VROTemperature.cpp (revision 0) +++ sources/view/view_autogen/VROTemperature.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,21 @@ + +#include "VROTemperature.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROTemperature, ROTemperatureData) + +void VROTemperature::onActionReceive(const ROTemperatureData &vData) +{ + p23Temp ( vData.mP23temp ); + p22Temp ( vData.mP22temp ); + p10Temp ( vData.mP10temp ); + p19Temp ( vData.mP19temp ); + boardTemp ( vData.mBoardtemp ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROTemperature.h =================================================================== diff -u --- sources/view/view_autogen/VROTemperature.h (revision 0) +++ sources/view/view_autogen/VROTemperature.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,39 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROTemperatureData.h" + +// namespace +namespace View { + +/*! + * \brief The VROTemperature class + * \details The The ID_ROTemperatureData view + * + * \sa Model::MROTemperatureData + * + */ +class VROTemperature : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, p23Temp , 0 ) + PROPERTY( float, p22Temp , 0 ) + PROPERTY( float, p10Temp , 0 ) + PROPERTY( float, p19Temp , 0 ) + PROPERTY( float, boardTemp, 0 ) + + VIEW_DEC(VROTemperature, ROTemperatureData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VROValvesStates.cpp =================================================================== diff -u --- sources/view/view_autogen/VROValvesStates.cpp (revision 0) +++ sources/view/view_autogen/VROValvesStates.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,26 @@ + +#include "VROValvesStates.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VROValvesStates, ROValvesStatesData) + +void VROValvesStates::onActionReceive(const ROValvesStatesData &vData) +{ + valvesCmdState ( vData.mValvescmdstate ); + valvesSensedState1 ( vData.mValvessensedstate1 ); + valvesSensedState2 ( vData.mValvessensedstate2 ); + valvesSensedState3 ( vData.mValvessensedstate3 ); + valvesSensedState4 ( vData.mValvessensedstate4 ); + valvesSensedState5 ( vData.mValvessensedstate5 ); + valvesSensedState6 ( vData.mValvessensedstate6 ); + valvesSensedState7 ( vData.mValvessensedstate7 ); + valvesSensedState8 ( vData.mValvessensedstate8 ); + valvesSensedState9 ( vData.mValvessensedstate9 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VROValvesStates.h =================================================================== diff -u --- sources/view/view_autogen/VROValvesStates.h (revision 0) +++ sources/view/view_autogen/VROValvesStates.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,44 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MROValvesStatesData.h" + +// namespace +namespace View { + +/*! + * \brief The VROValvesStates class + * \details The The ID_ROValvesStatesData view + * + * \sa Model::MROValvesStatesData + * + */ +class VROValvesStates : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint16, valvesCmdState , 0 ) + PROPERTY( quint8 , valvesSensedState1, 0 ) + PROPERTY( quint8 , valvesSensedState2, 0 ) + PROPERTY( quint8 , valvesSensedState3, 0 ) + PROPERTY( quint8 , valvesSensedState4, 0 ) + PROPERTY( quint8 , valvesSensedState5, 0 ) + PROPERTY( quint8 , valvesSensedState6, 0 ) + PROPERTY( quint8 , valvesSensedState7, 0 ) + PROPERTY( quint8 , valvesSensedState8, 0 ) + PROPERTY( quint8 , valvesSensedState9, 0 ) + + VIEW_DEC(VROValvesStates, ROValvesStatesData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.cpp (revision 0) +++ sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,28 @@ + +#include "VTDActiveAlarmsListRequestResponse.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDActiveAlarmsListRequestResponse, TDActiveAlarmsListRequestResponseData) + +void VTDActiveAlarmsListRequestResponse::onActionReceive(const TDActiveAlarmsListRequestResponseData &vData) +{ + accepted ( vData.mAccepted ); + rejectionReason ( vData.mRejectionreason ); + activeAlarmList1 ( vData.mActivealarmlist1 ); + activeAlarmList2 ( vData.mActivealarmlist2 ); + activeAlarmList3 ( vData.mActivealarmlist3 ); + activeAlarmList4 ( vData.mActivealarmlist4 ); + activeAlarmList5 ( vData.mActivealarmlist5 ); + activeAlarmList6 ( vData.mActivealarmlist6 ); + activeAlarmList7 ( vData.mActivealarmlist7 ); + activeAlarmList8 ( vData.mActivealarmlist8 ); + activeAlarmList9 ( vData.mActivealarmlist9 ); + activeAlarmList10 ( vData.mActivealarmlist10 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.h =================================================================== diff -u --- sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.h (revision 0) +++ sources/view/view_autogen/VTDActiveAlarmsListRequestResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,46 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDActiveAlarmsListRequestResponse.h" + +// namespace +namespace View { + +/*! + * \brief The VTDActiveAlarmsListRequestResponse class + * \details The The ID_TDActiveAlarmsListRequestResponse view + * + * \sa Model::MTDActiveAlarmsListRequestResponse + * + */ +class VTDActiveAlarmsListRequestResponse : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, accepted , 0 ) + PROPERTY( quint32, rejectionReason , 0 ) + PROPERTY( quint32, activeAlarmList1 , 0 ) + PROPERTY( quint32, activeAlarmList2 , 0 ) + PROPERTY( quint32, activeAlarmList3 , 0 ) + PROPERTY( quint32, activeAlarmList4 , 0 ) + PROPERTY( quint32, activeAlarmList5 , 0 ) + PROPERTY( quint32, activeAlarmList6 , 0 ) + PROPERTY( quint32, activeAlarmList7 , 0 ) + PROPERTY( quint32, activeAlarmList8 , 0 ) + PROPERTY( quint32, activeAlarmList9 , 0 ) + PROPERTY( quint32, activeAlarmList10, 0 ) + + VIEW_DEC(VTDActiveAlarmsListRequestResponse, TDActiveAlarmsListRequestResponseData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDAirPump.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDAirPump.cpp (revision 0) +++ sources/view/view_autogen/VTDAirPump.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VTDAirPump.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDAirPump, TDAirPumpData) + +void VTDAirPump::onActionReceive(const TDAirPumpData &vData) +{ + h12State ( vData.mH12state ); + h12Power ( vData.mH12power ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDAirPump.h =================================================================== diff -u --- sources/view/view_autogen/VTDAirPump.h (revision 0) +++ sources/view/view_autogen/VTDAirPump.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDAirPumpData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDAirPump class + * \details The The ID_TDAirPumpData view + * + * \sa Model::MTDAirPumpData + * + */ +class VTDAirPump : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, h12State, 0 ) + PROPERTY( quint32, h12Power, 0 ) + + VIEW_DEC(VTDAirPump, TDAirPumpData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDAirTrap.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDAirTrap.cpp (revision 0) +++ sources/view/view_autogen/VTDAirTrap.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ + +#include "VTDAirTrap.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDAirTrap, TDAirTrapData) + +void VTDAirTrap::onActionReceive(const TDAirTrapData &vData) +{ + qDebug() << "TopA" << vData.mH17rawstate; + + h17State ( vData.mH17state ); + h16State ( vData.mH16state ); + h17RawState ( vData.mH17rawstate ); + h16RawState ( vData.mH16rawstate ); + h13State ( vData.mH13state ); + h20State ( vData.mH20state ); + isAutoControlling ( vData.mIsautocontrolling ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} Index: sources/view/view_autogen/VTDAirTrap.h =================================================================== diff -u --- sources/view/view_autogen/VTDAirTrap.h (revision 0) +++ sources/view/view_autogen/VTDAirTrap.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,41 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDAirTrapData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDAirTrap class + * \details The The ID_TDAirTrapData view + * + * \sa Model::MTDAirTrapData + * + */ +class VTDAirTrap : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, h17State , 0 ) + PROPERTY( quint32, h16State , 0 ) + PROPERTY( quint32, h17RawState , 0 ) + PROPERTY( quint32, h16RawState , 0 ) + PROPERTY( quint32, h13State , 0 ) + PROPERTY( quint32, h20State , 0 ) + PROPERTY( quint32, isAutoControlling, 0 ) + + VIEW_DEC(VTDAirTrap, TDAirTrapData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDAlarmInformation.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDAlarmInformation.cpp (revision 0) +++ sources/view/view_autogen/VTDAlarmInformation.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,28 @@ + +#include "VTDAlarmInformation.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDAlarmInformation, TDAlarmInformationData) + +void VTDAlarmInformation::onActionReceive(const TDAlarmInformationData &vData) +{ + audioVolume ( vData.mAudiovolume ); + audioCurrHG ( vData.mAudiocurrhg ); + audioCurrLG ( vData.mAudiocurrlg ); + backupAudioCurr ( vData.mBackupaudiocurr ); + safetyShutdown ( vData.mSafetyshutdown ); + acPowerLost ( vData.mAcpowerlost ); + uiAlarmButtonBlocks1 ( vData.mUialarmbuttonblocks1 ); + uiAlarmButtonBlocks2 ( vData.mUialarmbuttonblocks2 ); + uiAlarmButtonBlocks3 ( vData.mUialarmbuttonblocks3 ); + uiAlarmButtonBlocks4 ( vData.mUialarmbuttonblocks4 ); + uiAlarmButtonBlocks5 ( vData.mUialarmbuttonblocks5 ); + uiAlarmButtonBlocks6 ( vData.mUialarmbuttonblocks6 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDAlarmInformation.h =================================================================== diff -u --- sources/view/view_autogen/VTDAlarmInformation.h (revision 0) +++ sources/view/view_autogen/VTDAlarmInformation.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,46 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDAlarmInformationData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDAlarmInformation class + * \details The The ID_TDAlarmInformationData view + * + * \sa Model::MTDAlarmInformationData + * + */ +class VTDAlarmInformation : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, audioVolume , 0 ) + PROPERTY( float , audioCurrHG , 0 ) + PROPERTY( float , audioCurrLG , 0 ) + PROPERTY( float , backupAudioCurr , 0 ) + PROPERTY( quint32, safetyShutdown , 0 ) + PROPERTY( quint32, acPowerLost , 0 ) + PROPERTY( quint8 , uiAlarmButtonBlocks1, 0 ) + PROPERTY( quint8 , uiAlarmButtonBlocks2, 0 ) + PROPERTY( quint8 , uiAlarmButtonBlocks3, 0 ) + PROPERTY( quint8 , uiAlarmButtonBlocks4, 0 ) + PROPERTY( quint8 , uiAlarmButtonBlocks5, 0 ) + PROPERTY( quint8 , uiAlarmButtonBlocks6, 0 ) + + VIEW_DEC(VTDAlarmInformation, TDAlarmInformationData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDBloodPump.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDBloodPump.cpp (revision 0) +++ sources/view/view_autogen/VTDBloodPump.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ + +#include "VTDBloodPump.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDBloodPump, TDBloodPumpData) + +void VTDBloodPump::onActionReceive(const TDBloodPumpData &vData) +{ + h4SetFlowRate ( vData.mH4setflowrate ); + h4MeasFlow ( vData.mH4measflow ); + h4MeasRotorSpd ( vData.mH4measrotorspd ); + h4MeasPumpSpd ( vData.mH4measpumpspd ); + h4MeasCurr ( vData.mH4meascurr ); + h4SetRPM ( vData.mH4setrpm ); + h4RotorCount ( vData.mH4rotorcount ); + h4PresFlow ( vData.mH4presflow ); + h6RotorHallState ( vData.mH6rotorhallstate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDBloodPump.h =================================================================== diff -u --- sources/view/view_autogen/VTDBloodPump.h (revision 0) +++ sources/view/view_autogen/VTDBloodPump.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,43 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDBloodPumpData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDBloodPump class + * \details The The ID_TDBloodPumpData view + * + * \sa Model::MTDBloodPumpData + * + */ +class VTDBloodPump : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( qint32 , h4SetFlowRate , 0 ) + PROPERTY( float , h4MeasFlow , 0 ) + PROPERTY( float , h4MeasRotorSpd , 0 ) + PROPERTY( float , h4MeasPumpSpd , 0 ) + PROPERTY( float , h4MeasCurr , 0 ) + PROPERTY( float , h4SetRPM , 0 ) + PROPERTY( quint32, h4RotorCount , 0 ) + PROPERTY( quint32, h4PresFlow , 0 ) + PROPERTY( quint32, h6RotorHallState, 0 ) + + VIEW_DEC(VTDBloodPump, TDBloodPumpData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDBubbles.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDBubbles.cpp (revision 0) +++ sources/view/view_autogen/VTDBubbles.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VTDBubbles.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDBubbles, TDBubblesData) + +void VTDBubbles::onActionReceive(const TDBubblesData &vData) +{ + h18Status ( vData.mH18status ); + h18State ( vData.mH18state ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDBubbles.h =================================================================== diff -u --- sources/view/view_autogen/VTDBubbles.h (revision 0) +++ sources/view/view_autogen/VTDBubbles.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDBubblesData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDBubbles class + * \details The The ID_TDBubblesData view + * + * \sa Model::MTDBubblesData + * + */ +class VTDBubbles : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, h18Status, 0 ) + PROPERTY( quint32, h18State , 0 ) + + VIEW_DEC(VTDBubbles, TDBubblesData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDEjector.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDEjector.cpp (revision 0) +++ sources/view/view_autogen/VTDEjector.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VTDEjector.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDEjector, TDEjectorData) + +void VTDEjector::onActionReceive(const TDEjectorData &vData) +{ + h5State ( vData.mH5state ); + h5SetSpeed ( vData.mH5setspeed ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDEjector.h =================================================================== diff -u --- sources/view/view_autogen/VTDEjector.h (revision 0) +++ sources/view/view_autogen/VTDEjector.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDEjectorData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDEjector class + * \details The The ID_TDEjectorData view + * + * \sa Model::MTDEjectorData + * + */ +class VTDEjector : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, h5State , 0 ) + PROPERTY( float , h5SetSpeed, 0 ) + + VIEW_DEC(VTDEjector, TDEjectorData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDEvent.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDEvent.cpp (revision 0) +++ sources/view/view_autogen/VTDEvent.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,33 @@ + +#include "VTDEvent.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDEvent, TDEventData) + +void VTDEvent::onActionReceive(const TDEventData &vData) +{ + event ( vData.mEvent ); + dataType1 ( vData.mDatatype1 ); + data1U08 ( vData.mData1u08 ); + data1U16 ( vData.mData1u16 ); + data1S16 ( vData.mData1s16 ); + data1U32 ( vData.mData1u32 ); + data1S32 ( vData.mData1s32 ); + data1BOOL ( vData.mData1bool ); + data1F32 ( vData.mData1f32 ); + dataType2 ( vData.mDatatype2 ); + data2U08 ( vData.mData2u08 ); + data2U16 ( vData.mData2u16 ); + data2S16 ( vData.mData2s16 ); + data2U32 ( vData.mData2u32 ); + data2S32 ( vData.mData2s32 ); + data2BOOL ( vData.mData2bool ); + data2F32 ( vData.mData2f32 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDEvent.h =================================================================== diff -u --- sources/view/view_autogen/VTDEvent.h (revision 0) +++ sources/view/view_autogen/VTDEvent.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,51 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDEvent.h" + +// namespace +namespace View { + +/*! + * \brief The VTDEvent class + * \details The The ID_TDEvent view + * + * \sa Model::MTDEvent + * + */ +class VTDEvent : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, event , 0 ) + PROPERTY( quint32, dataType1, 0 ) + PROPERTY( quint8 , data1U08 , 0 ) + PROPERTY( quint16, data1U16 , 0 ) + PROPERTY( qint16 , data1S16 , 0 ) + PROPERTY( quint32, data1U32 , 0 ) + PROPERTY( qint32 , data1S32 , 0 ) + PROPERTY( quint32, data1BOOL, 0 ) + PROPERTY( float , data1F32 , 0 ) + PROPERTY( quint32, dataType2, 0 ) + PROPERTY( quint8 , data2U08 , 0 ) + PROPERTY( quint16, data2U16 , 0 ) + PROPERTY( qint16 , data2S16 , 0 ) + PROPERTY( quint32, data2U32 , 0 ) + PROPERTY( qint32 , data2S32 , 0 ) + PROPERTY( quint32, data2BOOL, 0 ) + PROPERTY( float , data2F32 , 0 ) + + VIEW_DEC(VTDEvent, TDEventData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDOPMode.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDOPMode.cpp (revision 0) +++ sources/view/view_autogen/VTDOPMode.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VTDOPMode.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDOPMode, TDOPModeData) + +void VTDOPMode::onActionReceive(const TDOPModeData &vData) +{ + opMode ( vData.mOpmode ); + subMode ( vData.mSubmode ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDOPMode.h =================================================================== diff -u --- sources/view/view_autogen/VTDOPMode.h (revision 0) +++ sources/view/view_autogen/VTDOPMode.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDOPModeData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDOPMode class + * \details The The ID_TDOPModeData view + * + * \sa Model::MTDOPModeData + * + */ +class VTDOPMode : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, opMode , 0 ) + PROPERTY( quint32, subMode, 0 ) + + VIEW_DEC(VTDOPMode, TDOPModeData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDPressure.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDPressure.cpp (revision 0) +++ sources/view/view_autogen/VTDPressure.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,28 @@ + +#include "VTDPressure.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDPressure, TDPressureData) + +void VTDPressure::onActionReceive(const TDPressureData &vData) +{ + h2Pressure ( vData.mH2pressure ); + h14Pressure ( vData.mH14pressure ); + presLimitState ( vData.mPreslimitstate ); + h2MinLimit ( vData.mH2minlimit ); + h2MaxLimit ( vData.mH2maxlimit ); + h14MinLimit ( vData.mH14minlimit ); + h14MaxLimit ( vData.mH14maxlimit ); + h2LongFilterPres ( vData.mH2longfilterpres ); + h14LongFilterPres ( vData.mH14longfilterpres ); + tmpPressure ( vData.mTmppressure ); + tmpMinLimit ( vData.mTmpminlimit ); + tmpMaxLimit ( vData.mTmpmaxlimit ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDPressure.h =================================================================== diff -u --- sources/view/view_autogen/VTDPressure.h (revision 0) +++ sources/view/view_autogen/VTDPressure.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,46 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDPressureData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDPressure class + * \details The The ID_TDPressureData view + * + * \sa Model::MTDPressureData + * + */ +class VTDPressure : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float , h2Pressure , 0 ) + PROPERTY( float , h14Pressure , 0 ) + PROPERTY( quint32, presLimitState , 0 ) + PROPERTY( qint32 , h2MinLimit , 0 ) + PROPERTY( qint32 , h2MaxLimit , 0 ) + PROPERTY( qint32 , h14MinLimit , 0 ) + PROPERTY( qint32 , h14MaxLimit , 0 ) + PROPERTY( float , h2LongFilterPres , 0 ) + PROPERTY( float , h14LongFilterPres, 0 ) + PROPERTY( float , tmpPressure , 0 ) + PROPERTY( float , tmpMinLimit , 0 ) + PROPERTY( float , tmpMaxLimit , 0 ) + + VIEW_DEC(VTDPressure, TDPressureData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.cpp (revision 0) +++ sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VTDRespInitiateTreatmentWorkflow.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDRespInitiateTreatmentWorkflow, TDRespInitiateTreatmentWorkflowData) + +void VTDRespInitiateTreatmentWorkflow::onActionReceive(const TDRespInitiateTreatmentWorkflowData &vData) +{ + accepted ( vData.mAccepted ); + rejectionReason ( vData.mRejectionreason ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.h =================================================================== diff -u --- sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.h (revision 0) +++ sources/view/view_autogen/VTDRespInitiateTreatmentWorkflow.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDRespInitiateTreatmentWorkflow.h" + +// namespace +namespace View { + +/*! + * \brief The VTDRespInitiateTreatmentWorkflow class + * \details The The ID_TDRespInitiateTreatmentWorkflow view + * + * \sa Model::MTDRespInitiateTreatmentWorkflow + * + */ +class VTDRespInitiateTreatmentWorkflow : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, accepted , 0 ) + PROPERTY( quint32, rejectionReason, 0 ) + + VIEW_DEC(VTDRespInitiateTreatmentWorkflow, TDRespInitiateTreatmentWorkflowData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.cpp (revision 0) +++ sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,37 @@ + +#include "VTDRespTreatmentParamsTOValidate.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDRespTreatmentParamsTOValidate, TDRespTreatmentParamsTOValidateData) + +void VTDRespTreatmentParamsTOValidate::onActionReceive(const TDRespTreatmentParamsTOValidateData &vData) +{ + accepted ( vData.mAccepted ); + reason1 ( vData.mReason1 ); + reason2 ( vData.mReason2 ); + reason3 ( vData.mReason3 ); + reason4 ( vData.mReason4 ); + reason5 ( vData.mReason5 ); + reason6 ( vData.mReason6 ); + reason7 ( vData.mReason7 ); + reason8 ( vData.mReason8 ); + reason9 ( vData.mReason9 ); + reason10 ( vData.mReason10 ); + reason11 ( vData.mReason11 ); + reason12 ( vData.mReason12 ); + reason13 ( vData.mReason13 ); + reason14 ( vData.mReason14 ); + reason15 ( vData.mReason15 ); + reason16 ( vData.mReason16 ); + reason17 ( vData.mReason17 ); + reason18 ( vData.mReason18 ); + reason19 ( vData.mReason19 ); + reason20 ( vData.mReason20 ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.h =================================================================== diff -u --- sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.h (revision 0) +++ sources/view/view_autogen/VTDRespTreatmentParamsTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,55 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDRespTreatmentParamsTOValidate.h" + +// namespace +namespace View { + +/*! + * \brief The VTDRespTreatmentParamsTOValidate class + * \details The The ID_TDRespTreatmentParamsTOValidate view + * + * \sa Model::MTDRespTreatmentParamsTOValidate + * + */ +class VTDRespTreatmentParamsTOValidate : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, accepted, 0 ) + PROPERTY( quint32, reason1 , 0 ) + PROPERTY( quint32, reason2 , 0 ) + PROPERTY( quint32, reason3 , 0 ) + PROPERTY( quint32, reason4 , 0 ) + PROPERTY( quint32, reason5 , 0 ) + PROPERTY( quint32, reason6 , 0 ) + PROPERTY( quint32, reason7 , 0 ) + PROPERTY( quint32, reason8 , 0 ) + PROPERTY( quint32, reason9 , 0 ) + PROPERTY( quint32, reason10, 0 ) + PROPERTY( quint32, reason11, 0 ) + PROPERTY( quint32, reason12, 0 ) + PROPERTY( quint32, reason13, 0 ) + PROPERTY( quint32, reason14, 0 ) + PROPERTY( quint32, reason15, 0 ) + PROPERTY( quint32, reason16, 0 ) + PROPERTY( quint32, reason17, 0 ) + PROPERTY( quint32, reason18, 0 ) + PROPERTY( quint32, reason19, 0 ) + PROPERTY( quint32, reason20, 0 ) + + VIEW_DEC(VTDRespTreatmentParamsTOValidate, TDRespTreatmentParamsTOValidateData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.cpp (revision 0) +++ sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VTDRespUltrafiltrationVolumeTOValidate.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDRespUltrafiltrationVolumeTOValidate, TDRespUltrafiltrationVolumeTOValidateData) + +void VTDRespUltrafiltrationVolumeTOValidate::onActionReceive(const TDRespUltrafiltrationVolumeTOValidateData &vData) +{ + accepted ( vData.mAccepted ); + rejReason ( vData.mRejreason ); + ufVolumeMl ( vData.mUfvolumeml ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.h =================================================================== diff -u --- sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.h (revision 0) +++ sources/view/view_autogen/VTDRespUltrafiltrationVolumeTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,37 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDRespUltrafiltrationVolumeTOValidate.h" + +// namespace +namespace View { + +/*! + * \brief The VTDRespUltrafiltrationVolumeTOValidate class + * \details The The ID_TDRespUltrafiltrationVolumeTOValidate view + * + * \sa Model::MTDRespUltrafiltrationVolumeTOValidate + * + */ +class VTDRespUltrafiltrationVolumeTOValidate : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, accepted , 0 ) + PROPERTY( quint32, rejReason , 0 ) + PROPERTY( float , ufVolumeMl, 0 ) + + VIEW_DEC(VTDRespUltrafiltrationVolumeTOValidate, TDRespUltrafiltrationVolumeTOValidateData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDSalineBolus.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDSalineBolus.cpp (revision 0) +++ sources/view/view_autogen/VTDSalineBolus.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,20 @@ + +#include "VTDSalineBolus.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDSalineBolus, TDSalineBolusData) + +void VTDSalineBolus::onActionReceive(const TDSalineBolusData &vData) +{ + tgtSalineVolumeMl ( vData.mTgtsalinevolumeml ); + cumSalineVolumeMl ( vData.mCumsalinevolumeml ); + bolSalineVolumeMl ( vData.mBolsalinevolumeml ); + salineBolusState ( vData.mSalinebolusstate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDSalineBolus.h =================================================================== diff -u --- sources/view/view_autogen/VTDSalineBolus.h (revision 0) +++ sources/view/view_autogen/VTDSalineBolus.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDSalineBolusData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDSalineBolus class + * \details The The ID_TDSalineBolusData view + * + * \sa Model::MTDSalineBolusData + * + */ +class VTDSalineBolus : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, tgtSalineVolumeMl, 0 ) + PROPERTY( float , cumSalineVolumeMl, 0 ) + PROPERTY( float , bolSalineVolumeMl, 0 ) + PROPERTY( quint32, salineBolusState , 0 ) + + VIEW_DEC(VTDSalineBolus, TDSalineBolusData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDSwitches.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDSwitches.cpp (revision 0) +++ sources/view/view_autogen/VTDSwitches.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VTDSwitches.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDSwitches, TDSwitchesData) + +void VTDSwitches::onActionReceive(const TDSwitchesData &vData) +{ + h9Door ( vData.mH9door ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDSwitches.h =================================================================== diff -u --- sources/view/view_autogen/VTDSwitches.h (revision 0) +++ sources/view/view_autogen/VTDSwitches.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,35 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDSwitchesData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDSwitches class + * \details The The ID_TDSwitchesData view + * + * \sa Model::MTDSwitchesData + * + */ +class VTDSwitches : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, h9Door, 0 ) + + VIEW_DEC(VTDSwitches, TDSwitchesData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentParamRanges.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentParamRanges.cpp (revision 0) +++ sources/view/view_autogen/VTDTreatmentParamRanges.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,22 @@ + +#include "VTDTreatmentParamRanges.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDTreatmentParamRanges, TDTreatmentParamRangesData) + +void VTDTreatmentParamRanges::onActionReceive(const TDTreatmentParamRangesData &vData) +{ + minTreatmentTime ( vData.mMintreatmenttime ); + maxTreatmentTime ( vData.mMaxtreatmenttime ); + minUFVolume ( vData.mMinufvolume ); + maxUFVolume ( vData.mMaxufvolume ); + minDialRate ( vData.mMindialrate ); + maxDialRate ( vData.mMaxdialrate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentParamRanges.h =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentParamRanges.h (revision 0) +++ sources/view/view_autogen/VTDTreatmentParamRanges.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,40 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDTreatmentParamRanges.h" + +// namespace +namespace View { + +/*! + * \brief The VTDTreatmentParamRanges class + * \details The The ID_TDTreatmentParamRanges view + * + * \sa Model::MTDTreatmentParamRanges + * + */ +class VTDTreatmentParamRanges : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, minTreatmentTime, 0 ) + PROPERTY( quint32, maxTreatmentTime, 0 ) + PROPERTY( float , minUFVolume , 0 ) + PROPERTY( float , maxUFVolume , 0 ) + PROPERTY( quint32, minDialRate , 0 ) + PROPERTY( quint32, maxDialRate , 0 ) + + VIEW_DEC(VTDTreatmentParamRanges, TDTreatmentParamRangesData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentSetPoints.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentSetPoints.cpp (revision 0) +++ sources/view/view_autogen/VTDTreatmentSetPoints.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VTDTreatmentSetPoints.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDTreatmentSetPoints, TDTreatmentSetPointsData) + +void VTDTreatmentSetPoints::onActionReceive(const TDTreatmentSetPointsData &vData) +{ + bloodFlow ( vData.mBloodflow ); + dialFlow ( vData.mDialflow ); + dialTemp ( vData.mDialtemp ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentSetPoints.h =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentSetPoints.h (revision 0) +++ sources/view/view_autogen/VTDTreatmentSetPoints.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,37 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDTreatmentSetPoints.h" + +// namespace +namespace View { + +/*! + * \brief The VTDTreatmentSetPoints class + * \details The The ID_TDTreatmentSetPoints view + * + * \sa Model::MTDTreatmentSetPoints + * + */ +class VTDTreatmentSetPoints : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, bloodFlow, 0 ) + PROPERTY( quint32, dialFlow , 0 ) + PROPERTY( float , dialTemp , 0 ) + + VIEW_DEC(VTDTreatmentSetPoints, TDTreatmentSetPointsData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentState.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentState.cpp (revision 0) +++ sources/view/view_autogen/VTDTreatmentState.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,26 @@ + +#include "VTDTreatmentState.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDTreatmentState, TDTreatmentStateData) + +void VTDTreatmentState::onActionReceive(const TDTreatmentStateData &vData) +{ + treatmentSubMode ( vData.mTreatmentsubmode ); + bldPrimeState ( vData.mBldprimestate ); + dialysisState ( vData.mDialysisstate ); + isoUFState ( vData.mIsoufstate ); + txStopState ( vData.mTxstopstate ); + rinsebackState ( vData.mRinsebackstate ); + txRecircState ( vData.mTxrecircstate ); + txEndState ( vData.mTxendstate ); + txSalBolusState ( vData.mTxsalbolusstate ); + txHepState ( vData.mTxhepstate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentState.h =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentState.h (revision 0) +++ sources/view/view_autogen/VTDTreatmentState.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,44 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDTreatmentStateData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDTreatmentState class + * \details The The ID_TDTreatmentStateData view + * + * \sa Model::MTDTreatmentStateData + * + */ +class VTDTreatmentState : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, treatmentSubMode, 0 ) + PROPERTY( quint32, bldPrimeState , 0 ) + PROPERTY( quint32, dialysisState , 0 ) + PROPERTY( quint32, isoUFState , 0 ) + PROPERTY( quint32, txStopState , 0 ) + PROPERTY( quint32, rinsebackState , 0 ) + PROPERTY( quint32, txRecircState , 0 ) + PROPERTY( quint32, txEndState , 0 ) + PROPERTY( quint32, txSalBolusState , 0 ) + PROPERTY( quint32, txHepState , 0 ) + + VIEW_DEC(VTDTreatmentState, TDTreatmentStateData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentTime.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentTime.cpp (revision 0) +++ sources/view/view_autogen/VTDTreatmentTime.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VTDTreatmentTime.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDTreatmentTime, TDTreatmentTimeData) + +void VTDTreatmentTime::onActionReceive(const TDTreatmentTimeData &vData) +{ + treatmentTimePrescribedinSec ( vData.mTreatmenttimeprescribedinsec ); + treatmentTimeElapsedinSec ( vData.mTreatmenttimeelapsedinsec ); + treatmentTimeRemaininginSec ( vData.mTreatmenttimeremaininginsec ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDTreatmentTime.h =================================================================== diff -u --- sources/view/view_autogen/VTDTreatmentTime.h (revision 0) +++ sources/view/view_autogen/VTDTreatmentTime.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,37 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDTreatmentTimeData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDTreatmentTime class + * \details The The ID_TDTreatmentTimeData view + * + * \sa Model::MTDTreatmentTimeData + * + */ +class VTDTreatmentTime : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, treatmentTimePrescribedinSec, 0 ) + PROPERTY( quint32, treatmentTimeElapsedinSec , 0 ) + PROPERTY( quint32, treatmentTimeRemaininginSec , 0 ) + + VIEW_DEC(VTDTreatmentTime, TDTreatmentTimeData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDUFPauseResumeResponse.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDUFPauseResumeResponse.cpp (revision 0) +++ sources/view/view_autogen/VTDUFPauseResumeResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,18 @@ + +#include "VTDUFPauseResumeResponse.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDUFPauseResumeResponse, TDUFPauseResumeResponseData) + +void VTDUFPauseResumeResponse::onActionReceive(const TDUFPauseResumeResponseData &vData) +{ + accepted ( vData.mAccepted ); + rejectionReason ( vData.mRejectionreason ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDUFPauseResumeResponse.h =================================================================== diff -u --- sources/view/view_autogen/VTDUFPauseResumeResponse.h (revision 0) +++ sources/view/view_autogen/VTDUFPauseResumeResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,36 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDUFPauseResumeResponse.h" + +// namespace +namespace View { + +/*! + * \brief The VTDUFPauseResumeResponse class + * \details The The ID_TDUFPauseResumeResponse view + * + * \sa Model::MTDUFPauseResumeResponse + * + */ +class VTDUFPauseResumeResponse : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, accepted , 0 ) + PROPERTY( quint32, rejectionReason, 0 ) + + VIEW_DEC(VTDUFPauseResumeResponse, TDUFPauseResumeResponseData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDUltrafiltration.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDUltrafiltration.cpp (revision 0) +++ sources/view/view_autogen/VTDUltrafiltration.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,20 @@ + +#include "VTDUltrafiltration.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDUltrafiltration, TDUltrafiltrationData) + +void VTDUltrafiltration::onActionReceive(const TDUltrafiltrationData &vData) +{ + setUFVolumeL ( vData.mSetufvolumel ); + tgtUFRateLHr ( vData.mTgtufratelhr ); + ufVolumeDeliveredL ( vData.mUfvolumedeliveredl ); + ufState ( vData.mUfstate ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDUltrafiltration.h =================================================================== diff -u --- sources/view/view_autogen/VTDUltrafiltration.h (revision 0) +++ sources/view/view_autogen/VTDUltrafiltration.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,38 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDUltrafiltrationData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDUltrafiltration class + * \details The The ID_TDUltrafiltrationData view + * + * \sa Model::MTDUltrafiltrationData + * + */ +class VTDUltrafiltration : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float , setUFVolumeL , 0 ) + PROPERTY( float , tgtUFRateLHr , 0 ) + PROPERTY( float , ufVolumeDeliveredL, 0 ) + PROPERTY( quint32, ufState , 0 ) + + VIEW_DEC(VTDUltrafiltration, TDUltrafiltrationData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDValves.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDValves.cpp (revision 0) +++ sources/view/view_autogen/VTDValves.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,21 @@ + +#include "VTDValves.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDValves, TDValvesData) + +void VTDValves::onActionReceive(const TDValvesData &vData) +{ + valveID ( vData.mValveid ); + state ( vData.mState ); + currentPosID ( vData.mCurrentposid ); + currentPos ( vData.mCurrentpos ); + cmdPos ( vData.mCmdpos ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDValves.h =================================================================== diff -u --- sources/view/view_autogen/VTDValves.h (revision 0) +++ sources/view/view_autogen/VTDValves.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,39 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDValvesData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDValves class + * \details The The ID_TDValvesData view + * + * \sa Model::MTDValvesData + * + */ +class VTDValves : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint32, valveID , 0 ) + PROPERTY( quint32, state , 0 ) + PROPERTY( quint32, currentPosID, 0 ) + PROPERTY( qint16 , currentPos , 0 ) + PROPERTY( qint16 , cmdPos , 0 ) + + VIEW_DEC(VTDValves, TDValvesData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDVersionResponse.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDVersionResponse.cpp (revision 0) +++ sources/view/view_autogen/VTDVersionResponse.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,25 @@ + +#include "VTDVersionResponse.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDVersionResponse, TDVersionResponseData) + +void VTDVersionResponse::onActionReceive(const TDVersionResponseData &vData) +{ + major ( vData.mMajor ); + minor ( vData.mMinor ); + micro ( vData.mMicro ); + build ( vData.mBuild ); + fpgaId ( vData.mFpgaid ); + fpgaMajor ( vData.mFpgamajor ); + fpgaMinor ( vData.mFpgaminor ); + fpgaLab ( vData.mFpgalab ); + compatibilityRev ( vData.mCompatibilityrev ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDVersionResponse.h =================================================================== diff -u --- sources/view/view_autogen/VTDVersionResponse.h (revision 0) +++ sources/view/view_autogen/VTDVersionResponse.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,43 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDVersionResponse.h" + +// namespace +namespace View { + +/*! + * \brief The VTDVersionResponse class + * \details The The ID_TDVersionResponse view + * + * \sa Model::MTDVersionResponse + * + */ +class VTDVersionResponse : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( quint8 , major , 0 ) + PROPERTY( quint8 , minor , 0 ) + PROPERTY( quint8 , micro , 0 ) + PROPERTY( quint16, build , 0 ) + PROPERTY( quint8 , fpgaId , 0 ) + PROPERTY( quint8 , fpgaMajor , 0 ) + PROPERTY( quint8 , fpgaMinor , 0 ) + PROPERTY( quint8 , fpgaLab , 0 ) + PROPERTY( quint32, compatibilityRev, 0 ) + + VIEW_DEC(VTDVersionResponse, TDVersionResponseData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VTDVoltages.cpp =================================================================== diff -u --- sources/view/view_autogen/VTDVoltages.cpp (revision 0) +++ sources/view/view_autogen/VTDVoltages.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,27 @@ + +#include "VTDVoltages.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDVoltages, TDVoltagesData) + +void VTDVoltages::onActionReceive(const TDVoltagesData &vData) +{ + adc1_2VProc ( vData.mAdc1_2vproc ); + adc3_3V ( vData.mAdc3_3v ); + adc5VLogic ( vData.mAdc5vlogic ); + adc5VSensors ( vData.mAdc5vsensors ); + adc24V ( vData.mAdc24v ); + adc24VRegen ( vData.mAdc24vregen ); + adcFpgaAdcRef ( vData.mAdcfpgaadcref ); + adcPbaRef ( vData.mAdcpbaref ); + fpgaVcc ( vData.mFpgavcc ); + fpgaVaux ( vData.mFpgavaux ); + fpgaVpvn ( vData.mFpgavpvn ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); + +} \ No newline at end of file Index: sources/view/view_autogen/VTDVoltages.h =================================================================== diff -u --- sources/view/view_autogen/VTDVoltages.h (revision 0) +++ sources/view/view_autogen/VTDVoltages.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,45 @@ + +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VViewAutoGen.h" +#include "MTDVoltagesData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDVoltages class + * \details The The ID_TDVoltagesData view + * + * \sa Model::MTDVoltagesData + * + */ +class VTDVoltages : public QObject +{ + Q_OBJECT + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0 ) + + + PROPERTY( float, adc1_2VProc , 0 ) + PROPERTY( float, adc3_3V , 0 ) + PROPERTY( float, adc5VLogic , 0 ) + PROPERTY( float, adc5VSensors , 0 ) + PROPERTY( float, adc24V , 0 ) + PROPERTY( float, adc24VRegen , 0 ) + PROPERTY( float, adcFpgaAdcRef, 0 ) + PROPERTY( float, adcPbaRef , 0 ) + PROPERTY( float, fpgaVcc , 0 ) + PROPERTY( float, fpgaVaux , 0 ) + PROPERTY( float, fpgaVpvn , 0 ) + + VIEW_DEC(VTDVoltages, TDVoltagesData) +}; +} \ No newline at end of file Index: sources/view/view_autogen/VUIActiveAlarmsListRequest.cpp =================================================================== diff -u --- sources/view/view_autogen/VUIActiveAlarmsListRequest.cpp (revision 0) +++ sources/view/view_autogen/VUIActiveAlarmsListRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VUIActiveAlarmsListRequest.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VUIActiveAlarmsListRequest) + +void View::VUIActiveAlarmsListRequest::initConnections() { + ADJUST_VIEW_CONNECTION(UIActiveAlarmsListRequestData); +} + +void View::VUIActiveAlarmsListRequest::doAdjustment() { + UIActiveAlarmsListRequestData _data; + + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VUIActiveAlarmsListRequest.h =================================================================== diff -u --- sources/view/view_autogen/VUIActiveAlarmsListRequest.h (revision 0) +++ sources/view/view_autogen/VUIActiveAlarmsListRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,45 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MUIActiveAlarmsListRequest.h" + +namespace View { + +/*! + * \brief The VUIActiveAlarmsListRequest class + * \details View for Model's Data representation. + * + * \sa Model::MUIActiveAlarmsListRequest + * + */ +class VUIActiveAlarmsListRequest : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VUIActiveAlarmsListRequest) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VUIActiveAlarmsListRequest + */ + void doAdjustment(); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VUIActiveAlarmsListRequest + * \param vData - data model for the VUIActiveAlarmsListRequest request + */ + void didAdjustment(const UIActiveAlarmsListRequestData &vData); +}; +} \ No newline at end of file Index: sources/view/view_autogen/VUICheckIN.cpp =================================================================== diff -u --- sources/view/view_autogen/VUICheckIN.cpp (revision 0) +++ sources/view/view_autogen/VUICheckIN.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,17 @@ + +#include "VUICheckIN.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VUICheckIN) + +void View::VUICheckIN::initConnections() { + ADJUST_VIEW_CONNECTION(UICheckINData); +} + +void View::VUICheckIN::doAdjustment() { + UICheckINData _data; + + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VUICheckIN.h =================================================================== diff -u --- sources/view/view_autogen/VUICheckIN.h (revision 0) +++ sources/view/view_autogen/VUICheckIN.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,45 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MUICheckIN.h" + +namespace View { + +/*! + * \brief The VUICheckIN class + * \details View for Model's Data representation. + * + * \sa Model::MUICheckIN + * + */ +class VUICheckIN : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VUICheckIN) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VUICheckIN + */ + void doAdjustment(); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VUICheckIN + * \param vData - data model for the VUICheckIN request + */ + void didAdjustment(const UICheckINData &vData); +}; +} \ No newline at end of file Index: sources/view/view_autogen/VUIInitiateTreatmentWorkflow.cpp =================================================================== diff -u --- sources/view/view_autogen/VUIInitiateTreatmentWorkflow.cpp (revision 0) +++ sources/view/view_autogen/VUIInitiateTreatmentWorkflow.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VUIInitiateTreatmentWorkflow.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VUIInitiateTreatmentWorkflow) + +void View::VUIInitiateTreatmentWorkflow::initConnections() { + ADJUST_VIEW_CONNECTION(UIInitiateTreatmentWorkflowData); +} + +void View::VUIInitiateTreatmentWorkflow::doAdjustment( + quint32 cmd) { + UIInitiateTreatmentWorkflowData _data; + + _data.mCmd = cmd; + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VUIInitiateTreatmentWorkflow.h =================================================================== diff -u --- sources/view/view_autogen/VUIInitiateTreatmentWorkflow.h (revision 0) +++ sources/view/view_autogen/VUIInitiateTreatmentWorkflow.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,47 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MUIInitiateTreatmentWorkflow.h" + +namespace View { + +/*! + * \brief The VUIInitiateTreatmentWorkflow class + * \details View for Model's Data representation. + * + * \sa Model::MUIInitiateTreatmentWorkflow + * + */ +class VUIInitiateTreatmentWorkflow : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VUIInitiateTreatmentWorkflow) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VUIInitiateTreatmentWorkflow + * \param cmd + */ + void doAdjustment( + quint32 cmd); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VUIInitiateTreatmentWorkflow + * \param vData - data model for the VUIInitiateTreatmentWorkflow request + */ + void didAdjustment(const UIInitiateTreatmentWorkflowData &vData); +}; +} \ No newline at end of file Index: sources/view/view_autogen/VUITreatmentParamsConfirmed.cpp =================================================================== diff -u --- sources/view/view_autogen/VUITreatmentParamsConfirmed.cpp (revision 0) +++ sources/view/view_autogen/VUITreatmentParamsConfirmed.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VUITreatmentParamsConfirmed.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VUITreatmentParamsConfirmed) + +void View::VUITreatmentParamsConfirmed::initConnections() { + ADJUST_VIEW_CONNECTION(UITreatmentParamsConfirmedData); +} + +void View::VUITreatmentParamsConfirmed::doAdjustment( + quint32 confirmed) { + UITreatmentParamsConfirmedData _data; + + _data.mConfirmed = confirmed; + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VUITreatmentParamsConfirmed.h =================================================================== diff -u --- sources/view/view_autogen/VUITreatmentParamsConfirmed.h (revision 0) +++ sources/view/view_autogen/VUITreatmentParamsConfirmed.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,47 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MUITreatmentParamsConfirmed.h" + +namespace View { + +/*! + * \brief The VUITreatmentParamsConfirmed class + * \details View for Model's Data representation. + * + * \sa Model::MUITreatmentParamsConfirmed + * + */ +class VUITreatmentParamsConfirmed : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VUITreatmentParamsConfirmed) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VUITreatmentParamsConfirmed + * \param confirmed + */ + void doAdjustment( + quint32 confirmed); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VUITreatmentParamsConfirmed + * \param vData - data model for the VUITreatmentParamsConfirmed request + */ + void didAdjustment(const UITreatmentParamsConfirmedData &vData); +}; +} \ No newline at end of file Index: sources/view/view_autogen/VUITreatmentParamsTOValidate.cpp =================================================================== diff -u --- sources/view/view_autogen/VUITreatmentParamsTOValidate.cpp (revision 0) +++ sources/view/view_autogen/VUITreatmentParamsTOValidate.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,55 @@ + +#include "VUITreatmentParamsTOValidate.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VUITreatmentParamsTOValidate) + +void View::VUITreatmentParamsTOValidate::initConnections() { + ADJUST_VIEW_CONNECTION(UITreatmentParamsTOValidateData); +} + +void View::VUITreatmentParamsTOValidate::doAdjustment( + quint32 bloodFlowRate_mL_min, + quint32 dialysateFlowRate_mL_min, + quint32 treatmentDuration_min, + quint32 salineBolusVolume_mL, + quint32 hepStopTime_min, + quint32 hepType, + quint32 acidConcentrate, + quint32 bicarbConcentrate, + quint32 dialyzerType, + quint32 bpInterval_min, + quint32 rinsebackFlowRate_mL_min, + quint32 rinsebackVolume_mL, + qint32 arterialPressureLimitWindow_mmHg, + qint32 venousPressureLimitWindow_mmHg, + qint32 venousPressureLimitAsymmetric_mmHg, + qint32 tmpLimitWindow_mmHg, + float dialysateTemperature_degC, + float hepDispenseRate_mL_hr, + float hepBolusVolume_mL) { + UITreatmentParamsTOValidateData _data; + + _data.mBloodflowrate_ml_min = bloodFlowRate_mL_min ; + _data.mDialysateflowrate_ml_min = dialysateFlowRate_mL_min ; + _data.mTreatmentduration_min = treatmentDuration_min ; + _data.mSalinebolusvolume_ml = salineBolusVolume_mL ; + _data.mHepstoptime_min = hepStopTime_min ; + _data.mHeptype = hepType ; + _data.mAcidconcentrate = acidConcentrate ; + _data.mBicarbconcentrate = bicarbConcentrate ; + _data.mDialyzertype = dialyzerType ; + _data.mBpinterval_min = bpInterval_min ; + _data.mRinsebackflowrate_ml_min = rinsebackFlowRate_mL_min ; + _data.mRinsebackvolume_ml = rinsebackVolume_mL ; + _data.mArterialpressurelimitwindow_mmhg = arterialPressureLimitWindow_mmHg ; + _data.mVenouspressurelimitwindow_mmhg = venousPressureLimitWindow_mmHg ; + _data.mVenouspressurelimitasymmetric_mmhg = venousPressureLimitAsymmetric_mmHg; + _data.mTmplimitwindow_mmhg = tmpLimitWindow_mmHg ; + _data.mDialysatetemperature_degc = dialysateTemperature_degC ; + _data.mHepdispenserate_ml_hr = hepDispenseRate_mL_hr ; + _data.mHepbolusvolume_ml = hepBolusVolume_mL ; + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VUITreatmentParamsTOValidate.h =================================================================== diff -u --- sources/view/view_autogen/VUITreatmentParamsTOValidate.h (revision 0) +++ sources/view/view_autogen/VUITreatmentParamsTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,83 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MUITreatmentParamsTOValidate.h" + +namespace View { + +/*! + * \brief The VUITreatmentParamsTOValidate class + * \details View for Model's Data representation. + * + * \sa Model::MUITreatmentParamsTOValidate + * + */ +class VUITreatmentParamsTOValidate : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VUITreatmentParamsTOValidate) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VUITreatmentParamsTOValidate + * \param bloodFlowRate_mL_min + * \param dialysateFlowRate_mL_min + * \param treatmentDuration_min + * \param salineBolusVolume_mL + * \param hepStopTime_min + * \param hepType + * \param acidConcentrate + * \param bicarbConcentrate + * \param dialyzerType + * \param bpInterval_min + * \param rinsebackFlowRate_mL_min + * \param rinsebackVolume_mL + * \param arterialPressureLimitWindow_mmHg + * \param venousPressureLimitWindow_mmHg + * \param venousPressureLimitAsymmetric_mmHg + * \param tmpLimitWindow_mmHg + * \param dialysateTemperature_degC + * \param hepDispenseRate_mL_hr + * \param hepBolusVolume_mL + */ + void doAdjustment( + quint32 bloodFlowRate_mL_min, + quint32 dialysateFlowRate_mL_min, + quint32 treatmentDuration_min, + quint32 salineBolusVolume_mL, + quint32 hepStopTime_min, + quint32 hepType, + quint32 acidConcentrate, + quint32 bicarbConcentrate, + quint32 dialyzerType, + quint32 bpInterval_min, + quint32 rinsebackFlowRate_mL_min, + quint32 rinsebackVolume_mL, + qint32 arterialPressureLimitWindow_mmHg, + qint32 venousPressureLimitWindow_mmHg, + qint32 venousPressureLimitAsymmetric_mmHg, + qint32 tmpLimitWindow_mmHg, + float dialysateTemperature_degC, + float hepDispenseRate_mL_hr, + float hepBolusVolume_mL); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VUITreatmentParamsTOValidate + * \param vData - data model for the VUITreatmentParamsTOValidate request + */ + void didAdjustment(const UITreatmentParamsTOValidateData &vData); +}; +} \ No newline at end of file Index: sources/view/view_autogen/VUIUFPauseResumeRequest.cpp =================================================================== diff -u --- sources/view/view_autogen/VUIUFPauseResumeRequest.cpp (revision 0) +++ sources/view/view_autogen/VUIUFPauseResumeRequest.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VUIUFPauseResumeRequest.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VUIUFPauseResumeRequest) + +void View::VUIUFPauseResumeRequest::initConnections() { + ADJUST_VIEW_CONNECTION(UIUFPauseResumeRequestData); +} + +void View::VUIUFPauseResumeRequest::doAdjustment( + quint32 payload) { + UIUFPauseResumeRequestData _data; + + _data.mPayload = payload; + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VUIUFPauseResumeRequest.h =================================================================== diff -u --- sources/view/view_autogen/VUIUFPauseResumeRequest.h (revision 0) +++ sources/view/view_autogen/VUIUFPauseResumeRequest.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,47 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MUIUFPauseResumeRequest.h" + +namespace View { + +/*! + * \brief The VUIUFPauseResumeRequest class + * \details View for Model's Data representation. + * + * \sa Model::MUIUFPauseResumeRequest + * + */ +class VUIUFPauseResumeRequest : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VUIUFPauseResumeRequest) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VUIUFPauseResumeRequest + * \param payload + */ + void doAdjustment( + quint32 payload); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VUIUFPauseResumeRequest + * \param vData - data model for the VUIUFPauseResumeRequest request + */ + void didAdjustment(const UIUFPauseResumeRequestData &vData); +}; +} \ No newline at end of file Index: sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.cpp =================================================================== diff -u --- sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.cpp (revision 0) +++ sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.cpp (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,19 @@ + +#include "VUIUltrafiltrationVolumeTOValidate.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VUIUltrafiltrationVolumeTOValidate) + +void View::VUIUltrafiltrationVolumeTOValidate::initConnections() { + ADJUST_VIEW_CONNECTION(UIUltrafiltrationVolumeTOValidateData); +} + +void View::VUIUltrafiltrationVolumeTOValidate::doAdjustment( + float uFVolumeMl) { + UIUltrafiltrationVolumeTOValidateData _data; + + _data.mUfvolumeml = uFVolumeMl; + emit didAdjustment(_data); +} \ No newline at end of file Index: sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.h =================================================================== diff -u --- sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.h (revision 0) +++ sources/view/view_autogen/VUIUltrafiltrationVolumeTOValidate.h (revision e2b8925fd32e359b3c440acd61e921f0be825a65) @@ -0,0 +1,47 @@ + +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MUIUltrafiltrationVolumeTOValidate.h" + +namespace View { + +/*! + * \brief The VUIUltrafiltrationVolumeTOValidate class + * \details View for Model's Data representation. + * + * \sa Model::MUIUltrafiltrationVolumeTOValidate + * + */ +class VUIUltrafiltrationVolumeTOValidate : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + VIEW_DEC_CLASS(VUIUltrafiltrationVolumeTOValidate) + + // ----- Adjust Duration +public slots: + /*! + * \brief doAdjustment + * \details the invocable slot in VUIUltrafiltrationVolumeTOValidate + * \param uFVolumeMl + */ + void doAdjustment( + float uFVolumeMl); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal for VUIUltrafiltrationVolumeTOValidate + * \param vData - data model for the VUIUltrafiltrationVolumeTOValidate request + */ + void didAdjustment(const UIUltrafiltrationVolumeTOValidateData &vData); +}; +} \ No newline at end of file