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