mirror of
https://github.com/edisionnano/QDiskInfo.git
synced 2026-04-14 02:21:29 +03:00
Read SCSI power on count
This commit is contained in:
@@ -341,6 +341,7 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
|
|||||||
QString firmwareVersion = localObj["firmware_version"].toString();
|
QString firmwareVersion = localObj["firmware_version"].toString();
|
||||||
double diskCapacityGB = localObj.value("user_capacity").toObject().value("bytes").toDouble() / 1e9;
|
double diskCapacityGB = localObj.value("user_capacity").toObject().value("bytes").toDouble() / 1e9;
|
||||||
int diskCapacityGbInt = static_cast<int>(diskCapacityGB);
|
int diskCapacityGbInt = static_cast<int>(diskCapacityGB);
|
||||||
|
int powerCycleCountInt = localObj["power_cycle_count"].toInt(-1);
|
||||||
int temperatureInt = localObj["temperature"].toObject()["current"].toInt();
|
int temperatureInt = localObj["temperature"].toObject()["current"].toInt();
|
||||||
int totalWritesInt = 0;
|
int totalWritesInt = 0;
|
||||||
int totalReadsInt = 0;
|
int totalReadsInt = 0;
|
||||||
@@ -360,12 +361,7 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
|
|||||||
QString percentage = "";
|
QString percentage = "";
|
||||||
QString serialNumber = localObj["serial_number"].toString();
|
QString serialNumber = localObj["serial_number"].toString();
|
||||||
QJsonObject deviceObj = localObj["device"].toObject();
|
QJsonObject deviceObj = localObj["device"].toObject();
|
||||||
|
|
||||||
QString protocol = deviceObj["protocol"].toString();
|
QString protocol = deviceObj["protocol"].toString();
|
||||||
if (protocol == "SCSI") {
|
|
||||||
modelName = localObj["scsi_model_name"].toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString type = deviceObj["type"].toString();
|
QString type = deviceObj["type"].toString();
|
||||||
QString name = deviceObj["name"].toString();
|
QString name = deviceObj["name"].toString();
|
||||||
QJsonArray outputArray = localObj.value("smartctl").toObject()["output"].toArray();
|
QJsonArray outputArray = localObj.value("smartctl").toObject()["output"].toArray();
|
||||||
@@ -374,6 +370,13 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
|
|||||||
QJsonArray ataSelfTestsTable = localObj["ata_smart_self_test_log"].toObject()["standard"].toObject()["table"].toArray();
|
QJsonArray ataSelfTestsTable = localObj["ata_smart_self_test_log"].toObject()["standard"].toObject()["table"].toArray();
|
||||||
|
|
||||||
bool isNvme = (protocol == "NVMe");
|
bool isNvme = (protocol == "NVMe");
|
||||||
|
bool isScsi = (protocol == "SCSI");
|
||||||
|
|
||||||
|
if (isScsi) {
|
||||||
|
modelName = localObj["scsi_model_name"].toString();
|
||||||
|
powerCycleCountInt = localObj["scsi_start_stop_cycle_counter"].toObject().value("accumulated_load_unload_cycles").toInt(-1);
|
||||||
|
}
|
||||||
|
|
||||||
bool nvmeHasSelfTest = false;
|
bool nvmeHasSelfTest = false;
|
||||||
|
|
||||||
auto createTablePopup = [=](QJsonArray selfTestsTable) {
|
auto createTablePopup = [=](QJsonArray selfTestsTable) {
|
||||||
@@ -466,7 +469,6 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal
|
|||||||
rotationRateLineEdit->setText(rotationRate);
|
rotationRateLineEdit->setText(rotationRate);
|
||||||
rotationRateLineEdit->setAlignment(Qt::AlignRight);
|
rotationRateLineEdit->setAlignment(Qt::AlignRight);
|
||||||
|
|
||||||
int powerCycleCountInt = localObj["power_cycle_count"].toInt(-1);
|
|
||||||
QString powerCycleCount;
|
QString powerCycleCount;
|
||||||
if (powerCycleCountInt >= 0) {
|
if (powerCycleCountInt >= 0) {
|
||||||
powerCycleCount = QString::number(powerCycleCountInt) + " " + tr("count");
|
powerCycleCount = QString::number(powerCycleCountInt) + " " + tr("count");
|
||||||
|
|||||||
Reference in New Issue
Block a user