v7.34 breaks TempLCD (Pro user)

Psythik

New Member
Like the title says, TempLCD stops working entirely after updating to v7.34. I get an error in TempLCD's sensors.txt file: "Unable to autodetect sensors". If I rollback to v7.32, TempLCD works perfectly again.

For those who don't know, TempLCD makes your motherboard's 2 digit, 7 segment debug LED more useful. You can display various readings from HWINFO on your motherboard. Personally I use it to show CPU temp.

FWIW, I'm using the pro version cause TempLCD. (I was told that by upgrading to Pro, I'd get official support; which is why I'm here instead of just sticking with the old version for all eternity.)

And by the way, I'd like to contact the TempLCD developer, since this question is probably better-suited for them, but I can't even find their website anymore. It doesn't show up on a Google search. So I attached the installer for it to help with troubleshooting purposes (Windows-only, sorry).

EDIT: I found the website. Unfortunately it doesn't help me much since there's no developer contact info. This forum is my only hope...
 

Attachments

  • TempLCD_1.0.3.7z
    88.2 KB · Views: 3
Last edited:
I believe this problem is due to a recent enhancement in Shared Memory layout of HWiNFO that exposes sensor data to other applications:

The fact that TempLCD doesn't work now means the tool didn't have properly implemented Shared Memory support because if it would, this change would not cause any issues.
This needs to be fixed in TempLCD but it seems it's not easy to find its author. Let me try to dig a bit and find a contact...
 
I found that TempLCD author is Vincent Huisman (of DataGhost.com) but can't find any e-mail contact. He seems to have some accounts on Instagram and Twitter.
Maybe dataghost<at>dataghost.com will work (replace <at> with @)..
 
Is there even a little hope that such a feature (like TempLCD) will appear in HWiNFO Pro version?
 
Heh, I seem to have been summoned through a project I don't even remember contributing to...
Anyway,

FWIW, I'm using the pro version cause TempLCD. (I was told that by upgrading to Pro, I'd get official support; which is why I'm here instead of just sticking with the old version for all eternity.)
If you got that from the description on my site, I am sorry. What I meant was that newer HWiNFO versions seemed to have locked the Shared Memory feature behind a kind of timed trial and only upgrading to Pro would remove the time limit, otherwise either version would have the same functionality regarding to TempLCD.

I believe this problem is due to a recent enhancement in Shared Memory layout of HWiNFO that exposes sensor data to other applications:

The fact that TempLCD doesn't work now means the tool didn't have properly implemented Shared Memory support because if it would, this change would not cause any issues.
This needs to be fixed in TempLCD but it seems it's not easy to find its author. Let me try to dig a bit and find a contact...
I had no idea this layout was published anywhere. I don't recall if I searched for it or not, probably yes, but couldn't find it so I reverse engineered it by inspecting the shared memory segment which got me close enough to something that worked. This was a few years ago so it's a bit fuzzy. I don't have Pro and I'm still at 6.42 so it wasn't an immediate issue for me and I kind of just left it there. It'll be interesting to see what "unk" and "unk3" in "my" header structs are meant to do haha (figured out that "unk2" was "version" after 6.12 came out). I haven't looked at the SHM spec docs yet but the post you linked to suggests it shouldn't have broken, as I found the offset and length variables for categories and elements (I think correctly) and am using them in my code as such. Edit: found my most recent code again, I had included a check to just bail out if the header version is higher than 1. Newer (at that point unknown) versions could have any layout so I figured it'd be smart to play it safe doing pointer arithmetic in a service context.

In any case, I'm quite busy but I hope I can find some time over the next few weeks to have a look at this and how to fix it.
 
Last edited:
Heh, I seem to have been summoned through a project I don't even remember contributing to...
Anyway,


If you got that from the description on my site, I am sorry. What I meant was that newer HWiNFO versions seemed to have locked the Shared Memory feature behind a kind of timed trial and only upgrading to Pro would remove the time limit, otherwise either version would have the same functionality regarding to TempLCD.


