Added new statuses

This commit is contained in:
Yury Shuvakin
2025-11-21 14:42:03 +03:00
parent b861ce003c
commit fbfdc35e0f
4 changed files with 28 additions and 11 deletions

View File

@@ -193,7 +193,7 @@ void BatteryController::addStatus(const quint32 status)
QMap<qsizetype, QVariantList> statusBitDescriptions = QMap<qsizetype, QVariantList> statusBitDescriptions =
{ {
{0, {"Ошибка Т датчика КП", StatusSeverity::Error}}, {0, {"Ошибка Т датчика БК", StatusSeverity::Error}},
{1, {"Глубокий разряд АКБ", StatusSeverity::Error}}, {1, {"Глубокий разряд АКБ", StatusSeverity::Error}},
{2, {"Заряд выполнен", StatusSeverity::Info}}, {2, {"Заряд выполнен", StatusSeverity::Info}},
{3, {"Ошибка Т датчика УКПБ", StatusSeverity::Info}}, {3, {"Ошибка Т датчика УКПБ", StatusSeverity::Info}},
@@ -201,12 +201,12 @@ void BatteryController::addStatus(const quint32 status)
{4, {"Ток долго не снижается", StatusSeverity::Error}}, {4, {"Ток долго не снижается", StatusSeverity::Error}},
{5, {"Ошибка БПС3000", StatusSeverity::Error}}, {5, {"Ошибка БПС3000", StatusSeverity::Error}},
{6, {"U менее 61.25 В", StatusSeverity::Error}}, {6, {"U менее 61.25 В", StatusSeverity::Error}},
{7, {"U выше нормы по КП", StatusSeverity::Error}}, {7, {"U выше нормы", StatusSeverity::Error}},
{8, {"Останов первого заряда", StatusSeverity::Info}}, {8, {"Первичный подзаряд завершен", StatusSeverity::Info}},
{9, {"Останов разряда", StatusSeverity::Info}}, {9, {"Разряд завершен", StatusSeverity::Info}},
{10, {"Останов повторного заряда", StatusSeverity::Info}}, {10, {"Повторный заряд завершен", StatusSeverity::Info}},
{11, {"Более 45 градусов", StatusSeverity::Warning}}, {11, {"Более 45 гр. °С", StatusSeverity::Warning}},
{12, {"Разночтение в токах", StatusSeverity::Error}}, {12, {"Разночтение в токах", StatusSeverity::Error}},
{13, {"Разночтение в напряжениях", StatusSeverity::Error}}, {13, {"Разночтение в напряжениях", StatusSeverity::Error}},
@@ -215,6 +215,8 @@ void BatteryController::addStatus(const quint32 status)
{16, {"Низкий разряд АКБ", StatusSeverity::Info}}, {16, {"Низкий разряд АКБ", StatusSeverity::Info}},
{17, {"Ошибка контрольного заряда", StatusSeverity::Error}}, {17, {"Ошибка контрольного заряда", StatusSeverity::Error}},
{18, {"УКПБ не подключен", StatusSeverity::Warning}},
{19, {"БК не подключен", StatusSeverity::Warning}}
}; };
for (auto it = statusBitDescriptions.constBegin(); it != statusBitDescriptions.constEnd(); ++it) for (auto it = statusBitDescriptions.constBegin(); it != statusBitDescriptions.constEnd(); ++it)
@@ -242,7 +244,7 @@ void BatteryController::addStatus(const quint32 status)
QVariantMap statusMap; QVariantMap statusMap;
statusMap.insert("time", QDateTime::currentDateTime().toString("hh:mm:ss dd-MM-yyyy")); statusMap.insert("time", QDateTime::currentDateTime().toString("hh:mm:ss dd-MM-yyyy"));
statusMap.insert("status", "0x" + QString::number(status, 16).toUpper().rightJustified(2, '0')); statusMap.insert("status", "0x" + QString::number(status, 16).toUpper().rightJustified(8, '0'));
statusMap.insert("description", statusDescription.at(0)); statusMap.insert("description", statusDescription.at(0));
statusMap.insert("severity", statusDescription.at(1)); statusMap.insert("severity", statusDescription.at(1));

View File

@@ -73,9 +73,9 @@ private:
} }
template<typename T> template<typename T>
static bool isParameterEmpty(T /*parameter*/) static bool isParameterEmpty(T parameter)
{ {
return std::numeric_limits<T>::max(); return parameter == std::numeric_limits<T>::max();
} }
private: private:

View File

@@ -33,10 +33,25 @@ Rectangle {
} }
CustomControls.Button { CustomControls.Button {
id: modeButton
text: chargeTypeToString(battery ? battery.chargeType : 0) text: chargeTypeToString(battery ? battery.chargeType : 0)
backgroundColor: workingModeToColor(battery ? battery.workingMode : 0) backgroundColor: workingModeToColor(battery ? battery.workingMode : 0)
Layout.preferredWidth: 180 Layout.preferredWidth: 180
onClicked: battery ? battery.actionButtonClicked() : null
onClicked: {
battery ? battery.actionButtonClicked() : null
enabled = false
enableTimer.start()
}
Timer {
id: enableTimer
interval: 2000
onTriggered: {
modeButton.enabled = true
}
}
} }
} }

View File

@@ -20,7 +20,7 @@ Controls.Button {
contentItem: Text { contentItem: Text {
text: control.text text: control.text
font: control.font font: control.font
opacity: enabled ? 1.0 : 0.3 opacity: enabled ? 1.0 : 0.5
color: Palette.alternativeTextColor color: Palette.alternativeTextColor
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter