From 0bc7b568c5d9ebc6019a59bfc341227cf59f9c43 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Sun, 14 Nov 2021 01:33:19 -0600 Subject: [PATCH] Read speed and direction when reading active mode from ENE SMBus (ASUS Aura SMBus) controllers --- .../RGBController_ENESMBus.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Controllers/ENESMBusController/RGBController_ENESMBus.cpp b/Controllers/ENESMBusController/RGBController_ENESMBus.cpp index 92f7cf92..8886ce04 100644 --- a/Controllers/ENESMBusController/RGBController_ENESMBus.cpp +++ b/Controllers/ENESMBusController/RGBController_ENESMBus.cpp @@ -148,6 +148,8 @@ int RGBController_ENESMBus::GetDeviceMode() \*-----------------------------------------------------------------*/ int dev_mode = controller->ENERegisterRead(ENE_REG_MODE); int color_mode = MODE_COLORS_PER_LED; + int speed = controller->ENERegisterRead(ENE_REG_SPEED); + int direction = controller->ENERegisterRead(ENE_REG_DIRECTION); if(controller->ENERegisterRead(ENE_REG_DIRECT)) { @@ -183,8 +185,20 @@ int RGBController_ENESMBus::GetDeviceMode() { if(modes[mode].value == dev_mode) { - active_mode = mode; - modes[mode].color_mode = color_mode; + active_mode = mode; + modes[mode].color_mode = color_mode; + + if(modes[mode].flags & MODE_FLAG_HAS_SPEED) + { + modes[mode].speed = speed; + } + + if(modes[mode].flags & MODE_FLAG_HAS_DIRECTION_LR) + { + modes[mode].direction = direction; + } + + break; } }