From 5cf9a2c86f82e31dfcbf6e63f5c3280ab384ad00 Mon Sep 17 00:00:00 2001 From: localhorst Date: Sat, 2 May 2020 13:25:27 +0200 Subject: [PATCH] changed capacity to uint64 --- src/app.cpp | 2 +- src/drive.cpp | 16 ++++++++-------- src/drive.h | 19 +++++++++---------- src/makefile | 6 +++--- src/out.txt | 36 ++++++++++++++++++------------------ src/reHDD | Bin 0 -> 80248 bytes src/smart.cpp | 10 +++++----- src/smart.h | 6 +++--- 8 files changed, 47 insertions(+), 48 deletions(-) create mode 100755 src/reHDD diff --git a/src/app.cpp b/src/app.cpp index 388226e..75fda34 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -167,7 +167,7 @@ void App::printDrives(list *listDrives) cout << "Capacity: " << it->getCapacity() << endl; cout << "Serial: " << it->getSerial() << endl; cout << "PowerOnHours: " << it->getPowerOnHours() << endl; - cout << "SpinUpCount: " << it->getSpinUpCount() << endl; + cout << "PowerCycle: " << it->getPowerCycles() << endl; cout << "ErrorCount: " << it->getErrorCount() << endl; cout << endl; } diff --git a/src/drive.cpp b/src/drive.cpp index 76d45cb..40957e1 100644 --- a/src/drive.cpp +++ b/src/drive.cpp @@ -28,9 +28,9 @@ string Drive::getSerial(void) return sSerial; } -string Drive::getCapacity(void) +uint64_t Drive::getCapacity(void) { - return sCapacity; + return u64Capacity; } uint32_t Drive::getErrorCount(void) @@ -42,24 +42,24 @@ uint32_t Drive::getPowerOnHours(void) return u32PowerOnHours; } -uint32_t Drive::getSpinUpCount(void) +uint32_t Drive::getPowerCycles(void) { - return u32SpinUpCount; + return u32PowerCycles; } void Drive::setDriveSMARTData( string modelFamily, string modelName, string serial, - string capacity, + uint64_t capacity, uint32_t errorCount, uint32_t powerOnHours, - uint32_t spinUpCount) + uint32_t powerCycle) { sModelFamily = modelFamily; sModelName = modelName; sSerial = serial; - sCapacity = capacity; + u64Capacity = capacity; u32ErrorCount = errorCount; u32PowerOnHours = powerOnHours; - u32SpinUpCount = spinUpCount; + u32PowerCycles = powerCycle; } \ No newline at end of file diff --git a/src/drive.h b/src/drive.h index 8bc8456..cc579c4 100644 --- a/src/drive.h +++ b/src/drive.h @@ -22,29 +22,28 @@ public: string getModelFamily(void); string getModelName(void); string getSerial(void); - string getCapacity(void); + uint64_t getCapacity(void); //in byte uint32_t getErrorCount(void); - uint32_t getPowerOnHours(void); - uint32_t getSpinUpCount(void); + uint32_t getPowerOnHours(void); //in hours + uint32_t getPowerCycles(void); void setDriveSMARTData( string modelFamily, string modelName, string serial, - string capacity, + uint64_t capacity, uint32_t errorCount, uint32_t powerOnHours, - uint32_t spinUpCount); + uint32_t powerCycles); private: string sPath; string sModelFamily; string sModelName; string sSerial; - string sCapacity; - uint32_t u32ErrorCount; - uint32_t u32PowerOnHours; - uint32_t u32SpinUpCount; - + uint64_t u64Capacity = 0U; //in byte + uint32_t u32ErrorCount = 0U; + uint32_t u32PowerOnHours = 0U; //in hours + uint32_t u32PowerCycles = 0U; }; #endif // DRIVE_H_ \ No newline at end of file diff --git a/src/makefile b/src/makefile index 2f56294..2da7fa0 100644 --- a/src/makefile +++ b/src/makefile @@ -1,5 +1,5 @@ -refurbishingHddTool: main.o app.o drive.o smart.o - g++ -Wall -o refurbishingHddTool main.o app.o drive.o smart.o +reHDD: main.o app.o drive.o smart.o + g++ -Wall -o reHDD main.o app.o drive.o smart.o main.o: main.cpp g++ -c main.cpp @@ -14,4 +14,4 @@ smart.o: smart.cpp g++ -c smart.cpp clean : - rm refurbishingHddTool main.o app.o drive.o smart.o + rm reHDD main.o app.o drive.o smart.o diff --git a/src/out.txt b/src/out.txt index fdeaecf..c9040be 100644 --- a/src/out.txt +++ b/src/out.txt @@ -59,8 +59,8 @@ } }, "local_time": { - "time_t": 1588373001, - "asctime": "Sat May 2 00:43:21 2020 CEST" + "time_t": 1588412611, + "asctime": "Sat May 2 11:43:31 2020 CEST" }, "smart_status": { "passed": true @@ -136,7 +136,7 @@ { "id": 3, "name": "Spin_Up_Time", - "value": 182, + "value": 183, "worst": 178, "thresh": 21, "when_failed": "", @@ -151,8 +151,8 @@ "auto_keep": true }, "raw": { - "value": 5858, - "string": "5858" + "value": 5850, + "string": "5850" } }, { @@ -173,8 +173,8 @@ "auto_keep": true }, "raw": { - "value": 730, - "string": "730" + "value": 731, + "string": "731" } }, { @@ -305,8 +305,8 @@ "auto_keep": true }, "raw": { - "value": 711, - "string": "711" + "value": 712, + "string": "712" } }, { @@ -327,8 +327,8 @@ "auto_keep": true }, "raw": { - "value": 350, - "string": "350" + "value": 351, + "string": "351" } }, { @@ -349,14 +349,14 @@ "auto_keep": true }, "raw": { - "value": 21650, - "string": "21650" + "value": 21656, + "string": "21656" } }, { "id": 194, "name": "Temperature_Celsius", - "value": 114, + "value": 120, "worst": 86, "thresh": 0, "when_failed": "", @@ -371,8 +371,8 @@ "auto_keep": true }, "raw": { - "value": 36, - "string": "36" + "value": 30, + "string": "30" } }, { @@ -490,9 +490,9 @@ "power_on_time": { "hours": 1227 }, - "power_cycle_count": 711, + "power_cycle_count": 712, "temperature": { - "current": 36 + "current": 30 }, "ata_smart_error_log": { "summary": { diff --git a/src/reHDD b/src/reHDD new file mode 100755 index 0000000000000000000000000000000000000000..5e9a6696e0bcac19fca204d52ff196c2ee07d69a GIT binary patch literal 80248 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 literal 0 HcmV?d00001 diff --git a/src/smart.cpp b/src/smart.cpp index 7240f0c..0d54509 100644 --- a/src/smart.cpp +++ b/src/smart.cpp @@ -10,10 +10,10 @@ string SMART::modelFamily; string SMART::modelName; string SMART::serial; -string SMART::capacity; +uint64_t SMART::capacity = 0U; uint32_t SMART::errorCount = 0U; uint32_t SMART::powerOnHours = 0U; -uint32_t SMART::spinUpCount = 0U; +uint32_t SMART::powerCycle = 0U; void SMART::readSMARTData(Drive drive) { @@ -35,7 +35,7 @@ void SMART::readSMARTData(Drive drive) SMART::parseCapacity(sLine); SMART::parseErrorCount(sLine); SMART::parsePowerOnHours(sLine); - SMART::parseSpinUpCount(sLine); + SMART::parsePowerCycle(sLine); } fclose(outputfileSmart); //drive.setDriveSMARTData(modelFamily, modelName, serial, capacity, errorCount, powerOnHours, spinUpCount); @@ -119,7 +119,7 @@ string search("\"hours\": "); } } -void SMART::parseSpinUpCount(string sLine) +void SMART::parsePowerCycle(string sLine) { string search("\"power_cycle_count\": "); size_t found = sLine.find(search); @@ -128,7 +128,7 @@ string search("\"power_cycle_count\": "); sLine.erase(0, sLine.find(": ") + 2); sLine.erase(sLine.length()-2, 2); //spinUpCount = stoi(sLine); - cout << "SpinUpCount |" << sLine << "|" << endl; + cout << "PowerCycle |" << sLine << "|" << endl; } } diff --git a/src/smart.h b/src/smart.h index c152b4d..0c107a7 100644 --- a/src/smart.h +++ b/src/smart.h @@ -30,15 +30,15 @@ private: static void parseCapacity(string sLine); static void parseErrorCount(string sLine); static void parsePowerOnHours(string sLine); - static void parseSpinUpCount(string sLine); + static void parsePowerCycle(string sLine); static string modelFamily; static string modelName; static string serial; - static string capacity; + static uint64_t capacity; static uint32_t errorCount; static uint32_t powerOnHours; - static uint32_t spinUpCount; + static uint32_t powerCycle; };