/*! * * Copyright (c) 2021-2024 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 MAdjustHDRequests.h * \author (last) Dara Navaei * \date (last) 06-May-2024 * \author (original) Behrouz NematiPour * \date (original) 16-Apr-2021 * */ #pragma once // Qt // FW #include "Compatible.h" // project #include "MAdjustRequestsBase.h" using namespace Gui; namespace Model { /*! * Simple request models * These are models to send the request for the doAdjustment * The the only reason thy have been defined to help overloading the adjustment methods * Otherwise the parameters are so tiny models. */ /*! * \brief The MAdjustTDDateTime class * \details The model to request starting a treatment * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0x6C00 | 0x100 | Req | Y | UI | HD | Set RTC Date and Time | * * | Payload || * | || * | #1:(U32) mEpoch | \ref mEpoch | * */ class MAdjustTDDateTimeReq : public MModel { public: quint32 mEpoch; QString toString() { return toString({mEpoch}); } static QString toString(const QVariantList &vParameters) { return MModel::toString("AdjustTDDateTime", vParameters); } }; /*! * \brief The MAdjustAlarmVolumeReq class * \details The HD alarm volume request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0x0B00 | 0x041 | Req | Y | UI | TD | TD Set Alarm Volume Request | * * | Payload || * | || * | #1:(U32) volume | \ref MAdjustHDAlarmVolumeResponse | * */ class MAdjustHDAlarmVolumeReq : public MModel { const int hw2ui = 1; // HD vol range is [1-5]; set to 20 if we show [20%-100%] to user (100 / 5). quint32 _volume = 5; // HD vol range is [1-5]; set to 100 if we show [20%-100%] since values in range of [20, 40, 60, 80, 100] or [1..5]*20 public: quint32 volume2HD() const { return _volume / hw2ui; } quint32 volume() { return _volume; } void volume(quint32 vVolume) { _volume = vVolume; } QString toString() { return toString( { _volume } ); } static QString toString(const QVariantList &vParameters) { return MModel::toString("AdjustHDAlarmVolume", vParameters); } }; /*! * \brief The MAdjustVersionsReq class * \details The DG/HD versions request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0x1C00 | 0x200 | Req | Y | UI | All | DG/HD Versions/SN Request | * * | Payload || * | || * | #1:(U08) | major | * | #2:(U08) | minor | * | #3:(U08) | micro | * | #4:(U16) | revision(build) | * | #5:(U32) | compatibility | * */ class MAdjustVersionsReq : public MModel { public: quint8 ver_major = QString("%1").arg(VER_MAJOR ).toUInt(); quint8 ver_minor = QString("%1").arg(VER_MINOR ).toUInt(); quint8 ver_micro = QString("%1").arg(VER_MICRO ).toUInt(); quint16 ver_revis = QString("%1").arg(VER_REVIS ).toUInt(); quint32 ver_comp = QString("%1").arg(SW_COMPATIBILITY_REV).toUInt(); QString toString() { return toString({ ver_major , ver_minor , ver_micro , ver_revis , ver_comp , }); } static QString toString(const QVariantList &vParameters) { return MModel::toString("POSTInfReq", vParameters); } static Can::Can_Id canid () { return Can::eChlid_UI_Sync; } }; /*! * \brief The MAdjustVersionsRsp class * \details The UI versions response model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0x1600 | 0x041 | Rsp | Y | UI | TD | UI Versions/SN Response | * * | Payload || * | || * | #1:(U08) | major | * | #2:(U08) | minor | * | #3:(U08) | micro | * | #4:(U16) | revision(build) | * | #5:(U32) | compatibility | * */ class MAdjustVersionsRsp : public MAdjustVersionsReq { public: static QString toString(const QVariantList &vParameters) { return MModel::toString("VersionRsp", vParameters); } static Can::Can_Id canid () { return Can::Can_Id::eChlid_UI_TD; } }; /*! * \brief The MAdjustServiceDatesReq class * \details The DG/HD versions request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:---------------------------:| * | 0x8900 | 0x200 | Req | Y | UI | All | DG/HD Service Dates Request | * * | Payload || * | || * | (N/A) || * */ class MAdjustServiceDatesReq : public MModel { public: QString toString() { return toString({}); } static QString toString(const QVariantList &vParameters) { return MModel::toString("ServiceDates", vParameters); } static Can::Can_Id canid () { return Can::eChlid_UI_Sync; } }; /*! * \brief The MAdjustServiceModeReq class * \details The HD Service Mode request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0xB000 | 0x100 | Req | Y | UI | HD | Service Mode Request | * * | Payload || * | || * | (N/A) || * */ class MAdjustServiceModeReq : public MModel { public: QString toString() { return toString({}); } static QString toString(const QVariantList &vParameters) { return MModel::toString("ServiceMode", vParameters); } static Can::Can_Id canid () { return Can::eChlid_UI_TD; } }; /*! * \brief The MAdjustUIPostFinalResultReq class * \details The UI power on self test result model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0x9200 | 0x100 | Req | Y | UI | HD | Report UI POST result | * * | Payload || * | || * | #1:(U32) mResult | \ref mResult | * */ class MAdjustUIPostFinalResultReq : public MModel { public: quint32 mResult; QString toString() { return toString( { mResult } ); } static QString toString(const QVariantList &vParameters) { return MModel::toString("UIPOSTDone", vParameters); } }; /*! * \brief The MHDUsageInfoRequest class * \details The HD usage info request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:---------------------------:| * | 0xA000 | 0x040 | Req | Y | HD | UI | HD Request for Usage Info | * * | Payload || * | || * | (N/A) || * */ class MHDUsageInfoReq : public MModel { public: QString toString() { return toString({}); } static QString toString(const QVariantList &vParameters) { return MModel::toString("HDUsageInfoReq", vParameters); } static Can::Can_Id canid () { return Can::eChlid_UI_Sync; } }; /*! * \brief The MAdjustInstitutionalReqclass * \details The HD Service Mode request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0x8900 | 0x100 | Req | Y | UI | HD | Institutional Record Request | * * | Payload || * | || * | (N/A) || * */ class MAdjustInstitutionalRecordReq : public MModel { public: QString toString() { return toString({}); } static QString toString(const QVariantList &vParameters) { return MModel::toString("InstitutionalRecord", vParameters); } static Can::Can_Id canid () { return Can::eChlid_UI_TD; } }; /*! * \brief The MAdjustHDResetReq class * \details The DG/HD versions request model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:------:|:------:|:----:|:---:|:---:|:----:|:---------------------------:| * | 0xB900 | 0x200 | Req | Y | UI | All | HD reset request | * * | Payload || * | || * | (N/A) || * */ class MAdjustHDResetInSrvceModeReq : public MModel { public: QString toString() { return toString({}); } static QString toString(const QVariantList &vParameters) { return MModel::toString("HDResetInServiceMode", vParameters); } static Can::Can_Id canid () { return Can::eChlid_UI_TD; } }; } typedef Model:: MAdjustServiceModeReq AdjustServiceModeRequestData; typedef Model:: MAdjustVersionsReq AdjustVersionsRequestData; typedef Model:: MAdjustVersionsRsp AdjustVersionsResponseData; typedef Model:: MAdjustServiceDatesReq AdjustServiceDatesRequestData; typedef Model:: MAdjustTDDateTimeReq AdjustTDDateTimeRequestData; typedef Model:: MAdjustHDAlarmVolumeReq AdjustHDAlarmVolumeRequestData; typedef Model:: MAdjustUIPostFinalResultReq AdjustUIPostFinalResultRequestData; typedef Model:: MHDUsageInfoReq HDUsageInfoRequestData; typedef Model::MAdjustInstitutionalRecordReq AdjustInstitutionalRequestData; typedef Model:: MAdjustHDResetInSrvceModeReq AdjustHDResetInSrvcRequestData;