Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

CoreTemp Shared Memory Plugin

Announcements of new plugins or updates.

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo

Post Reply
hurley
Posts: 46
Joined: May 26th, 2011, 8:03 am

CoreTemp Shared Memory Plugin

Post by hurley »

CoreTempPlugin by hurley

Version 0.2.0 2013-11-18 (major update)

LCD Smartie plugin to display CPU temps and other available data using CoreTemp's shared memory.
The decimal places returned can be modified with proper rounding via param2 setting.

Should return friendly error messages if anything goes wrong (invalid parameters / Coretemp not running) and will return temps in Celsius or Fahrenheit as per your CoreTemp settings.

Only tested on WinXP 32bit, but let me know if you have any problems.

--------------------------------------------------------------------------------------------------------
CoreTempPlugin_0.2.0.zip
--------------------------------------------------------------------------------------------------------
Changes: v0.2.0
* Changed: dll renamed 'CoreTemp.dll' instead of 'CoreTempPlugin.dll' (the suffix is superfluous)
* Removed: Average temperature function (no useful purpose)
* Removed: 2 line font feature (the fonts feature has been expanded and moved to a new plugin due for release shortly)
* Added: Access to all other data available in CoreTemp's shared memory space.
* Fixed: Complete code re-write, source is easier to read and resource use minimised.

* Note: Apparent memory leak traced to call to CoreTemp function .GetData() this can't be addressed from the plugin but the memory use does stabilise after a few minutes. It may be caused by CG taking a while to cleanup used objects.

--------------------------------------------------------------------------------------------------------
Old Versions:
CoreTempPlugin_Old_Versions.zip
--------------------------------------------------------------------------------------------------------
Minimum Requirements:
- LCD Smartie 5.3 beta 3+ (for dotNET plugin support)
- CoreTemp 0.99+ (0.99.8+ recommended)
- GetCoreTempInfoNET.dll (included and available from http://www.alcpu.com/CoreTemp/developers.html)
- dotNET 2.0+

--------------------------------------------------------------------------------------------------------
Installation:
Ensure CoreTemp 0.99 or newer is installed.
Extract: CoreTemp.dll, CoreTemp.ini and GetCoreTempInfoNET.dll to LCD Smartie plugin directory.

--------------------------------------------------------------------------------------------------------
Usage:
You can override LCD Smartie's minimum refresh interval for this plugin by changing the value in CoreTemp.ini
Generally set this value to match your CoreTemp polling interval.
The default value is 500 (ms) and an empty value will use LCD Smarties "Dll check interval" if greater than 250.

The $dll function is used to access plugins.
It's syntax is: $dll(CoreTemp,[function],[param1],[param2])

Functions:
---------------------------------------
1 = CPU Temp (Highest / Per core)
2 = CPU Load (Total / Per core)
3 = CPU Speed
4 = FSB Speed
5 = Clock Multiplier
6 = CPU Voltage (VID)
7 = CPU TJMax (Max junction temperature)
8 = CPU Count
9 = CPU Core Count
10 = CPU Name

Param1 options are: [empty]/[number]
------------------------------------
CPU Temp [empty] = Highest core temperature (default)
CPU Temp [number] = Temp of 'number' core (zero based)

CPU Load [empty] = Total Load (default)
CPU Load [number] = Load of 'number' core (zero based)

CPU TJMax [empty] = TJMax of first CPU (default)
CPU TJMax [number] = TJMax of 'number' CPU (zero based)

For all other functions param1 is not used.

Param2 options are: [empty]/[number]
------------------------------------
For all applicable functions:
[empty] = default decimal places (varies with function)
[number] = decimal places to display

--------------------------------------------------------------------------------------------------------
Examples:

$dll(CoreTemp,1,,) Returns the temperature of the hottest CPU core.
$dll(CoreTemp,1,0,) Returns the temperature of the first CPU core. (zero based)
$dll(CoreTemp,1,1,) Returns the temperature of the second CPU core. etc..

$dll(CoreTemp,2,,1) Returns the total CPU Load to 1 decimal place.
$dll(CoreTemp,2,0,) Returns the load of the first CPU core.

$dll(CoreTemp,3,,3) Returns CPU Speed to 3 decimal places.
$dll(CoreTemp,3,,0) Returns CPU Speed rounded to no decimal places.

$dll(CoreTemp,4,,1) Returns FSB Speed to 1 decimal place.

$dll(CoreTemp,6,,2) Returns CPU Voltage to 2 decimal places.


hurley :)
You do not have the required permissions to view the files attached to this post.
Last edited by hurley on November 17th, 2013, 7:50 pm, edited 2 times in total.

