Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r7710fea4486a639caaa3c510add0eac0bcd4ddcc -r2124420a19819f672e9180979ff3762dc083eb7f --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 7710fea4486a639caaa3c510add0eac0bcd4ddcc) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 2124420a19819f672e9180979ff3762dc083eb7f) @@ -1,15 +1,15 @@ /*! - * - * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * + * Copyright (c) 2020-2022 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * - * \file MessageGlobals.h - * \author (last) Peter Lucia - * \date (last) 15-Oct-2020 - * \author (original) Behrouz NematiPour - * \date (original) 26-Aug-2020 + * \file MessageGlobals.h + * \author (last) Behrouz NematiPour + * \date (last) 07-Feb-2022 + * \author (original) Behrouz NematiPour + * \date (original) 26-Aug-2020 * */ #pragma once @@ -41,109 +41,218 @@ * \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_PowerOff , 1 }, - {Gui::GuiActionType::ID_ShuttingDown , 0 }, - {Gui::GuiActionType::ID_KeepAlive , 255 }, // 0 => 255 to be able to run a multi-frame test. + {Gui::GuiActionType::ID_PowerOff , 1 }, + {Gui::GuiActionType::ID_ShuttingDown , 0 }, + {Gui::GuiActionType::ID_KeepAlive , 255 }, // 0 => 255 to be able to run a multi-frame test. - // ----- - {Gui::GuiActionType::ID_TreatmentTime , 3 * 4 }, // 3 parameters each 4bytes - {Gui::GuiActionType::ID_BloodFlow , 7 * 4 }, // 7 parameters each 4bytes - {Gui::GuiActionType::ID_DialysateInletFlow , 7 * 4 }, // 7 parameters each 4bytes - {Gui::GuiActionType::ID_DialysateOutletFlow , 7 * 4 }, // 7 parameters each 4bytes - {Gui::GuiActionType::ID_PressureOcclusion , 5 * 4 }, // 5 parameters each 4bytes - {Gui::GuiActionType::ID_Saline , 3 * 4 }, // 3 parameters each 4bytes - {Gui::GuiActionType::ID_Heparin , 1 * 4 }, // 1 parameters each 4bytes + // POST + {Gui::GuiActionType::ID_HDPostSingleResultData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_HDPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_DGPostSingleResultData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_DGPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_UIPostFinalResultData , 1 * 4 }, // 1 parameters each 4bytes + // ----- + {Gui::GuiActionType::ID_TreatmentTime , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_BloodFlow , 8 * 4 }, // 8 parameters each 4bytes + {Gui::GuiActionType::ID_DialysateInletFlow , 8 * 4 }, // 8 parameters each 4bytes + {Gui::GuiActionType::ID_DialysateOutletFlow , 7 * 4 }, // 7 parameters each 4bytes + {Gui::GuiActionType::ID_PressureOcclusion , 5 * 4 }, // 5 parameters each 4bytes + {Gui::GuiActionType::ID_Saline , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_Heparin , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_Rinseback , 6 * 4 }, // 6 parameters each 4bytes + {Gui::GuiActionType::ID_Recirculate , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_BloodPrime , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_TreatmentStop , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_HDAirBubbleData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_HDAirTrapData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_HDBloodLeakData , 10 * 4 }, // 2 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_HDOperationModeData , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_HDOperationModeData , 2 * 4 }, // 2 parameter each 4bytes + {Gui::GuiActionType::ID_PreTreatmentStates , 9 * 4 }, // 9 parameters each 4bytes + {Gui::GuiActionType::ID_TreatmentStates , 10 * 4 }, // 9 parameters each 4bytes + {Gui::GuiActionType::ID_PostTreatmentStates , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_DisinfectStates , 3 * 4 }, // 3 parameter each 4bytes - // ---- - {Gui::GuiActionType::ID_DGROPumpData , 3 * 4 }, // 3 parameters each 4bytes - {Gui::GuiActionType::ID_DGPressuresData , 4 * 4 }, // 4 parameters each 4bytes - {Gui::GuiActionType::ID_DGDrainPumpData , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::ID_DGOperationModeData , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_DGReservoirData , 3 * 4 }, // 3 parameters each 4bytes - {Gui::GuiActionType::ID_DGValvesStatesData , 1 * 2 }, // 1 parameters each 2bytes - {Gui::GuiActionType::ID_DGHeatersData , 3 * 4 }, // 3 parameters each 4bytes - {Gui::GuiActionType::ID_DGLoadCellReadingsData , 4 * 4 }, // 4 parameters each 4bytes - {Gui::GuiActionType::ID_DGTemperaturesData , 12 * 4 }, // 12 parameters each 4bytes + // DG Data Messages + {Gui::GuiActionType::ID_DGROPumpData , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_DGPressuresData , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_DGDrainPumpData , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_DGOperationModeData , 2 * 4 }, // 2 parameter each 4bytes + {Gui::GuiActionType::ID_DGReservoirData , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_DGValvesStatesData , 1 * 2 }, // 1 parameters each 2bytes + {Gui::GuiActionType::ID_DGHeatersData , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_DGLoadCellReadingsData , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_DGTemperaturesData , 12 * 4 }, // 12 parameters each 4bytes + {Gui::GuiActionType::ID_DGAccelerometerData , 9 * 4 }, // 9 parameters each 4bytes + {Gui::GuiActionType::ID_DGConductivityData , 5 * 4 }, // 9 parameters each 4bytes + // HD Data Messages + {Gui::GuiActionType::ID_HDAccelerometerData , 9 * 4 }, // 9 parameters each 4bytes + {Gui::GuiActionType::ID_HDSyringePumpData , 9 * 4 }, // 9 parameters each 4bytes - // ---- - {Gui::GuiActionType::ID_AlarmStatus , 4 * 4 + 2 }, // 4 parameters each 4bytes + 1 parameter 2bytes - {Gui::GuiActionType::ID_AlarmTriggered , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AlarmCleared , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AlarmClearedConditionReq , 1 * 4 }, // 1 parameter each 4bytes // the same message 63:0x3F00 - {Gui::GuiActionType::ID_AlarmClearedConditionRsp , 1 * 4 }, // 1 parameter each 4bytes // the same message 63:0x3F00 - {Gui::GuiActionType::ID_AlarmSilenceReq , 1 * 1 }, // 1 parameter each 1bytes - {Gui::GuiActionType::ID_AlarmUserActionReq , 1 * 4 }, // 1 parameter each 4bytes + // ---- TODO : AFTER GIVING IT SOME THOUGHT, IT SEEMS WE CAN GET THESE LEN FROM THE MODEL AND DO NOT NEED TO HAVE THIS BUT NEED TO INVESTIGATE MORE. + {Gui::GuiActionType::ID_AlarmStatus , 4 * 4 + 2 }, // 4 parameters each 4bytes + 1 parameter 2bytes + {Gui::GuiActionType::ID_AlarmTriggered , 5 * 4 }, // 5 parameters each 4bytes + {Gui::GuiActionType::ID_AlarmCleared , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AlarmClearedConditionReq , 1 * 4 }, // 1 parameter each 4bytes // the same message 63:0x3F00 + {Gui::GuiActionType::ID_AlarmClearedConditionRsp , 1 * 4 }, // 1 parameter each 4bytes // the same message 63:0x3F00 + {Gui::GuiActionType::ID_AlarmSilenceReq , 1 * 4 }, // 1 parameter each 1bytes + {Gui::GuiActionType::ID_AlarmUserActionReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AlarmActiveListReq , 0 * 4 }, // 0 parameter each 4bytes + {Gui::GuiActionType::ID_AlarmActiveListRsp , 12 * 4 }, //12 parameter each 4bytes + {Gui::GuiActionType::ID_AlarmVolumeSetReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AlarmVolumeSetRsp , 2 * 4 }, // 2 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_StartTreatmentReq , 1 * 4 }, // 1 parameters each 4bytes - {Gui::GuiActionType::ID_StartTreatmentRsp , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::ID_ConfirmTreatmentReq , 1 * 4 }, // 1 parameters each 4bytes - {Gui::GuiActionType::ID_EndTreatmentReq , 0 }, - {Gui::GuiActionType::ID_EndTreatmentRsp , 0 }, + {Gui::GuiActionType::ID_TreatmentRanges , 6 * 4 }, // 6 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_TreatmentRanges , 6 * 4 }, // 6 parameters each 4bytes - {Gui::GuiActionType::ID_TreatmentStates , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustBloodDialysateReq , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustBloodDialysateRsp , 4 * 4 }, // 4 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_AdjustBloodDialysateReq , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::ID_AdjustBloodDialysateRsp , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustDurationReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustDurationRsp , 4 * 4 }, // 4 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_AdjustDurationReq , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AdjustDurationRsp , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationStateRsp , 3 * 4 }, // 3 parameter each 4bytes // ---- - {Gui::GuiActionType::ID_AdjustUltrafiltrationInitReq , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AdjustUltrafiltrationInitRsp , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationEditReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp , 8 * 4 }, // 8 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AdjustUltrafiltrationStateRsp , 3 * 4 }, // 3 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp , 5 * 4 }, // 5 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_AdjustUltrafiltrationEditReq , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp , 8 * 4 }, // 8 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustPressuresLimitsReq , 4 * 4 }, // 4 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustPressuresLimitsRsp , 6 * 4 }, // 6 parameters each 4bytes + // Pre-Treatment + // Create Parameters + // Pre-Treatment Initiate Treatment + {Gui::GuiActionType::ID_AdjustInitTreatmentReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustInitTreatmentRsp , 2 * 4 }, // 2 parameters each 4bytes + // Pre-Treatment Treatment Parameters Validation/Confirm + {Gui::GuiActionType::ID_AdjustParametersValidationReq , 18 * 4 }, //18 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustParametersValidationRsp , 19 * 4 }, //19 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustParametersConfirmReq , 1 * 4 }, // 1 parameters each 4bytes + // Pre-Treatment Water Sample + {Gui::GuiActionType::ID_DGFilterFlushData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustWaterSampleReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustWaterSampleRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustWaterSampleResultReq , 1 * 4 }, // 1 parameters each 4bytes + // Pre-Treatment Consumables Installation Confirm + {Gui::GuiActionType::ID_AdjustConsumablesConfirmReq , 0 * 4 }, // 0 parameter + // Pre-Treatment SelfTest NoCartridge Progress Data + {Gui::GuiActionType::ID_SelfTestNoCartridgeData , 2 * 4 }, // 2 parameters each 4bytes + // Pre-Treatment Disposables Installation Confirm + {Gui::GuiActionType::ID_AdjustDisposablesConfirmReq , 0 * 4 }, // 0 parameter + // Pre-Treatment SelfTest Dry Progress Data + {Gui::GuiActionType::ID_SelfTestDryData , 2 * 4 }, // 2 parameters each 4bytes + // Pre-Treatment Disposable Priming + {Gui::GuiActionType::ID_AdjustDisposablesPrimeReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustDisposablesPrimeRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_DisposablesPrimeData , 2 * 4 }, // 2 parameters each 4bytes + // Pre-Treatment Patient Connection Begin + {Gui::GuiActionType::ID_AdjustPatientConnectionBeginReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustPatientConnectionBeginRsp , 2 * 4 }, // 2 parameters each 4bytes + // Pre-Treatment Ultrafiltration initial volume + {Gui::GuiActionType::ID_AdjustUltrafiltrationInitReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustUltrafiltrationInitRsp , 3 * 4 }, // 3 parameters each 4bytes + // Pre-Treatment Patient Connection Confirm + {Gui::GuiActionType::ID_AdjustPatientConnectionConfirmReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustPatientConnectionConfirmRsp , 2 * 4 }, // 2 parameters each 4bytes + // Pre-Treatment Start Treatment + {Gui::GuiActionType::ID_AdjustStartTreatmentReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustStartTreatmentRsp , 2 * 4 }, // 2 parameters each 4bytes + // ---- - {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp , 5 * 4 }, + {Gui::GuiActionType::ID_AdjustSalineReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustSalineRsp , 3 * 4 }, // 3 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_AdjustPressuresLimitsReq , 4 * 4 }, // 4 parameter each 4bytes - {Gui::GuiActionType::ID_AdjustPressuresLimitsRsp , 6 * 4 }, // 6 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustHeparinReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustHeparinRsp , 2 * 4 }, // 3 parameters each 4bytes - // --- - {Gui::GuiActionType::ID_CreateTreatmentReq , 17 * 4 }, // 17 parameters, each 4 bytes - {Gui::GuiActionType::ID_CreateTreatmentRsp , 18 * 4 }, // 18 parameters, each 4 bytes + // ---- Rinseback + {Gui::GuiActionType::ID_AdjustRinsebackReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustRinsebackRsp , 2 * 4 }, // 2 parameters each 4bytes + // ---- Recirculate + {Gui::GuiActionType::ID_AdjustRecirculateReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustRecirculateRsp , 2 * 4 }, // 2 parameters each 4bytes - // ---- - {Gui::GuiActionType::ID_PrimingData , 3 * 4 }, // 3 parameters each 4bytes + // ---- Treatment End + {Gui::GuiActionType::ID_AdjustTreatmentEndReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustTreatmentEndRsp , 2 * 4 }, // 2 parameters each 4bytes - // ---- - {Gui::GuiActionType::ID_AdjustSalineReq , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AdjustSalineRsp , 3 * 4 }, // 3 parameters each 4bytes + // ---- Post-Treatment + // ---- Patient Disconnect + {Gui::GuiActionType::ID_AdjustPatientDisconnectionConfirmReq , 0 * 4 }, // 0 parameter + // ---- Disposables Removal + {Gui::GuiActionType::ID_AdjustDisposablesRemovalConfirmReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustDisposableRemovalConfirmRsp , 2 * 4 }, // 2 parameter each 4bytes + + // ---- Treatment Log + {Gui::GuiActionType::ID_AdjustTreatmentLogReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustTreatmentLogRsp , 36 * 4 }, //36 parameter each 4bytes + {Gui::GuiActionType::ID_TreatmentLogAvrgeData , 5 * 4 }, // 5 parameter each 4bytes + {Gui::GuiActionType::ID_TreatmentLogAlarmData , 3 * 4 }, // 3 parameter each 4bytes + {Gui::GuiActionType::ID_TreatmentLogEventData , 3 * 4 }, // 3 parameter each 4bytes + + // ---- Versions + {Gui::GuiActionType::ID_AdjustVersionsUIReq ,1+1+1+2+4 }, // variable length parameters + {Gui::GuiActionType::ID_AdjustVersionsHDRsp ,1+1+1+2+1+1+1+1}, // variable length parameters + {Gui::GuiActionType::ID_AdjustVersionsDGRsp ,1+1+1+2+1+1+1+1}, // variable length parameters + {Gui::GuiActionType::ID_AdjustSerialHDRsp , 1 * 15 }, // 1 parameter 15bytes + {Gui::GuiActionType::ID_AdjustSerialDGRsp , 1 * 15 }, // 1 parameter 15bytes // ---- - {Gui::GuiActionType::ID_AdjustHeparinReq , 1 * 4 }, // 1 parameter each 4bytes - {Gui::GuiActionType::ID_AdjustHeparinRsp , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustVersionsHDReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustVersionsUIRsp ,1+1+1+2+4 }, // variable length parameters + // ---- Service Information + {Gui::GuiActionType::ID_AdjustServiceReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustServiceHDRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustServiceDGRsp , 2 * 4 }, // 2 parameters each 4bytes + + // ---- RTC + {Gui::GuiActionType::ID_AdjustHDDateTimeReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustHDDateTimeRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustDGDateTimeReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustDGDateTimeRsp , 2 * 4 }, // 2 parameters each 4bytes + + // ---- Disinfect + {Gui::GuiActionType::ID_AdjustDisinfectReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustDisinfectRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustChemicalConfirmReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustChemicalConfirmRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_DisinfectDGFlushTimeData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_DisinfectDGHeatTimeData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_DisinfectDGChemicalTimeData , 2 * 4 }, // 2 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_CANBusFaultCount , 1 }, - {Gui::GuiActionType::ID_RawData , 255 }, - {Gui::GuiActionType::ID_Acknow , 0 }, - {Gui::GuiActionType::ID_AcknowGeneric , 1 }, + {Gui::GuiActionType::ID_CANBusFaultCount , 1 }, + {Gui::GuiActionType::ID_RawData , 255 }, + {Gui::GuiActionType::ID_Acknow , 0 }, + {Gui::GuiActionType::ID_AcknowGeneric , 1 }, - {Gui::GuiActionType::ID_HDDebugText , 40 + 1 }, // ASCII text - 40 bytes + null term - {Gui::GuiActionType::ID_DGDebugText , 40 + 1 }, // ASCII text - 40 bytes + null term + {Gui::GuiActionType::ID_HDDebugText , 40 + 1 }, // ASCII text - 40 bytes + null term + {Gui::GuiActionType::ID_DGDebugText , 40 + 1 }, // ASCII text - 40 bytes + null term + {Gui::GuiActionType::ID_HDGeneralEvent , 5 * 4 }, // 5 parameters each 4bytes + {Gui::GuiActionType::ID_DGGeneralEvent , 5 * 4 }, // 5 parameters each 4bytes + }; /*! @@ -178,7 +287,7 @@ /*! * \brief The Can_Id enum - * \details The Valid Can Bus MessageID of each frame + * \details The Valid CANBus MessageID of each frame */ enum Can_Id : quint16 { eChlid_LOWEST = 0x7FF, @@ -204,10 +313,30 @@ // UI listens occasionally eChlid_DG_UI = 0x070, ///< DG => UI - eChlid_UI_DG = eChlid_UI_Sync , ///< No direct channel has been defined between DG&UI, May be required for logging + eChlid_UI_DG = 0x110, ///< UI => DG [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_HD = 0x400, ///< dialin => HD + eHD_Dialin = 0x401, ///< HD => dialin + eDialin_DG = 0x402, ///< dialin => DG + eDG_Dialin = 0x403, ///< DG => dialin + eDialin_UI = 0x404, ///< dialin => UI + eUI_Dialin = 0x405, ///< UI => dialin }; /*! + * \brief The Can_Source enum + * \details The allowable sources of the CANBus messages. + */ +enum Can_Source { + eCan_Unknown = -1, + eCan_HD = 0, + eCan_DG = 1, +}; + +/*! * \brief The Message struct * \details The message structure after it's been converted form hex bytes to meaningful struct for UI. */