Use HID path for Location on ASUS Aura USB controller

This commit is contained in:
Adam Honse
2020-10-15 17:00:54 -05:00
parent af403d5748
commit 165c50689d
8 changed files with 18 additions and 9 deletions

View File

@@ -10,7 +10,7 @@
#include "AuraAddressableController.h"
#include <cstring>
AuraAddressableController::AuraAddressableController(hid_device* dev_handle) : AuraUSBController(dev_handle)
AuraAddressableController::AuraAddressableController(hid_device* dev_handle, const char* path) : AuraUSBController(dev_handle, path)
{
/*-----------------------------------------------------*\
| Add addressable devices |

View File

@@ -23,7 +23,7 @@ enum
class AuraAddressableController : public AuraUSBController
{
public:
AuraAddressableController(hid_device* dev_handle);
AuraAddressableController(hid_device* dev_handle, const char* path);
~AuraAddressableController();
void SetChannelLEDs

View File

@@ -10,7 +10,7 @@
#include "AuraMainboardController.h"
#include <cstring>
AuraMainboardController::AuraMainboardController(hid_device* dev_handle) : AuraUSBController(dev_handle), mode(AURA_MODE_DIRECT)
AuraMainboardController::AuraMainboardController(hid_device* dev_handle, const char* path) : AuraUSBController(dev_handle, path), mode(AURA_MODE_DIRECT)
{
/*-----------------------------------------------------*\
| Add mainboard device |

View File

@@ -25,7 +25,7 @@ enum
class AuraMainboardController : public AuraUSBController
{
public:
AuraMainboardController(hid_device* dev_handle);
AuraMainboardController(hid_device* dev_handle, const char* path);
~AuraMainboardController();
void SetChannelLEDs

View File

@@ -11,9 +11,10 @@
#include <cstring>
#include <stdexcept>
AuraUSBController::AuraUSBController(hid_device* dev_handle)
AuraUSBController::AuraUSBController(hid_device* dev_handle, const char* path)
{
dev = dev_handle;
dev = dev_handle;
location = path;
GetFirmwareVersion();
GetConfigTable();
@@ -29,6 +30,11 @@ unsigned int AuraUSBController::GetChannelCount()
return(device_info.size());
}
std::string AuraUSBController::GetDeviceLocation()
{
return(location);
}
std::string AuraUSBController::GetDeviceName()
{
return(device_name);

View File

@@ -59,11 +59,12 @@ struct AuraDeviceInfo
class AuraUSBController
{
public:
AuraUSBController(hid_device* dev_handle);
AuraUSBController(hid_device* dev_handle, const char* path);
virtual ~AuraUSBController();
unsigned int GetChannelCount();
std::string GetDeviceLocation();
std::string GetDeviceName();
const std::vector<AuraDeviceInfo>& GetAuraDevices() const;
@@ -88,6 +89,7 @@ protected:
hid_device* dev;
unsigned char config_table[60];
std::vector<AuraDeviceInfo> device_info;
std::string location;
void SendDirect
(

View File

@@ -69,7 +69,7 @@ void DetectAuraUSBControllers(std::vector<RGBController*>& rgb_controllers)
if(dev)
{
AuraAddressableController* controller = new AuraAddressableController(dev);
AuraAddressableController* controller = new AuraAddressableController(dev, info->path);
RGBController_AuraUSB* rgb_controller = new RGBController_AuraUSB(controller);
rgb_controllers.push_back(rgb_controller);
}
@@ -99,7 +99,7 @@ void DetectAuraUSBControllers(std::vector<RGBController*>& rgb_controllers)
{
try
{
AuraMainboardController* controller = new AuraMainboardController(dev);
AuraMainboardController* controller = new AuraMainboardController(dev, info->path);
RGBController_AuraUSB* rgb_controller = new RGBController_AuraUSB(controller);
rgb_controllers.push_back(rgb_controller);
}

View File

@@ -17,6 +17,7 @@ RGBController_AuraUSB::RGBController_AuraUSB(AuraUSBController* aura_ptr)
version = aura->GetDeviceName();
type = DEVICE_TYPE_MOTHERBOARD;
description = "ASUS Aura USB Device";
location = aura->GetDeviceLocation();
mode Direct;
Direct.name = "Direct";