I had no idea this layout was published anywhere. I don't recall if I searched for it or not, probably yes, but couldn't find it so I reverse engineered it by inspecting the shared memory segment which got me close enough to something that worked. This was a few years ago so it's a bit fuzzy. I don't have Pro and I'm still at 6.42 so it wasn't an immediate issue for me and I kind of just left it there. It'll be interesting to see what "unk" and "unk3" in "my" header structs are meant to do haha (figured out that "unk2" was "version" after 6.12 came out). I haven't looked at the SHM spec docs yet but the post you linked to suggests it shouldn't have broken, as I found the offset and length variables for categories and elements (I think correctly) and am using them in my code as such. Edit: found my most recent code again, I had included a check to just bail out if the header version is higher than 1. Newer (at that point unknown) versions could have any layout so I figured it'd be smart to play it safe doing pointer arithmetic in a service context.

In any case, I'm quite busy but I hope I can find some time over the next few weeks to have a look at this and how to fix it.

Thanks for coming back! We hope you'll find some time to fix this and release a new version of TempLCD :)
 
Heh, I seem to have been summoned through a project I don't even remember contributing to...
Anyway,


If you got that from the description on my site, I am sorry. What I meant was that newer HWiNFO versions seemed to have locked the Shared Memory feature behind a kind of timed trial and only upgrading to Pro would remove the time limit, otherwise either version would have the same functionality regarding to TempLCD.


I had no idea this layout was published anywhere. I don't recall if I searched for it or not, probably yes, but couldn't find it so I reverse engineered it by inspecting the shared memory segment which got me close enough to something that worked. This was a few years ago so it's a bit fuzzy. I don't have Pro and I'm still at 6.42 so it wasn't an immediate issue for me and I kind of just left it there. It'll be interesting to see what "unk" and "unk3" in "my" header structs are meant to do haha (figured out that "unk2" was "version" after 6.12 came out). I haven't looked at the SHM spec docs yet but the post you linked to suggests it shouldn't have broken, as I found the offset and length variables for categories and elements (I think correctly) and am using them in my code as such. Edit: found my most recent code again, I had included a check to just bail out if the header version is higher than 1. Newer (at that point unknown) versions could have any layout so I figured it'd be smart to play it safe doing pointer arithmetic in a service context.

In any case, I'm quite busy but I hope I can find some time over the next few weeks to have a look at this and how to fix it.
I'm sorry! It was me who sent you a message, but without your help a miracle will not happen :)
 
If you got that from the description on my site, I am sorry. What I meant was that newer HWiNFO versions seemed to have locked the Shared Memory feature behind a kind of timed trial and only upgrading to Pro would remove the time limit, otherwise either version would have the same functionality regarding to TempLCD.
That comment was directed towards the developer(s) of HWiNFO, in case that wasn't clear. I didn't expect the dev of TempLCD himself to actually show up to this thread! Thanks for being here.
I had no idea this layout was published anywhere. I don't recall if I searched for it or not, probably yes, but couldn't find it so I reverse engineered it by inspecting the shared memory segment which got me close enough to something that worked. This was a few years ago so it's a bit fuzzy. I don't have Pro and I'm still at 6.42 so it wasn't an immediate issue for me and I kind of just left it there. It'll be interesting to see what "unk" and "unk3" in "my" header structs are meant to do haha (figured out that "unk2" was "version" after 6.12 came out). I haven't looked at the SHM spec docs yet but the post you linked to suggests it shouldn't have broken, as I found the offset and length variables for categories and elements (I think correctly) and am using them in my code as such. Edit: found my most recent code again, I had included a check to just bail out if the header version is higher than 1. Newer (at that point unknown) versions could have any layout so I figured it'd be smart to play it safe doing pointer arithmetic in a service context.

In any case, I'm quite busy but I hope I can find some time over the next few weeks to have a look at this and how to fix it.
I appreciate you looking into it. I rely on TempLCD cause it's the only piece of software I know of that allows my motherboard's debug LCD to show CPU temp. I've been sticking with HWiNFO v7.30-4870 in the meantime so I can continue using it.

If you'd like for me to throw some cash your way to help with development, I'd be more than happy to help. If you accept crypto, then all I need is a BTC or ETH address. Otherwise shoot me a PM and let me know what payment method works for you! And thank you for making this!
 
Back
Top