Giter Club home page Giter Club logo

alienfx-sdk's Introduction

AlienFX-SDK

Better AlienFX/LightFX SDK than Dell official's one without any limitations.

Dell official SDK does a very terrible job if you want to change LED color in quick succession. Their official SDK comes with 3 seconds delay and behaves pretty weird in general. This SDK not only fixes up its issue and performs better but is written from scratch by reverse engineerig USB protocol. It sends byte data directly to USB which then changes zones color. This also removes the dependency from their Command Center software and works irrespective of settings set in stock software. In other words, you can finally achieve Rainbow effect across all LED's like it was intended without any lag. This SDK also lets you change color of zones that are not possible with official SDK such as Macro keys, power button etc.

Please checkout Sample App for reference.

Currently tested on AW13/R3, AW15R2/R3, AW17R3/R4 but should be working with all alienware laptops.

Initialization

//This is VID for all alienware laptops, use this while initializing, it might be different for external AW device like mouse/kb
int vid = 0x187c;
  
//Returns PID value if init is successful or -1 if failed. Takes Vendor ID as argument.
int isInit = AlienFX_SDK::Functions::AlienFXInitialize(AlienFX_SDK::vid);

Set Color

//Make sure your device is ready to process new instructions before updating color
bool result = AlienFX_SDK::Functions::IsDeviceReady();
std::cout << "\nReady: " << result; 

//Takes index of the location you want to update as first argument and Red, Green and Blue values for others.
AlienFX_SDK::Functions::SetColor(AlienFX_SDK::Index::AlienFX_leftZone, 225, 134, 245);
AlienFX_SDK::Functions::SetColor(AlienFX_SDK::Index::AlienFX_rightZone, 25, 114, 245);

//This is important to apply the updated color changes. Should only be called once after you're done with new colors.
AlienFX_SDK::Functions::UpdateColors();

Projects using this SDK

Project Aurora.

Special Thanks

Thanks go to Ingrater (http://3d.benjamin-thaut.de/) for his work on AlienFX and providing the protocol for me to work on.

alienfx-sdk's People

Contributors

gurjot95 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

alienfx-sdk's Issues

Alienware m17x R4 problem when mouse is plugged

Hi !
I have probleme with my alienware M17x R4, work perfectly when my alienware TactX mouse is not connected.
PID : 1312 (0x520)
Ready 1

But when mouse is connected :
PID : 1301 (0x515)
Ready 0

Have you any idea ???
Thanks :)
Capture

Alienware mXX series uses completely different low-level interface.

Initially, i check you SDK, and found error 87 (Incorrect argument) at the any DeviceIoControl call.
I use USBPcap and configure out my m15 (i think m17 as well) uses completely different interface.

First, codes for Reset/Update commands are different.
Second, now SetColor is two commands, not one - one for selecting light for change, second is color.

Most pity, i see the right commands in USBPcap log, but then i issue the same in DeviceIoControl, it still provide error 87.
Any ideas why?

Another question how to detect this kind of system? I see version=512 in driver attributes, can we use this?

Can you help me to solve this issues, i'm out of ideas?

PS: if we configure it out, i put m15 version here in other branch.
PPS: Aurora doesn't work as well, i think for the same reason.

Support for CMake

I am willing to test this software in Linux Ubuntu. Could you please make it a CMake project instead?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.