diff --git a/Classes/FanControl.m b/Classes/FanControl.m index 1794a83..9d1c3cc 100755 --- a/Classes/FanControl.m +++ b/Classes/FanControl.m @@ -155,6 +155,7 @@ NSUserDefaults *defaults; [NSNumber numberWithInt:0],@"selac", [NSNumber numberWithInt:0],@"selload", [NSNumber numberWithInt:0],@"MenuBar", + @"TC0D",@"TSensor", feedURL,@"SUFeedURL", [NSArchiver archivedDataWithRootObject:[NSColor blackColor]],@"MenuColor", favorites,@"Favorites", diff --git a/Classes/smcWrapper.m b/Classes/smcWrapper.m index 27ca4cc..2d7fd31 100755 --- a/Classes/smcWrapper.m +++ b/Classes/smcWrapper.m @@ -26,14 +26,15 @@ //TODO: This is the smcFanControl 2.4 checksum, it needs to be updated for the next release. NSString * const smc_checksum=@"2ea544babe8a58dccc1364c920d473c8"; -static NSDictionary *tsensors = nil; +static NSArray *allSensors = nil; + @implementation smcWrapper io_connect_t conn; +(void)init{ SMCOpen(&conn); - tsensors = [[NSDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"tsensors" ofType:@"plist"]]; + allSensors = [[NSArray alloc] initWithObjects:@"TC0D",@"TC0H",@"TC0F",@"TCAH",@"TCBH",@"TC0P",nil]; } +(void)cleanUp{ SMCClose(conn); @@ -41,34 +42,24 @@ static NSDictionary *tsensors = nil; +(float) get_maintemp{ float c_temp; - - NSRange range_pro=[[MachineDefaults computerModel] rangeOfString:@"MacPro"]; - if (range_pro.length > 0) { - //special readout for MacPro - c_temp=[smcWrapper get_mptemp]; - } else { - SMCVal_t val; - NSString *foundKey = [tsensors objectForKey:[MachineDefaults computerModel]]; - if (foundKey !=nil) { - foundKey = [MachineDefaults computerModel]; - } else { - foundKey = @"standard"; - } - SMCReadKey2((char*)[[tsensors objectForKey:foundKey] UTF8String], &val,conn); - c_temp= ((val.bytes[0] * 256 + val.bytes[1]) >> 2)/64; - - if (c_temp<=0) { - NSArray *allTSensors = [tsensors allKeys]; - for (NSString *key in allTSensors) { - if (![key isEqualToString:foundKey]) { - SMCReadKey2((char*)[[tsensors objectForKey:key] UTF8String], &val,conn); - c_temp= ((val.bytes[0] * 256 + val.bytes[1]) >> 2)/64; - if (c_temp>0) break; + + SMCVal_t val; + NSString *sensor = [[NSUserDefaults standardUserDefaults] objectForKey:@"TSensor"]; + SMCReadKey2((char*)[sensor UTF8String], &val,conn); + c_temp= ((val.bytes[0] * 256 + val.bytes[1]) >> 2)/64; + + if (c_temp<=0) { + for (NSString *sensor in allSensors) { + SMCReadKey2((char*)[sensor UTF8String], &val,conn); + c_temp= ((val.bytes[0] * 256 + val.bytes[1]) >> 2)/64; + if (c_temp>0) { + [[NSUserDefaults standardUserDefaults] setObject:sensor forKey:@"TSensor"]; + break; } - } } } + return c_temp; } diff --git a/Info.plist b/Info.plist index cd33c86..49a16df 100644 --- a/Info.plist +++ b/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable smcFanControl CFBundleGetInfoString - smcFanControl 2.4, Hendrik Holtmann (GPL) + smcFanControl 2.5, Hendrik Holtmann (GPL) CFBundleIconFile smcfancontrol_v2 CFBundleIdentifier @@ -19,11 +19,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.4 + 2.5 CFBundleSignature ???? CFBundleVersion - 2.4 + 2.5 LSUIElement 1 NSHumanReadableCopyright diff --git a/Ressources/tsensors.plist b/Ressources/tsensors.plist deleted file mode 100644 index f9348d4..0000000 --- a/Ressources/tsensors.plist +++ /dev/null @@ -1,16 +0,0 @@ - - - - - standard - TC0D - lastAlternative - TCAH - MacBookPro10,1 - TC0F - iMac12,2 - TC0H - iMac12,1 - TC0H - - diff --git a/smcFanControl.xcodeproj/project.pbxproj b/smcFanControl.xcodeproj/project.pbxproj index 6ea9dc1..837ae53 100644 --- a/smcFanControl.xcodeproj/project.pbxproj +++ b/smcFanControl.xcodeproj/project.pbxproj @@ -27,7 +27,6 @@ 89949E8D0AEEA37700077E93 /* Power.m in Sources */ = {isa = PBXBuildFile; fileRef = 89949E8C0AEEA37700077E93 /* Power.m */; }; 899D59DC15E1CF60003E322D /* smc in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8924ECEE15AC96E70031730C /* smc */; }; 899D59DD15E1CFFF003E322D /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 895BDA390B8F8F42003CD894 /* Sparkle.framework */; }; - 899D59E315E228DF003E322D /* tsensors.plist in Resources */ = {isa = PBXBuildFile; fileRef = 899D59E215E228DF003E322D /* tsensors.plist */; }; 89B243200B7E351000CAD103 /* smcfancontrol_v2.icns in Resources */ = {isa = PBXBuildFile; fileRef = 89B2431F0B7E351000CAD103 /* smcfancontrol_v2.icns */; }; 89C053BE0ADAB7630037CA16 /* smc.c in Sources */ = {isa = PBXBuildFile; fileRef = 89C053BC0ADAB7630037CA16 /* smc.c */; }; 89E7D3650ADE819B000F67AB /* Machines.plist in Resources */ = {isa = PBXBuildFile; fileRef = 89E7D3640ADE819B000F67AB /* Machines.plist */; }; @@ -110,7 +109,6 @@ 8987FBD00B878B3900A5ED8E /* smc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = smc.png; sourceTree = ""; }; 89949E8B0AEEA37700077E93 /* Power.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Power.h; sourceTree = ""; }; 89949E8C0AEEA37700077E93 /* Power.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Power.m; sourceTree = ""; }; - 899D59E215E228DF003E322D /* tsensors.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = tsensors.plist; sourceTree = ""; }; 89B2431F0B7E351000CAD103 /* smcfancontrol_v2.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = smcfancontrol_v2.icns; sourceTree = ""; }; 89C053BC0ADAB7630037CA16 /* smc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = smc.c; sourceTree = ""; }; 89C053BD0ADAB7630037CA16 /* smc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = smc.h; sourceTree = ""; }; @@ -231,7 +229,6 @@ 89B2431F0B7E351000CAD103 /* smcfancontrol_v2.icns */, 8917FB850ADEECAD00443DA1 /* paypal.gif */, 89E7D3640ADE819B000F67AB /* Machines.plist */, - 899D59E215E228DF003E322D /* tsensors.plist */, 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, 893506170B440255001BFBA5 /* Localizable.strings */, 89FE24050B7F4C2B00D2713C /* paypal.gif */, @@ -344,7 +341,6 @@ 89033CA70B80E1EB00FDAF43 /* F.A.Q.rtf in Resources */, 8987FBD20B878B3900A5ED8E /* smc.png in Resources */, 89559A840BAC338500DBA37E /* smcover.png in Resources */, - 899D59E315E228DF003E322D /* tsensors.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate b/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate index c68c953..3d67100 100644 Binary files a/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate and b/smcFanControl.xcodeproj/project.xcworkspace/xcuserdata/hendrikh.xcuserdatad/UserInterfaceState.xcuserstate differ