Index: leahi.qrc =================================================================== diff -u -ra5760947d3ed0d2748ba023a1c25e3c6aa0b1de1 -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a --- leahi.qrc (.../leahi.qrc) (revision a5760947d3ed0d2748ba023a1c25e3c6aa0b1de1) +++ leahi.qrc (.../leahi.qrc) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -33,8 +33,14 @@ sources/gui/qml/dialogs/AutoHideInfo.qml sources/gui/qml/dialogs/NotificationDialog.qml sources/gui/qml/dialogs/AlarmListDialog.qml - sources/gui/qml/dialogs/DiagnosticsDialog.qml + + sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml + sources/gui/qml/dialogs/diagnostics/DiagnosticsBase.qml + sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml + sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml + sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml + resources/images/Logo d.png resources/images/Logo DialityT.png Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r714b445d3240f22ca978a2b414e9fa393fb4e571 -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 714b445d3240f22ca978a2b414e9fa393fb4e571) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -93,14 +93,14 @@ // DG Data Messages {Gui::GuiActionType::ID_DGROPumpData , 6 * 4 }, // 6 parameters each 4bytes - {Gui::GuiActionType::ID_DGPressuresData , 5 * 4 }, // 5 parameters each 4bytes + {Gui::GuiActionType::ID_DDPressuresData , 5 * 4 }, // 5 parameters each 4bytes {Gui::GuiActionType::ID_DGDrainPumpData , 8 * 4 }, // 8 parameters each 4bytes {Gui::GuiActionType::ID_DGOperationModeData , 2 * 4 }, // 2 parameter each 4bytes {Gui::GuiActionType::ID_DGReservoirData , 12 * 4 }, // 12 parameters each 4bytes {Gui::GuiActionType::ID_DGValvesStatesData , 1 * 2 + 13 }, // 1 parameter 16bits & 13 parameters each 1 byte - {Gui::GuiActionType::ID_DGHeatersData , 13 * 4 }, // 13 parameters each 4bytes + {Gui::GuiActionType::ID_DDHeatersData , 13 * 4 }, // 13 parameters each 4bytes {Gui::GuiActionType::ID_DGLoadCellReadingsData , 4 * 4 }, // 4 parameters each 4bytes - {Gui::GuiActionType::ID_DGTemperaturesData , 23 * 4 }, // 23 parameters each 4bytes + {Gui::GuiActionType::ID_DDTemperaturesData , 23 * 4 }, // 23 parameters each 4bytes {Gui::GuiActionType::ID_DGAccelerometerData , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_DGConductivityData , 13 * 4 }, // 13 parameters each 4bytes // HD Data Messages Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -rd862dfcd402206e33b314c458e41c13b684a4565 -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision d862dfcd402206e33b314c458e41c13b684a4565) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -586,14 +586,14 @@ // DG data messages case Gui::GuiActionType::ID_DGROPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGROPumpData ); break; - case Gui::GuiActionType::ID_DGPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGPressuresData ); break; + case Gui::GuiActionType::ID_DDPressuresData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDPressuresData ); break; case Gui::GuiActionType::ID_DGDrainPumpData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGDrainPumpData ); break; case Gui::GuiActionType::ID_DGOperationModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGOperationModeData ); break; case Gui::GuiActionType::ID_DGReservoirData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGReservoirData ); break; case Gui::GuiActionType::ID_DGValvesStatesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGValvesStatesData ); break; - case Gui::GuiActionType::ID_DGHeatersData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGHeatersData ); break; + case Gui::GuiActionType::ID_DDHeatersData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDHeatersData ); break; case Gui::GuiActionType::ID_DGLoadCellReadingsData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGLoadCellReadingsData ); break; - case Gui::GuiActionType::ID_DGTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGTemperaturesData ); break; + case Gui::GuiActionType::ID_DDTemperaturesData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDTemperaturesData ); break; case Gui::GuiActionType::ID_DDDebugText : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DDDebugText ); break; case Gui::GuiActionType::ID_DGGeneralEvent : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGGeneralEvent ); break; case Gui::GuiActionType::ID_DGAccelerometerData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_DGAccelerometerData ); break; Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r712f4c8a1b2382919300895b4422b831471044a3 -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 712f4c8a1b2382919300895b4422b831471044a3) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -192,14 +192,17 @@ // DG Data Messages ID_DGROPumpData = 0x1F00, // 31 - ID_DGPressuresData = 0x2000, // 32 + ID_DDPressuresData = 0x1C00, // 28 //// ----- @LEAHIZED ID_DGDrainPumpData = 0x2400, // 36 ID_DGOperationModeData = 0x2700, // 39 - ID_DGReservoirData = 0x2800, // 40 + ID_DGReservoirData = 0x280F, // ?? //// ----- @CRAPIZED: had to change to avoid duplication ID_DGValvesStatesData = 0x2A00, // 42 - ID_DGHeatersData = 0x2C00, // 44 ID_DGLoadCellReadingsData = 0x0C00, // 12 - ID_DGTemperaturesData = 0x2D00, // 45 + ID_DDConcentratePumpsData = 0x2500, // 37 //// ----- @LEAHIZED + ID_DDTemperaturesData = 0x2600, // 38 //// ----- @LEAHIZED + ID_DDDialysatePumpsData = 0x2700, // 39 //// ----- @LEAHIZED + ID_DDHeatersData = 0x2800, // 40 //// ----- @LEAHIZED + ID_DDLevelData = 0x2900, // 41 //// ----- @LEAHIZED ID_DGAccelerometerData = 0x3400, // 52 ID_DGConductivityData = 0x3100, // 49 Fisheye: Tag 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a refers to a dead (removed) revision in file `sources/gui/qml/dialogs/DiagnosticsDialog.qml'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsBase.qml =================================================================== diff -u --- sources/gui/qml/dialogs/diagnostics/DiagnosticsBase.qml (revision 0) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsBase.qml (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -0,0 +1,52 @@ +/*! + * + * 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 DiagnosticsDialog.qml + * \author (last) Dara Navaei + * \date (last) 05-Mar-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +import Gui.Actions 0.1 +import Gui.VEventSpy 0.1 + +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/pages" + + +Item { id: _root + objectName: "_DiagnosticsBase" + + property string title: "Information" + + function col(idx, gap = 0) { + return idx * 155 + gap + } + + function row(idx, gap = 10) { + return idx * 100 + 3*gap + _title.height + } + + Label { id: _title + text: _root.title + color: "white" + font.pixelSize: 60 + horizontalAlignment: Text.AlignHCenter + anchors { + top: _root.top + horizontalCenter: _root.horizontalCenter + } + } +} Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml =================================================================== diff -u --- sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml (revision 0) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsDD.qml (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -0,0 +1,246 @@ +/*! + * + * 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 DiagnosticsDialog.qml + * \author (last) Dara Navaei + * \date (last) 05-Mar-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" + +/*! + * \brief the post treatment prime stack screen + */ +DiagnosticsBase { id: _root + objectName: "_DiagnosticsTD" + + title: "Dialysate Delivery" + +// DebugDataColumn { id: _TDBloodPumpColumn +// textObjectName :"_TDBloodPumpData" +// title : qsTr(" BP ") +// 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 , + +// ] +// label: [ +// "sFLow ", +// "mFlow ", +// "rSpd ", +// "mSpd ", +// "cMot ", +// "RPM ", +// "pFlow ", +// "rCnt ", +// "state ", +// ] +// } + +// DebugDataColumn { id: _TDAirTrapCoulumn +// textObjectName :"_TDAirTrapData" +// title : qsTr(" Air Trap ") +// x: col(1.5) +// y: row(0) +// model: [ +// vTDAirTrap.lowLevel , +// vTDAirTrap.upLevel , +// vTDAirTrap.lowLevelRaw , +// vTDAirTrap.upLevelRaw , +// vTDAirTrap.valveState , +// vTDAirTrap.controlling , +// ] +// label: [ +// "ATL", +// "ATU", +// "rATL", +// "rATU", +// "state", +// "ctrl", +// ] +// } + +// DebugDataColumn { id: _TDValvesColumn +// textObjectName :"_TDValvesData" +// title : qsTr(" Vlv ") +// x: col(3) +// y: row(0) +// model: [ +// vTDValves.valveId , +// vTDValves.state , +// vTDValves.posName , +// vTDValves.posCount , +// vTDValves.nextPos , + +// ] +// label: [ +// "ID ", +// "state ", +// "Name ", +// "Cnt ", +// "nPos ", +// ] +// } + +// DebugDataColumn { id: _TDEjectorColumn +// textObjectName :"_TDEjectorData" +// title : qsTr(" Ejt ") +// x: col(4.5) +// y: row(0) +// model: [ +// vTDEjector.state , +// vTDEjector.setSpeed .toFixed(2) , + +// ] +// label: [ +// "state ", +// "Spd " , +// ] +// } + +// DebugDataColumn { id: _TDSwitchesColumn +// textObjectName :"_TDSwitchesData" +// title : qsTr(" Switches ") +// x: col(6) +// y: row(0) +// model: [ +// vTDSwitches.door , + +// ] +// label: [ +// "door ", +// ] +// } + + +// DebugDataColumn { id: _TDBatteryCoulumn +// textObjectName :"_TDBatterypData" +// title : qsTr(" Battery ") +// x: col(0) +// y: row(3.5) +// model: [ +// vTDBattery.aCPower , +// vTDBattery.capacity , +// ] +// label: [ +// "AC ", +// "cap ", +// ] +// } + +// DebugDataColumn { id: _TDVoltageCoulumn +// textObjectName :"_TDVoltageData" +// title : qsTr(" Vol ") +// 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) +// ] +// label: [ +// "1.2V", +// "3.3V" , +// "L5V" , +// "S5V" , +// "24V" , +// "R24V" , +// "ADC" , +// "Ref" , +// "VCC" , +// "Vaux" , +// "VPN" +// ] +// } + +// DebugDataColumn { id: _TDTemperatureCoulumn +// textObjectName :"_TDTemperatureData" +// title : qsTr(" Temp ") +// x: col(3) +// y: row(3.5) +// model: [ +// vTDTemperature.boardTemp .toFixed(2) +// ] +// label: [ +// "board", +// ] +// } + + // TODO: The TouchRect should be unnecessary since the first communication message with UI/HD is the version. + TouchRect { + x : col(6.0) + y : row(6.4) + width : 425 + height : 160 + onClicked : vAdjustmentVersions.doAdjustment() + radius : 10 + Column { + anchors.top : parent.top + anchors.topMargin: -20 + anchors.left: parent.left + anchors.leftMargin: 5 + + spacing: -30 + + DebugDataColumn { id: _DDVersionsColumn + textObjectName :"_DDVersionsData" + title : "" + 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 ) + ] + } + } + } + + + Connections { target: _GuiView + function onDidActionReceive( vAction, vData ) { + // DEBUG: console.debug("onDidActionReceive", vAction, vData) + if (vAction === GuiActions.ID_CANBusFaultCount ) { + _canbusFaultCountText.count = vData[0] + } + } + } +} Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml =================================================================== diff -u --- sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml (revision 0) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsDialog.qml (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -0,0 +1,61 @@ +/*! + * + * 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 DiagnosticsDialog.qml + * \author (last) Dara Navaei + * \date (last) 05-Mar-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +import Gui.Actions 0.1 +import Gui.VEventSpy 0.1 + +// Qml imports +import "qrc:/globals" +import "qrc:/components" + +/*! + * \brief Diagnostics is the screen + */ +ModalDialog { id: _root + + width : Variables.applicationWidth + height : Variables.applicationHeight - 60 + + DiagnosticsSwipe { id: _diagnosticsSwipe + anchors.fill: parent + } + + Rectangle { + anchors.centerIn: _closeButton + border.color : Colors.white + color : Colors.transparent + border.width : Variables.borderWidth + width : _closeButton.width + 10 + height : width + radius : width + } + + CloseButton { id : _closeButton + anchors.left : undefined + anchors.right : parent.right + anchors.top : undefined + anchors.bottom : parent.bottom + anchors.margins : 10 + onClicked : { + _root.close() + console.log("close clicked") + } + } + +} Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml =================================================================== diff -u --- sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (revision 0) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -0,0 +1,58 @@ +/*! + * + * 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 DiagnosticsDialog.qml + * \author (last) Dara Navaei + * \date (last) 05-Mar-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-May-2021 + * + */ +// Qt +import QtQuick 2.12 +import QtQuick.Controls 2.12 // swipeview + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/dialogs" +import "qrc:/pages/pretreatment/connection" +/*! + * \brief the pre treatment prime stack screen + */ +Item { id: _root + objectName: "_DiagnosticsSwip" + + SwipeView { id: view + currentIndex: 0 + anchors.fill: parent + + DiagnosticsTD { id: tdPage } + DiagnosticsBase { id: ddPage } + DiagnosticsBase { id: fpPage } + } + + PageIndicator { id: indicator + count: view.count + currentIndex: view.currentIndex + + anchors.bottom: view.bottom + anchors.horizontalCenter: parent.horizontalCenter + spacing: 10 + delegate: Rectangle { + implicitWidth: 15 + implicitHeight: 15 + radius: width // Make it circular + color: "white" + opacity: index === view.currentIndex ? 1 : pressed ? 0.7 : 0.25 + Behavior on opacity { + OpacityAnimator { duration: 100 } // Animate opacity changes + } + } + } +} Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml =================================================================== diff -u --- sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (revision 0) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsTD.qml (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -0,0 +1,245 @@ +/*! + * + * 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 DiagnosticsDialog.qml + * \author (last) Dara Navaei + * \date (last) 05-Mar-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-May-2021 + * + */ + +// Qt +import QtQuick 2.12 + +// Project +// Qml imports +import "qrc:/globals" +import "qrc:/components" +import "qrc:/compounds" + +/*! + * \brief the post treatment prime stack screen + */ +DiagnosticsBase { id: _root + objectName: "_DiagnosticsTD" + + title: "Treatment Delivery & Blood Handling" + + DebugDataColumn { id: _TDBloodPumpColumn + textObjectName :"_TDBloodPumpData" + title : qsTr(" BP ") + 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 , + + ] + label: [ + "sFLow ", + "mFlow ", + "rSpd ", + "mSpd ", + "cMot ", + "RPM ", + "pFlow ", + "rCnt ", + "state ", + ] + } + + DebugDataColumn { id: _TDAirTrapCoulumn + textObjectName :"_TDAirTrapData" + title : qsTr(" Air Trap ") + x: col(1.5) + y: row(0) + model: [ + vTDAirTrap.lowLevel , + vTDAirTrap.upLevel , + vTDAirTrap.lowLevelRaw , + vTDAirTrap.upLevelRaw , + vTDAirTrap.valveState , + vTDAirTrap.controlling , + ] + label: [ + "ATL", + "ATU", + "rATL", + "rATU", + "state", + "ctrl", + ] + } + + DebugDataColumn { id: _TDValvesColumn + textObjectName :"_TDValvesData" + title : qsTr(" Vlv ") + x: col(3) + y: row(0) + model: [ + vTDValves.valveId , + vTDValves.state , + vTDValves.posName , + vTDValves.posCount , + vTDValves.nextPos , + + ] + label: [ + "ID ", + "state ", + "Name ", + "Cnt ", + "nPos ", + ] + } + + DebugDataColumn { id: _TDEjectorColumn + textObjectName :"_TDEjectorData" + title : qsTr(" Ejt ") + x: col(4.5) + y: row(0) + model: [ + vTDEjector.state , + vTDEjector.setSpeed .toFixed(2) , + + ] + label: [ + "state ", + "Spd " , + ] + } + + DebugDataColumn { id: _TDSwitchesColumn + textObjectName :"_TDSwitchesData" + title : qsTr(" Switches ") + x: col(6) + y: row(0) + model: [ + vTDSwitches.door , + + ] + label: [ + "door ", + ] + } + + + DebugDataColumn { id: _TDBatteryCoulumn + textObjectName :"_TDBatterypData" + title : qsTr(" Battery ") + x: col(0) + y: row(3.5) + model: [ + vTDBattery.aCPower , + vTDBattery.capacity , + ] + label: [ + "AC ", + "cap ", + ] + } + + DebugDataColumn { id: _TDVoltageCoulumn + textObjectName :"_TDVoltageData" + title : qsTr(" Vol ") + 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) + ] + label: [ + "1.2V", + "3.3V" , + "L5V" , + "S5V" , + "24V" , + "R24V" , + "ADC" , + "Ref" , + "VCC" , + "Vaux" , + "VPN" + ] + } + + DebugDataColumn { id: _TDTemperatureCoulumn + textObjectName :"_TDTemperatureData" + title : qsTr(" Temp ") + x: col(3) + y: row(3.5) + model: [ + vTDTemperature.boardTemp .toFixed(2) + ] + label: [ + "board", + ] + } + + // TODO: The TouchRect should be unnecessary since the first communication message with UI/HD is the version. + TouchRect { + x : col(6.0) + y : row(6.4) + width : 425 + height : 160 + onClicked : vAdjustmentVersions.doAdjustment() + radius : 10 + Column { + anchors.top : parent.top + anchors.topMargin: -20 + anchors.left: parent.left + anchors.leftMargin: 5 + + spacing: -30 + DebugDataColumn { id: _TDVersionsColumn + textObjectName :"_TDVersionsData" + title : "" + 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 ) + ] + } + } + } + + + Connections { target: _GuiView + function onDidActionReceive( vAction, vData ) { + // DEBUG: console.debug("onDidActionReceive", vAction, vData) + if (vAction === GuiActions.ID_CANBusFaultCount ) { + _canbusFaultCountText.count = vData[0] + } + } + } +} Index: sources/gui/qml/main.qml =================================================================== diff -u -r712f4c8a1b2382919300895b4422b831471044a3 -r4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a --- sources/gui/qml/main.qml (.../main.qml) (revision 712f4c8a1b2382919300895b4422b831471044a3) +++ sources/gui/qml/main.qml (.../main.qml) (revision 4e521c1a06ac5ba8fa125f9efba8a1b3c91c525a) @@ -130,6 +130,7 @@ import "qrc:/pages/settings" import "qrc:/components" import "qrc:/dialogs" +import "qrc:/dialogs/diagnostics" /*! * \brief Initialization and start point of the QML