coccolino_dbro
Posts: 8
Joined: July 11th, 2009, 12:09 pm
Location: Romania

Re: CoreTemp Shared Memory Plugin

Post by coccolino_dbro »

Thank you! :D

barnabas1969
Posts: 14
Joined: July 31st, 2011, 3:07 am

Re: CoreTemp Shared Memory Plugin

Post by barnabas1969 »

Hurley,

It works great. Thanks!

Is there any chance you might add the CPU load information? I would like to be able to display the CPU load for each core along with the temperature for each core. I see that the DLL supplied from alcpu.com provides the uiLoad information for all the cores.

hurley
Posts: 46
Joined: May 26th, 2011, 8:03 am

Re: CoreTemp Shared Memory Plugin

Post by hurley »

Hey guys, thanks for the feedback.
Sorry I've been 'off the grid' for a while but glad to hear it's working ok.

barnabas1969, I just had a quick look at CoreTemp's .Net dll and it should be easy to add load for each core.
It will return a 0-100 percentage so you could even drop it into LCDSmartie's $Bar plugin and get a bargraph output.
I'll have a go at setting it up under function 2, and post a new attachment.

Cheers, huRleY

hurley
Posts: 46
Joined: May 26th, 2011, 8:03 am

Re: CoreTemp Shared Memory Plugin

Post by hurley »

Ok done. Haven't done much testing yet so I'll just post the dll for now.
Only problem I've found is when used with 2 line font and $bar plugin the bargraph gets corrupted.
This is because two digits uses up all of the custom characters.

Function 2 returns cpu load as a percentage.

Parameters are the same as for v1.2.0 ie:
[param1] nothing = highest load, A = average load, 0-9 = load of each core.
[param2] nothing = single line font, 2#1 = first line of 2, 2#2 = second line of 2.

Heres an example with $bar plugin on 4 lines:

$Bar($dll(CoreTempPlugin,2,0,),100,10) $dll(CoreTempPlugin,1,0,)c
$Bar($dll(CoreTempPlugin,2,1,),100,10) $dll(CoreTempPlugin,1,1,)c
$Bar($dll(CoreTempPlugin,2,2,),100,10) $dll(CoreTempPlugin,1,2,)c
$Bar($dll(CoreTempPlugin,2,3,),100,10) $dll(CoreTempPlugin,1,3,)c

Let me know how it goes.
----------------------------------------------------------------
Edit:
Forgot about Perf Plugin here: http://lcdsmartie.sourceforge.net/PerfPlugin.html would probably do just what you were after.

Use something like:
$dll(perf,4,5,\Processor(0)\% Processor Time)%
$dll(perf,4,5,\Processor(1)\% Processor Time)%

Belial88
Posts: 16
Joined: November 12th, 2013, 9:07 pm

Re: CoreTemp Shared Memory Plugin

Post by Belial88 »

Can I do this on lcd smartie without having to run coretemp?

Guest

Re: CoreTemp Shared Memory Plugin

Post by Guest »

Hello Belial88, the plugin gets it's data from CoreTemp so it won't work without it running.
CoreTemp's pretty light on resources though so not a big deal to have it running also.

Actually I'm working on a major update to this plugin and a new plugin and app to replace and improve some of it's features.
The update for CoreTempPlugin will be stripped down to minimise resource usage and also include all available data from CoreTemp. Should be up fairly soon..

hurley
Posts: 46
Joined: May 26th, 2011, 8:03 am

Re: CoreTemp Shared Memory Plugin

Post by hurley »

oops wasn't logged in. ^ from hurley.

Guest

Re: CoreTemp Shared Memory Plugin

Post by Guest »

Guest wrote:Hello Belial88, the plugin gets it's data from CoreTemp so it won't work without it running.
CoreTemp's pretty light on resources though so not a big deal to have it running also.

