Ixel

PCFx - AlienFX lighting depending on things like CPU temperature

27 posts in this topic

PCFx 0.5 (Supported M14x Chassis, possibly others too)

Other chassis can be supported, let me know if you have problems.

Description:

Allows the user to identify computer activity or statistics such as CPU temperature from colour variations on the AlienFX laptop. Simply select what you want the zone to show and the low and high colours. Values that are in between low and high colours will be visualised as a gradient, so gradual colour changes rather than sudden colour changes.

PCFx currently updates colours every 1/5th of a second (200ms), uses the LightFX.dll from the AlienFX SDK and is able to retrieve the sensor information such as CPU core temperatures without third party programs.

Screenshot:

pxtBf.png

Known Bugs:

- Status lights dropdown box has some old options that are no longer required. This will be corrected in version 0.6+.

Future Improvements:

- 'Battery Capacity %' added to all dropdown boxes as an option.

Virus Scan Report from VirusTotal:

VirusTotal - Free Online Virus, Malware and URL Scanner - Version 0.1 Alpha x86

Download is attached to this post. Extract it, run it, and enjoy! Any questions or ideas please feel free to suggest, and as always if you find the program useful and want to make a donation please do so via the donation button in the program.

Please choose the correct version for your operating system, e.g. if you run 32-bit please download x86, otherwise download x64 if you run 64-bit.

Download:

- x64 (64-bit): Download PCFx_0.5_x64_64bit.zip for free on Filesonic.com

- x86 (32-bit): Download PCFx_0.5_x86_32bit.zip for free on Filesonic.com

PCFx_0.1_Alpha.zip

PCFx_0.2_Alpha.zip

PCFx_0.3_Alpha.zip

Edited by Ixel
5 people like this

Share this post


Link to post
Share on other sites

Nice idea! Will def. give it a go tomorrow when I am next to my alien.

If u need to host it here in the downloads section let me know ;)

Another idea is that u could ask @Mumak to expose an interface of HWiNFO for u to read it's reported sensors/values

1 person likes this

Share this post


Link to post
Share on other sites

@Ixel I think you have a great program in the works. Welcome to Tech | Inferno officially now that you've joined and left the guest category. I can't test this yet as I do not have a system yet and am waiting on a replacement. I look forward to trying this out. In the future would there be a way to integrate with HWINFO32, I have used coretemp and it is light and useful but there doesn't seem to be a monitoring program as detailed as HWINFO32. Not sure if your interested or if Mumak the creator of HWinfo32 is, but if you send him a message maybe it will work out for the better. Either way kudos on the incredible program and again welcome to Tech | Inferno.

Edit: I just can't type as fast as you Michael on my tiny phone lol... We had the same idea!

Edited by mw86

Share this post


Link to post
Share on other sites
Nice idea! Will def. give it a go tomorrow when I am next to my alien.

If u need to host it here in the downloads section let me know ;)

Another idea is that u could ask @Mumak to expose an interface of HWiNFO for u to read it's reported sensors/values

Hi,

Thanks for your replies so far. In reply to the quoted message, that would be wonderful. Obviously more testing is required as I've only tested this on my own system (M14x), so it's quite possible other models will have different zone identifiers which means I'll need to make some changes specific to each model if that's the case. I'll look into PMing Mumak and see if there's a way I can interface with HWinfo32 from my program, currently designed in C#.NET.

1 person likes this

Share this post


Link to post
Share on other sites

Wow, cool idea! I'll test it, hopefully tomorrow! Welcome at T|I!!

Share this post


Link to post
Share on other sites

This is a great idea and really useful thing to do with AlienFX.

Share this post


Link to post
Share on other sites

not working on M17xR2 different version

************** Exception Text **************

System.IO.FileLoadException: Could not load file or assembly 'AlienwareAlienFXTools, Version=2.6.8.0, Culture=neutral, PublicKeyToken=bebb3c8816410241' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

File name: 'AlienwareAlienFXTools, Version=2.6.8.0, Culture=neutral, PublicKeyToken=bebb3c8816410241'

at LightFX.LightFXController..ctor(Boolean disableControler, Boolean readEnableAPIAccessValue)

at PCFx.frmMain.timer1_Tick(Object sender, EventArgs e)

at System.Windows.Forms.Timer.OnTick(EventArgs e)

at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Share this post


Link to post
Share on other sites
not working on M17xR2 different version

************** Exception Text **************

System.IO.FileLoadException: Could not load file or assembly 'AlienwareAlienFXTools, Version=2.6.8.0, Culture=neutral, PublicKeyToken=bebb3c8816410241' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

File name: 'AlienwareAlienFXTools, Version=2.6.8.0, Culture=neutral, PublicKeyToken=bebb3c8816410241'

at LightFX.LightFXController..ctor(Boolean disableControler, Boolean readEnableAPIAccessValue)

at PCFx.frmMain.timer1_Tick(Object sender, EventArgs e)

