diff --git a/OpenAuraSDK/AuraController.cpp b/OpenAuraSDK/AuraController.cpp index 77563f8e..ffcce34d 100644 --- a/OpenAuraSDK/AuraController.cpp +++ b/OpenAuraSDK/AuraController.cpp @@ -175,96 +175,4 @@ void AuraController::AuraRegisterWriteBlock(aura_register reg, unsigned char * d //Write Aura block data bus->i2c_smbus_write_block_data(dev, 0x03, sz, data); -} - -int RGBController_Aura::GetMode() -{ - if (aura->AuraRegisterRead(AURA_REG_DIRECT)) - { - return(0); - } - else - { - return(aura->AuraRegisterRead(AURA_REG_MODE) + 1); - } -} - -void RGBController_Aura::SetMode(int mode) -{ - if (mode == 0) - { - aura->SetDirect(true); - } - else - { - aura->SetDirect(false); - aura->SetMode(mode - 1); - } -} - -void RGBController_Aura::SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue) -{ - if (GetMode() == 0) - { - aura->SetAllColorsDirect(red, green, blue); - } - else - { - aura->SetAllColorsEffect(red, green, blue); - } -} - -RGBController_Aura::RGBController_Aura(AuraController* aura_ptr) -{ - aura = aura_ptr; - - name = aura->GetDeviceName(); - - mode aura_modes[AURA_NUMBER_MODES + 1]; - - aura_modes[0].name = "Direct"; - aura_modes[1].name = "Off"; - aura_modes[2].name = "Static"; - aura_modes[3].name = "Breathing"; - aura_modes[4].name = "Flashing"; - aura_modes[5].name = "Spectrum Cycle"; - aura_modes[6].name = "Rainbow"; - aura_modes[7].name = "Spectrum Cycle Breathing"; - aura_modes[8].name = "Chase Fade"; - aura_modes[9].name = "Spectrum Cycle Chase Fade"; - aura_modes[10].name = "Chase"; - aura_modes[11].name = "Spectrum Cycle Chase"; - aura_modes[12].name = "Spectrum Cycle Wave"; - aura_modes[13].name = "Chase Rainbow Pulse"; - aura_modes[14].name = "Random Flicker"; - - for (int i = 0; i < (AURA_NUMBER_MODES + 1); i++) - { - modes.push_back(aura_modes[i]); - } - - for (int i = 0; i < aura->GetLEDCount(); i++) - { - led* new_led = new led(); - - new_led->name = "Aura LED"; - - leds.push_back(*new_led); - } - - zone new_zone; - - new_zone.name = "Aura Zone"; - new_zone.type = ZONE_TYPE_LINEAR; - - std::vector zone_row; - - for (int i = 0; i < aura->GetLEDCount(); i++) - { - zone_row.push_back(i); - } - - new_zone.map.push_back(zone_row); - - zones.push_back(new_zone); } \ No newline at end of file diff --git a/OpenAuraSDK/AuraController.h b/OpenAuraSDK/AuraController.h index 752f30ad..21b19fff 100644 --- a/OpenAuraSDK/AuraController.h +++ b/OpenAuraSDK/AuraController.h @@ -79,16 +79,4 @@ private: i2c_smbus_interface * bus; aura_dev_id dev; -}; - -class RGBController_Aura : public RGBController -{ -public: - RGBController_Aura(AuraController* aura_ptr); - int GetMode(); - void SetMode(int mode); - void SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue); - -private: - AuraController* aura; }; \ No newline at end of file diff --git a/OpenAuraSDK/CorsairController.cpp b/OpenAuraSDK/CorsairController.cpp index efdf95f0..667369d5 100644 --- a/OpenAuraSDK/CorsairController.cpp +++ b/OpenAuraSDK/CorsairController.cpp @@ -46,62 +46,4 @@ void CorsairController::SetAllColorsDirect(unsigned char red, unsigned char gree void CorsairController::SetMode(unsigned char mode) { bus->i2c_smbus_write_byte_data(dev, CORSAIR_VENGEANCE_RGB_CMD_MODE, CORSAIR_VENGEANCE_RGB_MODE_SINGLE); -} - -int RGBController_Corsair::GetMode() -{ - return(CORSAIR_VENGEANCE_RGB_MODE_SINGLE); -} - -void RGBController_Corsair::SetMode(int mode) -{ - corsair->SetMode(mode); -} - -void RGBController_Corsair::SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue) -{ - corsair->SetAllColorsDirect(red, green, blue); -} - -RGBController_Corsair::RGBController_Corsair(CorsairController* corsair_ptr) -{ - corsair = corsair_ptr; - - name = corsair->GetDeviceName(); - - mode corsair_modes[CORSAIR_NUMBER_MODES]; - - corsair_modes[0].name = "Static"; - corsair_modes[1].name = "Fade"; - corsair_modes[2].name = "Pulse"; - - for (int i = 0; i < CORSAIR_NUMBER_MODES; i++) - { - modes.push_back(corsair_modes[i]); - } - - for (int i = 0; i < corsair->GetLEDCount(); i++) - { - led* new_led = new led(); - - new_led->name = "Corsair LED"; - - leds.push_back(*new_led); - } - - zone new_zone; - - new_zone.name = "Corsair Zone"; - new_zone.type = ZONE_TYPE_SINGLE; - - std::vector zone_row; - - for (int i = 0; i < corsair->GetLEDCount(); i++) - { - zone_row.push_back(i); - } - - new_zone.map.push_back(zone_row); - - zones.push_back(new_zone); } \ No newline at end of file diff --git a/OpenAuraSDK/CorsairController.h b/OpenAuraSDK/CorsairController.h index 2dab1d56..ad405de7 100644 --- a/OpenAuraSDK/CorsairController.h +++ b/OpenAuraSDK/CorsairController.h @@ -50,16 +50,4 @@ private: unsigned int led_count; i2c_smbus_interface * bus; corsair_dev_id dev; -}; - -class RGBController_Corsair : public RGBController -{ -public: - RGBController_Corsair(CorsairController* corsair_ptr); - int GetMode(); - void SetMode(int mode); - void SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue); - -private: - CorsairController* corsair; }; \ No newline at end of file diff --git a/OpenAuraSDK/OpenAuraSDK.cpp b/OpenAuraSDK/OpenAuraSDK.cpp index b1ded798..6c00715b 100644 --- a/OpenAuraSDK/OpenAuraSDK.cpp +++ b/OpenAuraSDK/OpenAuraSDK.cpp @@ -9,6 +9,8 @@ #include "AuraController.h" #include "CorsairController.h" #include "RGBController.h" +#include "RGBController_Aura.h" +#include "RGBController_Corsair.h" #include "i2c_smbus.h" #include #include diff --git a/OpenAuraSDK/OpenAuraSDK.vcxproj b/OpenAuraSDK/OpenAuraSDK.vcxproj index 6d1628ff..09b79d58 100644 --- a/OpenAuraSDK/OpenAuraSDK.vcxproj +++ b/OpenAuraSDK/OpenAuraSDK.vcxproj @@ -188,6 +188,8 @@ + + @@ -200,6 +202,8 @@ + + diff --git a/OpenAuraSDK/OpenAuraSDK.vcxproj.filters b/OpenAuraSDK/OpenAuraSDK.vcxproj.filters index b5147fde..bcd1412d 100644 --- a/OpenAuraSDK/OpenAuraSDK.vcxproj.filters +++ b/OpenAuraSDK/OpenAuraSDK.vcxproj.filters @@ -51,6 +51,12 @@ Header Files + + Header Files + + + Header Files + @@ -86,6 +92,12 @@ Source Files + + Source Files + + + Source Files + diff --git a/OpenAuraSDK/RGBController_Aura.cpp b/OpenAuraSDK/RGBController_Aura.cpp new file mode 100644 index 00000000..948c1d3a --- /dev/null +++ b/OpenAuraSDK/RGBController_Aura.cpp @@ -0,0 +1,102 @@ +/*-----------------------------------------*\ +| RGBController_Aura.cpp | +| | +| Generic RGB Interface for OpenAuraSDK | +| Asus Aura driver | +| | +| Adam Honse (CalcProgrammer1) 6/13/2019 | +\*-----------------------------------------*/ + +#include "RGBController_Aura.h" + +int RGBController_Aura::GetMode() +{ + if (aura->AuraRegisterRead(AURA_REG_DIRECT)) + { + return(0); + } + else + { + return(aura->AuraRegisterRead(AURA_REG_MODE) + 1); + } +} + +void RGBController_Aura::SetMode(int mode) +{ + if (mode == 0) + { + aura->SetDirect(true); + } + else + { + aura->SetDirect(false); + aura->SetMode(mode - 1); + } +} + +void RGBController_Aura::SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue) +{ + if (GetMode() == 0) + { + aura->SetAllColorsDirect(red, green, blue); + } + else + { + aura->SetAllColorsEffect(red, green, blue); + } +} + +RGBController_Aura::RGBController_Aura(AuraController * aura_ptr) +{ + aura = aura_ptr; + + name = aura->GetDeviceName(); + + mode aura_modes[AURA_NUMBER_MODES + 1]; + + aura_modes[0].name = "Direct"; + aura_modes[1].name = "Off"; + aura_modes[2].name = "Static"; + aura_modes[3].name = "Breathing"; + aura_modes[4].name = "Flashing"; + aura_modes[5].name = "Spectrum Cycle"; + aura_modes[6].name = "Rainbow"; + aura_modes[7].name = "Spectrum Cycle Breathing"; + aura_modes[8].name = "Chase Fade"; + aura_modes[9].name = "Spectrum Cycle Chase Fade"; + aura_modes[10].name = "Chase"; + aura_modes[11].name = "Spectrum Cycle Chase"; + aura_modes[12].name = "Spectrum Cycle Wave"; + aura_modes[13].name = "Chase Rainbow Pulse"; + aura_modes[14].name = "Random Flicker"; + + for (int i = 0; i < (AURA_NUMBER_MODES + 1); i++) + { + modes.push_back(aura_modes[i]); + } + + for (int i = 0; i < aura->GetLEDCount(); i++) + { + led* new_led = new led(); + + new_led->name = "Aura LED"; + + leds.push_back(*new_led); + } + + zone new_zone; + + new_zone.name = "Aura Zone"; + new_zone.type = ZONE_TYPE_LINEAR; + + std::vector zone_row; + + for (int i = 0; i < aura->GetLEDCount(); i++) + { + zone_row.push_back(i); + } + + new_zone.map.push_back(zone_row); + + zones.push_back(new_zone); +} \ No newline at end of file diff --git a/OpenAuraSDK/RGBController_Aura.h b/OpenAuraSDK/RGBController_Aura.h new file mode 100644 index 00000000..95516e13 --- /dev/null +++ b/OpenAuraSDK/RGBController_Aura.h @@ -0,0 +1,25 @@ +/*-----------------------------------------*\ +| RGBController_Aura.h | +| | +| Generic RGB Interface for OpenAuraSDK | +| Asus Aura driver | +| | +| Adam Honse (CalcProgrammer1) 6/13/2019 | +\*-----------------------------------------*/ + +#pragma once + +#include "RGBController.h" +#include "AuraController.h" + +class RGBController_Aura : public RGBController +{ +public: + RGBController_Aura(AuraController* aura_ptr); + int GetMode(); + void SetMode(int mode); + void SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue); + +private: + AuraController* aura; +}; \ No newline at end of file diff --git a/OpenAuraSDK/RGBController_Corsair.cpp b/OpenAuraSDK/RGBController_Corsair.cpp new file mode 100644 index 00000000..d43d331d --- /dev/null +++ b/OpenAuraSDK/RGBController_Corsair.cpp @@ -0,0 +1,68 @@ +/*-----------------------------------------*\ +| RGBController_Corsair.cpp | +| | +| Generic RGB Interface for OpenAuraSDK | +| Corsair Vengeance RGB driver | +| | +| Adam Honse (CalcProgrammer1) 6/13/2019 | +\*-----------------------------------------*/ + +#include "RGBController_Corsair.h" + +int RGBController_Corsair::GetMode() +{ + return(CORSAIR_VENGEANCE_RGB_MODE_SINGLE); +} + +void RGBController_Corsair::SetMode(int mode) +{ + corsair->SetMode(mode); +} + +void RGBController_Corsair::SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue) +{ + corsair->SetAllColorsDirect(red, green, blue); +} + +RGBController_Corsair::RGBController_Corsair(CorsairController* corsair_ptr) +{ + corsair = corsair_ptr; + + name = corsair->GetDeviceName(); + + mode corsair_modes[CORSAIR_NUMBER_MODES]; + + corsair_modes[0].name = "Static"; + corsair_modes[1].name = "Fade"; + corsair_modes[2].name = "Pulse"; + + for (int i = 0; i < CORSAIR_NUMBER_MODES; i++) + { + modes.push_back(corsair_modes[i]); + } + + for (int i = 0; i < corsair->GetLEDCount(); i++) + { + led* new_led = new led(); + + new_led->name = "Corsair LED"; + + leds.push_back(*new_led); + } + + zone new_zone; + + new_zone.name = "Corsair Zone"; + new_zone.type = ZONE_TYPE_SINGLE; + + std::vector zone_row; + + for (int i = 0; i < corsair->GetLEDCount(); i++) + { + zone_row.push_back(i); + } + + new_zone.map.push_back(zone_row); + + zones.push_back(new_zone); +} \ No newline at end of file diff --git a/OpenAuraSDK/RGBController_Corsair.h b/OpenAuraSDK/RGBController_Corsair.h new file mode 100644 index 00000000..29663e09 --- /dev/null +++ b/OpenAuraSDK/RGBController_Corsair.h @@ -0,0 +1,25 @@ +/*-----------------------------------------*\ +| RGBController_Corsair.h | +| | +| Generic RGB Interface for OpenAuraSDK | +| Corsair Vengeance RGB driver | +| | +| Adam Honse (CalcProgrammer1) 6/13/2019 | +\*-----------------------------------------*/ + +#pragma once + +#include "RGBController.h" +#include "CorsairController.h" + +class RGBController_Corsair : public RGBController +{ +public: + RGBController_Corsair(CorsairController* corsair_ptr); + int GetMode(); + void SetMode(int mode); + void SetAllLEDs(unsigned char red, unsigned char green, unsigned char blue); + +private: + CorsairController* corsair; +}; \ No newline at end of file