Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r46e35d6624fa2daa5e05e869d5285c21fe1d9c9f -r13e65c3d271d503c2e2e2f1f20736652c470f8cc --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 46e35d6624fa2daa5e05e869d5285c21fe1d9c9f) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 13e65c3d271d503c2e2e2f1f20736652c470f8cc) @@ -7,7 +7,7 @@ * * \file MessageGlobals.h * \author (last) Behrouz NematiPour - * \date (last) 07-Feb-2022 + * \date (last) 18-Apr-2022 * \author (original) Behrouz NematiPour * \date (original) 26-Aug-2020 * @@ -49,21 +49,29 @@ // 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_PowerOff , 1 }, // 1 byte {Gui::GuiActionType::ID_ShuttingDown , 0 }, {Gui::GuiActionType::ID_KeepAlive , 255 }, // 0 => 255 to be able to run a multi-frame test. + // Generic Confirm + {Gui::GuiActionType::ID_DuetConfirmHDi , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_DuetConfirmUIr , 2 * 4 }, // 2 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 + // Service Mode + {Gui::GuiActionType::ID_AdjustServiceModeReq , 0 * 4 }, // 0 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustServiceModeRsp , 2 * 4 }, // 2 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_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 @@ -72,12 +80,13 @@ {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 , 2 * 4 }, // 2 parameter each 4bytes {Gui::GuiActionType::ID_PreTreatmentStates , 9 * 4 }, // 9 parameters each 4bytes - {Gui::GuiActionType::ID_TreatmentStates , 9 * 4 }, // 9 parameters each 4bytes - {Gui::GuiActionType::ID_TreatmentStates , 1 * 4 }, // 1 parameter 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 @@ -90,15 +99,16 @@ {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_DGTemperaturesData , 13 * 4 }, // 13 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 // ---- 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_AlarmTriggered , 8 * 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 @@ -222,9 +232,9 @@ {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 + {Gui::GuiActionType::ID_AdjustServiceDatesReq , 0 * 4 }, // 0 parameter + {Gui::GuiActionType::ID_AdjustServiceDatesHDRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustServiceDatesDGRsp , 2 * 4 }, // 2 parameters each 4bytes // ---- RTC {Gui::GuiActionType::ID_AdjustHDDateTimeReq , 1 * 4 }, // 1 parameters each 4bytes @@ -333,6 +343,7 @@ eCan_Unknown = -1, eCan_HD = 0, eCan_DG = 1, + eCan_DI = 2, }; /*! @@ -349,20 +360,20 @@ bool initialized = false; bool isEmpty () { - // coco begin validated:Has been validated manually. + // disabled coco begin validated:Has been validated manually. // 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(); - // coco end + // disabled coco end } bool isComplete() { - // coco begin validated:Has been validated manually. + // disabled coco begin validated:Has been validated manually. // 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; - // coco end + // disabled coco end } };