at System.Windows.Forms.Timer.OnTick(EventArgs e)

at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

From what I can see the program either can't find the DLL (LightFX.dll) supplied with it, or the LightFX.dll is being found somewhere else and doesn't match the version of my LightFX.dll built with the program. As I suspected it looks like I might have to make individual versions for each model. If you're using UAC ensure it isn't being a pain and hiding the supplied LightFX.dll from the program by running it as Administrator temporarily. Let me know what happens. I'll also look into making a small console based program which outputs the zone identifiers specific to an Alienware model, I can use this information to help develop specific versions. If it still persists in being a pain could you send me your LightFX.dll from your "C:\Program Files\Alienware\Command Center\AlienFX SDK\Managed\DLL\" folder.

1 person likes this

Share this post


Link to post
Share on other sites

Hey mate UAC is disabled and can see LightFX.dll tried my LightFX.dll and it is a different version. Would be great if you can get it to work LightFX.zip

1 person likes this

Share this post


Link to post
Share on other sites
Hey mate UAC is disabled and can see LightFX.dll tried my LightFX.dll and it is a different version. Would be great if you can get it to work [ATTACH]957[/ATTACH]

Strange, when I use your DLL in mine it throws the same sort of error upon executing the compiled EXE. Perhaps it does that because I'm using a different version of AlienFX on my laptop, where as yours it may work as that's your version. Your DLL is definitely different in size to mine so perhaps there's a DLL specific to each model, though personally I find that a bit odd and a badly designed approach. In a few moments I'll upload another version just for you to try, initially you might get a model not supported error, but if you don't see the error regarding that DLL then it's another move in the right direction to getting your model supported. Keep an eye on this post for an edit.

Edit: Uploaded a dummy version, 0.2 with alternative LightFX.dll supplied with an M17x model. PCFx_0.2_Alpha_M17x_dummyver.zip

Edited by Ixel
1 person likes this

Share this post


Link to post
Share on other sites

Good news, adding support for HWiNFO32 should be possible, though it's not a brilliant solution, it's easy enough to implement. Mumak has explained how to go about it and I'll explain nearer the time what one may have to do in order to get it to work with your copy of HWiNFO32 as he explained to me. I'll look into adding it into 0.3 which will hopefully be ready in the next few hours.

Also I'm eliminating the need to use the LightFX.dll supplied with the program, and instead link up with the unmanaged library at C:\Windows\System32\LightFX.dll. This will eliminate many issues with referencing .NET assemblies and then finding they're a different version on another system.

2 people like this

Share this post


Link to post
Share on other sites

@Ixel @Mumak I think that's great news the two of you collaborated on this to come up with a solution as you just described. The two of you are going to make many Alienware laptop owners very happy. I had hoped for a app like this back when I got my R2 in June of 2010.

Share this post


Link to post
Share on other sites

Update for 0.3 alpha released.

+ Added fading gradient options to the dropdown menus with varying speeds.

+ Added tray/notify icon support.

* Optimised code further, removed .NET assembly LightFX.dll and changed it to work with the LightFX.DLL in System32 folder.

Share this post


Link to post
Share on other sites

Nice additions all in one day, very cool can't wait to put it to use.

Share this post


Link to post
Share on other sites

Great app! I just added to the sticky thread for Alienware Customizations. I'm linking back to the opening post of this thread so please keep the opening post updated with your changes.

Edited by GetFound
1 person likes this

Share this post


Link to post
Share on other sites

In the next week or two, when I get time between final assignment and exams, I'll be adding what I hope will be a way to automatically identify zones on AlienFX devices. So my program will ask the LightFX library for the zones the primary device supports (it's not likely there will be two AlienFX devices on one system, but possible, sadly I can't support secondary devices for now) and query each zone for the 'description', 'description' will usually give an output like "Keyboard Left", and then once it has the 'description' and recognises that 'description' it will associate the zone with PCFx accordingly. Call it a way of automatically calibrating to support your AlienFX device.

2 people like this

Share this post


Link to post
Share on other sites

PCFx 0.5 released, changes include:

+ Added integrated support for reading sensor data without depending on third party programs.

+ Added support for status lights.

+ Added a 64-bit version in addition to the 32-bit version of PCFx.

* Changed temperature gradient to have a minimum low of 1C and a maximum high of 100C, colour depending on what the current temperature is of course. Previously this was low of 40C and high of 100C.

* Changed GUI width to be wider, to allow for wider dropdown boxes due to the longer texts in them now.

* Changed delay between updates from 200ms to 300ms, some hardware limitations made issues from too fast updates.

- Removed dependency on CoreTemp for sensor data.

2 people like this

Share this post


Link to post
Share on other sites

@Ixel thanks for this your efforts do not go unnoticed.

Share this post


Link to post
Share on other sites

If you can update the Download link for X64 i would really like to try this out!

Thanks!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now