diff --git a/README.md b/README.md index 3c1df7b..e76524b 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ $ smctemp -c ## Usage ```console $ smctemp -h -Check Temperature by using Apple System Management Control (Smc) tool 0.5.0 +Check Temperature by using Apple System Management Control (Smc) tool Usage: ./smctemp [options] -c : list CPU temperatures (Celsius) diff --git a/smctemp.cc b/smctemp.cc index 4257a45..dbb2e8e 100644 --- a/smctemp.cc +++ b/smctemp.cc @@ -465,7 +465,13 @@ double SmcTemp::GetCpuTemp() { const std::pair valid_temperature_limits{10, 120}; const std::string cpumodel = getCPUModel(); - if (cpumodel.find("m3") != std::string::npos) { // Apple M2 + if (cpumodel.find("m4") != std::string::npos) { // Apple M4 + sensors.emplace_back(static_cast(kSensorTp01)); + sensors.emplace_back(static_cast(kSensorTp09)); + sensors.emplace_back(static_cast(kSensorTp0f)); + sensors.emplace_back(static_cast(kSensorTp05)); + sensors.emplace_back(static_cast(kSensorTp0D)); + } else if (cpumodel.find("m3") != std::string::npos) { // Apple M3 // CPU core 1 sensors.emplace_back(static_cast(kSensorTp01)); // CPU core 2 @@ -571,7 +577,12 @@ double SmcTemp::GetGpuTemp() { std::vector sensors; const std::pair valid_temperature_limits{10, 120}; const std::string cpumodel = getCPUModel(); - if (cpumodel.find("m3") != std::string::npos) { // Apple M3 + if (cpumodel.find("m4") != std::string::npos) { // Apple M4 + sensors.emplace_back(static_cast(kSensorTg0D)); // GPU 1 + sensors.emplace_back(static_cast(kSensorTg0P)); // GPU 2 + sensors.emplace_back(static_cast(kSensorTg0X)); // GPU 3 + sensors.emplace_back(static_cast(kSensorTg0j)); // GPU 4 + } else if (cpumodel.find("m3") != std::string::npos) { // Apple M3 sensors.emplace_back(static_cast(kSensorTg0D)); // GPU 1 sensors.emplace_back(static_cast(kSensorTg0P)); // GPU 2 sensors.emplace_back(static_cast(kSensorTg0X)); // GPU 3 diff --git a/smctemp.h b/smctemp.h index 3d141dd..74af60e 100644 --- a/smctemp.h +++ b/smctemp.h @@ -33,7 +33,7 @@ #define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x]))))) namespace smctemp { -const char kVersion[] = "0.5.0"; +const char kVersion[] = "0.6.0"; constexpr char kIOAppleSmcHiddenClassName[] = "AppleSMC"; constexpr char kSmcCmdReadBytes = 5; constexpr char kSmcCmdReadIndex = 8;