diff --git a/.swiftlint.yml b/.swiftlint.yml index 6bfb418a..b8d6f8bb 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -31,6 +31,7 @@ identifier_name: - Alignments - _devices - _uuidAddress + - AppleSiliconSensorsList line_length: 200 diff --git a/Modules/Sensors/readers.swift b/Modules/Sensors/readers.swift index 0b7253a6..e56104ae 100644 --- a/Modules/Sensors/readers.swift +++ b/Modules/Sensors/readers.swift @@ -205,11 +205,25 @@ internal class AppleSilicon_SensorsReader: SensorsReader { if let idx = self.list.firstIndex(where: { $0.name == key }) { self.list[idx].value = value } else { + var name: String = key + var g: SensorGroup = group + + AppleSiliconSensorsList.filter{ $0.key.contains("%") }.forEach { (s: Sensor) in + var index = 1 + for i in 0..<64 { + if s.key.replacingOccurrences(of: "%", with: "\(i)") == key { + name = s.name.replacingOccurrences(of: "%", with: "\(index)") + } + index += 1 + } + g = s.group + } + let s = Sensor( key: key, - name: key, + name: name, value: value, - group: group, + group: g, type: type ) diff --git a/Modules/Sensors/values.swift b/Modules/Sensors/values.swift index 925b6c3b..6e2e2c18 100644 --- a/Modules/Sensors/values.swift +++ b/Modules/Sensors/values.swift @@ -225,3 +225,20 @@ let SensorsList: [Sensor] = [ Sensor(key: "PDTR", name: "DC In", group: .sensor, type: .power), Sensor(key: "PSTR", name: "System total", group: .sensor, type: .power) ] + +let AppleSiliconSensorsList: [Sensor] = [ + Sensor(key: "pACC MTR Temp Sensor%", name: "CPU performance core %", group: .CPU, type: .temperature), + Sensor(key: "eACC MTR Temp Sensor%", name: "CPU efficiency core %", group: .CPU, type: .temperature), + + Sensor(key: "GPU MTR Temp Sensor%", name: "GPU core %", group: .GPU, type: .temperature), + Sensor(key: "SOC MTR Temp Sensor%", name: "SOC core %", group: .sensor, type: .temperature), + Sensor(key: "ANE MTR Temp Sensor%", name: "Neural engine %", group: .sensor, type: .temperature), + Sensor(key: "ISP MTR Temp Sensor%", name: "Airport %", group: .sensor, type: .temperature), + + Sensor(key: "PMGR SOC Die Temp Sensor%", name: "Power manager die %", group: .sensor, type: .temperature), + Sensor(key: "PMU tdev%", name: "Power management unit dev %", group: .sensor, type: .temperature), + Sensor(key: "PMU tdie%", name: "Power management unit die %", group: .sensor, type: .temperature), + + Sensor(key: "gas gauge battery", name: "Battery", group: .sensor, type: .temperature), + Sensor(key: "NAND CH% temp", name: "Disk %s", group: .GPU, type: .temperature) +]