Actually I'm working on a major update to this plugin and a new plugin and app to replace and improve some of it's features.
The update for CoreTempPlugin will be stripped down to minimise resource usage and also include all available data from CoreTemp. Should be up fairly soon..
yea but it's redundant, I don't want to run coretemp and hwinfo. There also sometimes is issues with running multiple monitoring programs (hwinfo and coretemp play well, but running hwinfo, coretemp, and then maybe occt when i'm doing gpu testing, all at the same time, or speedfan on top too because I need to customize the GPU's fan profile, and then there's issues). I mean you could maybe say 'w/e brah, how often that happens' but I actually do it a lot, first off, and secondly, it's just poor, poor design.

I'd love to make a better plug-in myself, believe me I know nothing about coding but all I'm doing recently is trying to learn this stuff... but just saying. Unfortunately, there's just no way for me to display CPU temps right now on an LCD. Motherboard monitor is just old as dino bones, that System Monitor plug-in based off the awful open hardware monitor doesn't sense Haswell CPU temps for some reason, so Coretemp is my only choice.

But coretemp is, and has been, an awful program for a long time... it's been replaced by way better programs for a long time now. I understand it's light on resources but so are other programs that display way more. I dont like having to run coretemp!

Belial88
Posts: 16
Joined: November 12th, 2013, 9:07 pm

Re: CoreTemp Shared Memory Plugin

Post by Belial88 »

i would've edited that to be a bit less scathing but... you know, wasn't logged in. Honesty :wink:

I appreciate the plug-in, it works and that's nice, this is just my feedback. Thanks for your work, I really look forward to the update (if it could include gpu temps...that'd just be exactly what I need for my lcd)

hurley
Posts: 46
Joined: May 26th, 2011, 8:03 am

Re: CoreTemp Shared Memory Plugin

Post by hurley »

hmm.. I hear ya Belial88, it would be nice to have an all in one app compatible with everything and updated for new hardware but you gotta take what you can get unless you are capable of writing what you need.
Incidentally, a need for something that's not out there is how most software comes to be.
And open source gives everyone an opportunity to learn and contribute.
I don't have that level of skill unfortunately. The earlier versions of this plugin were some of my first go's at programming (and it shows).

I have to use CoreTemp and ATI tray tools for my hardware monitoring, but the combo works for me.
If you do come across a good monitoring app that has some means of passing it's data out to other tools, it's relatively easy to write an LCD Smartie plugin to display the info.
There's demo plugins for various languages kicking about and lots of help available from forum members and you can learn from other peoples source code too. Just avoid 0.1.1 > 0.1.3 of this example. The code confuses me and i wrote it :|
---
Anyway the CoreTempPlugin v2 update is still limited to the data that CoreTemp provides, so no gpu monitoring unfortunately.
I just thought it was time to revisit the code and clean it up.
I ended up parting out the font features to a new plugin which allowed both to be better at what they do.
The font plugin is still a little way off being finished but I'm happy with how its working out.
..hurley.

hurley
Posts: 46
Joined: May 26th, 2011, 8:03 am

Re: CoreTemp Shared Memory Plugin

Post by hurley »

Edit: OK I just poked around the forums and see you're keen on HWiNFO which I hadn't looked at before so...
Took a quick look into it and you're right it's a superior app and has a shared memory feature too.
I downloaded it and it works for more sensors on my laptop than I knew were there. Cool!
And not a huge drain on resources either.

OK to the point, we would need to get access to info on the api for shared memory..
HWiNFO forum says to contact the author for these details.
It should be as straightforward to implement an LCD Smartie plugin for this as it is for CoreTemp.

Give me some time to do a little more digging on this, I think I would find a plugin useful too.
Though I've got multiple projects on the go at the moment and have limited skills at programming.
Need to also find out if anyone is already working on a plugin for HWiNFO... ?

Sorry kinda had my head in the sand on this cos my hardware is nearing a decade old.
..hurley

Belial88
Posts: 16
Joined: November 12th, 2013, 9:07 pm

Re: CoreTemp Shared Memory Plugin

Post by Belial88 »

You can contact Mumak at overclock.net, he's pretty easy to reach and quick to respond, he's always helped me back when it was more complicated to work with. He's been consistently updating it for a long time now. There's an api for it for rainmeter or something, and there's an sdk on the site. words i dont know what they mean... i tried to see if it'd be simple to switch over the dll or something, like I think I took some tool to look at dll files to edit them, i looked at yours and there were just like 50 files and subfolders and just waay too much for me to know where to start. I mean I'm trying to learn this plugin stuff but just having a lot of difficulty...

yea it'd be really cool to see an lcd smartie plug-in, im sure he'll tell you everything you need to know.

hurley
Posts: 46
Joined: May 26th, 2011, 8:03 am

Re: CoreTemp Shared Memory Plugin

Post by hurley »

Edit:
HWiNFO Plugin finished.
Available here: HWiNFO Plugin http://forums.lcdsmartie.org/viewtopic. ... 393#p19393

Post Reply