From f562d965de3459cc22ecc6a949575adc29634932 Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Mon, 29 Jun 2020 21:05:38 +0200 Subject: [PATCH] - update a CPU temperature sensor key - log missing sensor key in dict - fix network type detection - small fixes --- LaunchAtLogin/Info.plist | 6 +++-- Modules/CPU/main.swift | 2 +- Modules/CPU/popup.swift | 2 +- Modules/Net/readers.swift | 10 +++++--- Modules/Sensors/readers.swift | 7 +++++- Modules/Sensors/values.swift | 46 +++++++++++++++++++++++++++++------ 6 files changed, 56 insertions(+), 17 deletions(-) diff --git a/LaunchAtLogin/Info.plist b/LaunchAtLogin/Info.plist index c2cc1827..82d9b26a 100644 --- a/LaunchAtLogin/Info.plist +++ b/LaunchAtLogin/Info.plist @@ -2,8 +2,6 @@ - LSBackgroundOnly - CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -18,6 +16,10 @@ 1.0 CFBundleVersion 1 + LSApplicationCategoryType + public.app-category.utilities + LSBackgroundOnly + LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright diff --git a/Modules/CPU/main.swift b/Modules/CPU/main.swift index 54b7a6cd..77f64a6d 100644 --- a/Modules/CPU/main.swift +++ b/Modules/CPU/main.swift @@ -68,7 +68,7 @@ public class CPU: Module { return } - let temperature = self.smc?.pointee.getValue("TC0F") ?? self.smc?.pointee.getValue("TC0P") ?? self.smc?.pointee.getValue("TC0H") + let temperature = self.smc?.pointee.getValue("TC0C") ?? self.smc?.pointee.getValue("TC0D") ?? self.smc?.pointee.getValue("TC0E") self.popupView.loadCallback(value!, tempValue: temperature) if let widget = self.widget as? Mini { diff --git a/Modules/CPU/popup.swift b/Modules/CPU/popup.swift index 8211f053..669da864 100644 --- a/Modules/CPU/popup.swift +++ b/Modules/CPU/popup.swift @@ -111,7 +111,7 @@ internal class Popup: NSView { self.systemField?.stringValue = "\(Int(value.systemLoad.rounded(toPlaces: 2) * 100)) %" self.userField?.stringValue = "\(Int(value.userLoad.rounded(toPlaces: 2) * 100)) %" self.idleField?.stringValue = "\(Int(value.idleLoad.rounded(toPlaces: 2) * 100)) %" - + let v = Int(value.totalUsage.rounded(toPlaces: 2) * 100) self.loadField?.stringValue = "\(v) %" self.ready = true diff --git a/Modules/Net/readers.swift b/Modules/Net/readers.swift index dd21c650..cb935ba5 100644 --- a/Modules/Net/readers.swift +++ b/Modules/Net/readers.swift @@ -95,11 +95,13 @@ internal class UsageReader: Reader { self.usage.paddr = self.getPublicIP() } - if self.reachability!.connection == .wifi && CWWiFiClient.shared().interface() != nil { + if self.reachability!.connection == .wifi { self.usage.connectionType = .wifi - self.usage.networkName = CWWiFiClient.shared().interface()!.ssid() - self.usage.countryCode = CWWiFiClient.shared().interface()!.countryCode() - self.usage.iaddr = CWWiFiClient.shared().interface()!.hardwareAddress() + if let interface = CWWiFiClient.shared().interface() { + self.usage.networkName = interface.ssid() + self.usage.countryCode = interface.countryCode() + self.usage.iaddr = interface.hardwareAddress() + } } else { self.usage.connectionType = .ethernet self.usage.iaddr = getMacAddress() diff --git a/Modules/Sensors/readers.swift b/Modules/Sensors/readers.swift index 382c6539..016ce545 100644 --- a/Modules/Sensors/readers.swift +++ b/Modules/Sensors/readers.swift @@ -12,6 +12,7 @@ import Cocoa import ModuleKit import StatsKit +import os.log internal class SensorsReader: Reader<[Sensor_t]> { internal var list: [Sensor_t] = [] @@ -25,7 +26,11 @@ internal class SensorsReader: Reader<[Sensor_t]> { available = available.filter({ (key: String) -> Bool in switch key.prefix(1) { - case "T", "V", "P": return SensorsDict[key] != nil + case "T", "V", "P": + if SensorsDict[key] == nil { + os_log(.debug, "Missing sensor key %s on the list", key) + } + return SensorsDict[key] != nil default: return false } }) diff --git a/Modules/Sensors/values.swift b/Modules/Sensors/values.swift index 8a667874..c8c4743c 100644 --- a/Modules/Sensors/values.swift +++ b/Modules/Sensors/values.swift @@ -107,14 +107,22 @@ let SensorsDict: [String: Sensor_t] = [ "TC0P": Sensor_t(name: "CPU proximity", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), "TCAD": Sensor_t(name: "CPU package", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC1C": Sensor_t(name: "CPU core 1", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC2C": Sensor_t(name: "CPU core 2", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC3C": Sensor_t(name: "CPU core 3", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC4C": Sensor_t(name: "CPU core 4", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC5C": Sensor_t(name: "CPU core 5", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC6C": Sensor_t(name: "CPU core 6", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC7C": Sensor_t(name: "CPU core 7", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), - "TC8C": Sensor_t(name: "CPU core 8", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC0c": Sensor_t(name: "CPU core 1", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC1c": Sensor_t(name: "CPU core 2", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC2c": Sensor_t(name: "CPU core 3", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC3c": Sensor_t(name: "CPU core 4", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC4c": Sensor_t(name: "CPU core 5", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC5c": Sensor_t(name: "CPU core 6", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC6c": Sensor_t(name: "CPU core 7", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC7c": Sensor_t(name: "CPU core 8", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC8c": Sensor_t(name: "CPU core 9", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC9c": Sensor_t(name: "CPU core 10", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC10c": Sensor_t(name: "CPU core 11", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC11c": Sensor_t(name: "CPU core 12", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC12c": Sensor_t(name: "CPU core 13", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC13c": Sensor_t(name: "CPU core 14", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC14c": Sensor_t(name: "CPU core 15", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), + "TC15c": Sensor_t(name: "CPU core 16", group: SensorGroup.CPU.rawValue, type: SensorType.Temperature.rawValue), "TCGC": Sensor_t(name: "GPU Intel Graphics", group: SensorGroup.GPU.rawValue, type: SensorType.Temperature.rawValue), "TG0D": Sensor_t(name: "GPU die", group: SensorGroup.GPU.rawValue, type: SensorType.Temperature.rawValue), @@ -146,6 +154,14 @@ let SensorsDict: [String: Sensor_t] = [ "VC5C": Sensor_t(name: "CPU Core 6", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), "VC6C": Sensor_t(name: "CPU Core 7", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), "VC7C": Sensor_t(name: "CPU Core 8", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC8C": Sensor_t(name: "CPU Core 9", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC9C": Sensor_t(name: "CPU Core 10", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC10C": Sensor_t(name: "CPU Core 11", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC11C": Sensor_t(name: "CPU Core 12", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC12C": Sensor_t(name: "CPU Core 13", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC13C": Sensor_t(name: "CPU Core 14", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC14C": Sensor_t(name: "CPU Core 15", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), + "VC15C": Sensor_t(name: "CPU Core 16", group: SensorGroup.CPU.rawValue, type: SensorType.Voltage.rawValue), "VCTC": Sensor_t(name: "GPU Intel Graphics", group: SensorGroup.GPU.rawValue, type: SensorType.Voltage.rawValue), "VG0C": Sensor_t(name: "GPU", group: SensorGroup.GPU.rawValue, type: SensorType.Voltage.rawValue), @@ -164,14 +180,20 @@ let SensorsDict: [String: Sensor_t] = [ /// Power "PC0C": Sensor_t(name: "CPU Core", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), + "PCAM": Sensor_t(name: "CPU Core (IMON)", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), "PCPC": Sensor_t(name: "CPU Package", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), + "PCTR": Sensor_t(name: "CPU Total", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), "PCPT": Sensor_t(name: "CPU Package total", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), + "PCPR": Sensor_t(name: "CPU Package total (SMC)", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), "PC0R": Sensor_t(name: "CPU Computing high side", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), "PC0G": Sensor_t(name: "CPU GFX", group: SensorGroup.CPU.rawValue, type: SensorType.Power.rawValue), "PCPG": Sensor_t(name: "GPU Intel Graphics", group: SensorGroup.GPU.rawValue, type: SensorType.Power.rawValue), "PG0R": Sensor_t(name: "GPU", group: SensorGroup.GPU.rawValue, type: SensorType.Power.rawValue), + "PCGC": Sensor_t(name: "Intel GPU", group: SensorGroup.GPU.rawValue, type: SensorType.Power.rawValue), + "PCGM": Sensor_t(name: "Intel GPU (IMON)", group: SensorGroup.GPU.rawValue, type: SensorType.Power.rawValue), + "PC3C": Sensor_t(name: "RAM", group: SensorGroup.Sensor.rawValue, type: SensorType.Power.rawValue), "PPBR": Sensor_t(name: "Battery", group: SensorGroup.Sensor.rawValue, type: SensorType.Power.rawValue), "PDTR": Sensor_t(name: "DC In", group: SensorGroup.Sensor.rawValue, type: SensorType.Power.rawValue), "PSTR": Sensor_t(name: "System total", group: SensorGroup.Sensor.rawValue, type: SensorType.Power.rawValue), @@ -185,6 +207,14 @@ let SensorsDict: [String: Sensor_t] = [ "FRC5": Sensor_t(name: "CPU 6", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), "FRC6": Sensor_t(name: "CPU 7", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), "FRC7": Sensor_t(name: "CPU 8", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC8": Sensor_t(name: "CPU 9", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC9": Sensor_t(name: "CPU 10", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC10": Sensor_t(name: "CPU 11", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC11": Sensor_t(name: "CPU 12", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC12": Sensor_t(name: "CPU 13", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC13": Sensor_t(name: "CPU 14", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC14": Sensor_t(name: "CPU 15", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), + "FRC15": Sensor_t(name: "CPU 16", group: SensorGroup.CPU.rawValue, type: SensorType.Frequency.rawValue), "CG0C": Sensor_t(name: "GPU", group: SensorGroup.GPU.rawValue, type: SensorType.Frequency.rawValue), "CG0S": Sensor_t(name: "GPU shader", group: SensorGroup.GPU.rawValue, type: SensorType.Frequency.rawValue),