diff --git a/mainwindow.cpp b/mainwindow.cpp index 715296f..3bfcac8 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -216,7 +216,6 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal { QJsonArray attributes = localObj["ata_smart_attributes"].toObject()["table"].toArray(); QJsonObject nvmeLog = localObj["nvme_smart_health_information_log"].toObject(); - QString modelFamily = localObj["model_family"].toString(); QString modelName = localObj["model_name"].toString(); QString firmwareVersion = localObj["firmware_version"].toString(); float userCapacityGB = localObj.value("user_capacity").toObject().value("bytes").toDouble() / 1e9; @@ -298,6 +297,10 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal unsigned long long oneGB = static_cast(std::pow(2, 30)); unsigned long long totalGbWritten = (lbaWritten * logicalBlockSize) / oneGB; totalWrites = QString::number(static_cast(totalGbWritten)) + " GB"; + if (totalWrites == "0 GB") { + double gigabytes = (attrObj["raw"].toObject()["value"].toInt() * 32 * 1024.0 * 1024.0) / 1e9; + totalWrites = QString::number(static_cast(gigabytes)) + " GB"; + } } else if (attrObj["name"] == "Host_Writes_GiB" || attrObj["name"] == "Lifetime_Writes_GiB") { double gibibytes = attrObj["raw"].toObject()["value"].toDouble(); double bytesPerGiB = static_cast(1ULL << 30); @@ -318,6 +321,10 @@ void MainWindow::populateWindow(const QJsonObject &localObj, const QString &heal unsigned long long oneGB = static_cast(std::pow(2, 30)); unsigned long long totalGbRead = (lbaRead * logicalBlockSize) / oneGB; totalReads = QString::number(static_cast(totalGbRead)) + " GB"; + if (totalReads == "0 GB") { + double gigabytes = (attrObj["raw"].toObject()["value"].toInt() * 32 * 1024.0 * 1024.0) / 1e9; + totalReads = QString::number(static_cast(gigabytes)) + " GB"; + } } else if (attrObj["name"] == "Host_Reads_GiB" || attrObj["name"] == "Lifetime_Reads_GiB") { double gibibytes = attrObj["raw"].toObject()["value"].toDouble(); double bytesPerGiB = static_cast(1ULL << 30);