Skip to content

Commit

Permalink
Merge pull request #41 from narugit/feature/support_m4
Browse files Browse the repository at this point in the history
feat: support M4
  • Loading branch information
narugit authored Jan 13, 2025
2 parents 220bea7 + de38047 commit 5a1d51c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
15 changes: 13 additions & 2 deletions smctemp.cc
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,13 @@ double SmcTemp::GetCpuTemp() {
const std::pair<unsigned int, unsigned int> 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<std::string>(kSensorTp01));
sensors.emplace_back(static_cast<std::string>(kSensorTp09));
sensors.emplace_back(static_cast<std::string>(kSensorTp0f));
sensors.emplace_back(static_cast<std::string>(kSensorTp05));
sensors.emplace_back(static_cast<std::string>(kSensorTp0D));
} else if (cpumodel.find("m3") != std::string::npos) { // Apple M3
// CPU core 1
sensors.emplace_back(static_cast<std::string>(kSensorTp01));
// CPU core 2
Expand Down Expand Up @@ -571,7 +577,12 @@ double SmcTemp::GetGpuTemp() {
std::vector<std::string> sensors;
const std::pair<unsigned int, unsigned int> 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<std::string>(kSensorTg0D)); // GPU 1
sensors.emplace_back(static_cast<std::string>(kSensorTg0P)); // GPU 2
sensors.emplace_back(static_cast<std::string>(kSensorTg0X)); // GPU 3
sensors.emplace_back(static_cast<std::string>(kSensorTg0j)); // GPU 4
} else if (cpumodel.find("m3") != std::string::npos) { // Apple M3
sensors.emplace_back(static_cast<std::string>(kSensorTg0D)); // GPU 1
sensors.emplace_back(static_cast<std::string>(kSensorTg0P)); // GPU 2
sensors.emplace_back(static_cast<std::string>(kSensorTg0X)); // GPU 3
Expand Down
2 changes: 1 addition & 1 deletion smctemp.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 5a1d51c

Please # to comment.