From 2c540bba59504d218b5dbaa4422b00e4dd0090bb Mon Sep 17 00:00:00 2001 From: TheRogueZeta <6479694-TheRogueZeta@users.noreply.gitlab.com> Date: Fri, 2 Jun 2023 18:52:34 -0700 Subject: [PATCH] ENE Mode 14 test --- .../RGBController_ENESMBus.cpp | 144 ++++++++++-------- 1 file changed, 80 insertions(+), 64 deletions(-) diff --git a/Controllers/ENESMBusController/RGBController_ENESMBus.cpp b/Controllers/ENESMBusController/RGBController_ENESMBus.cpp index 468d7cbcc..2afba847c 100644 --- a/Controllers/ENESMBusController/RGBController_ENESMBus.cpp +++ b/Controllers/ENESMBusController/RGBController_ENESMBus.cpp @@ -7,6 +7,7 @@ \*-----------------------------------------*/ #include "RGBController_ENESMBus.h" +#include "LogManager.h" /**------------------------------------------------------------------*\ @name ENE SMBus Device @@ -46,99 +47,112 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p description = "ENE SMBus Device"; mode Direct; - Direct.name = "Direct"; - Direct.value = 0xFFFF; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; - Direct.color_mode = MODE_COLORS_PER_LED; + Direct.name = "Direct"; + Direct.value = 0xFFFF; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; + Direct.color_mode = MODE_COLORS_PER_LED; modes.push_back(Direct); mode Off; - Off.name = "Off"; - Off.value = ENE_MODE_OFF; - Off.flags = MODE_FLAG_MANUAL_SAVE; - Off.color_mode = MODE_COLORS_NONE; + Off.name = "Off"; + Off.value = ENE_MODE_OFF; + Off.flags = MODE_FLAG_MANUAL_SAVE; + Off.color_mode = MODE_COLORS_NONE; modes.push_back(Off); mode Static; - Static.name = "Static"; - Static.value = ENE_MODE_STATIC; - Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE; - Static.color_mode = MODE_COLORS_PER_LED; + Static.name = "Static"; + Static.value = ENE_MODE_STATIC; + Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE; + Static.color_mode = MODE_COLORS_PER_LED; modes.push_back(Static); mode Breathing; - Breathing.name = "Breathing"; - Breathing.value = ENE_MODE_BREATHING; - Breathing.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; - Breathing.color_mode = MODE_COLORS_PER_LED; - Breathing.speed_min = ENE_SPEED_SLOWEST; - Breathing.speed_max = ENE_SPEED_FASTEST; - Breathing.speed = ENE_SPEED_NORMAL; + Breathing.name = "Breathing"; + Breathing.value = ENE_MODE_BREATHING; + Breathing.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; + Breathing.color_mode = MODE_COLORS_PER_LED; + Breathing.speed_min = ENE_SPEED_SLOWEST; + Breathing.speed_max = ENE_SPEED_FASTEST; + Breathing.speed = ENE_SPEED_NORMAL; modes.push_back(Breathing); mode Flashing; - Flashing.name = "Flashing"; - Flashing.value = ENE_MODE_FLASHING; - Flashing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; - Flashing.color_mode = MODE_COLORS_PER_LED; - Flashing.speed_min = ENE_SPEED_SLOWEST; - Flashing.speed_max = ENE_SPEED_FASTEST; - Flashing.speed = ENE_SPEED_NORMAL; + Flashing.name = "Flashing"; + Flashing.value = ENE_MODE_FLASHING; + Flashing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; + Flashing.color_mode = MODE_COLORS_PER_LED; + Flashing.speed_min = ENE_SPEED_SLOWEST; + Flashing.speed_max = ENE_SPEED_FASTEST; + Flashing.speed = ENE_SPEED_NORMAL; modes.push_back(Flashing); mode SpectrumCycle; - SpectrumCycle.name = "Spectrum Cycle"; - SpectrumCycle.value = ENE_MODE_SPECTRUM_CYCLE; - SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; - SpectrumCycle.color_mode = MODE_COLORS_NONE; - SpectrumCycle.speed_min = ENE_SPEED_SLOWEST; - SpectrumCycle.speed_max = ENE_SPEED_FASTEST; - SpectrumCycle.speed = ENE_SPEED_NORMAL; + SpectrumCycle.name = "Spectrum Cycle"; + SpectrumCycle.value = ENE_MODE_SPECTRUM_CYCLE; + SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; + SpectrumCycle.color_mode = MODE_COLORS_NONE; + SpectrumCycle.speed_min = ENE_SPEED_SLOWEST; + SpectrumCycle.speed_max = ENE_SPEED_FASTEST; + SpectrumCycle.speed = ENE_SPEED_NORMAL; modes.push_back(SpectrumCycle); mode Rainbow; - Rainbow.name = "Rainbow"; - Rainbow.value = ENE_MODE_RAINBOW; - Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE; - Rainbow.color_mode = MODE_COLORS_NONE; - Rainbow.speed_min = ENE_SPEED_SLOWEST; - Rainbow.speed_max = ENE_SPEED_FASTEST; - Rainbow.speed = ENE_SPEED_NORMAL; - Rainbow.direction = MODE_DIRECTION_LEFT; + Rainbow.name = "Rainbow"; + Rainbow.value = ENE_MODE_RAINBOW; + Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE; + Rainbow.color_mode = MODE_COLORS_NONE; + Rainbow.speed_min = ENE_SPEED_SLOWEST; + Rainbow.speed_max = ENE_SPEED_FASTEST; + Rainbow.speed = ENE_SPEED_NORMAL; + Rainbow.direction = MODE_DIRECTION_LEFT; modes.push_back(Rainbow); mode ChaseFade; - ChaseFade.name = "Chase Fade"; - ChaseFade.value = ENE_MODE_CHASE_FADE; - ChaseFade.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE; - ChaseFade.color_mode = MODE_COLORS_PER_LED; - ChaseFade.speed_min = ENE_SPEED_SLOWEST; - ChaseFade.speed_max = ENE_SPEED_FASTEST; - ChaseFade.speed = ENE_SPEED_NORMAL; - ChaseFade.direction = MODE_DIRECTION_LEFT; + ChaseFade.name = "Chase Fade"; + ChaseFade.value = ENE_MODE_CHASE_FADE; + ChaseFade.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE; + ChaseFade.color_mode = MODE_COLORS_PER_LED; + ChaseFade.speed_min = ENE_SPEED_SLOWEST; + ChaseFade.speed_max = ENE_SPEED_FASTEST; + ChaseFade.speed = ENE_SPEED_NORMAL; + ChaseFade.direction = MODE_DIRECTION_LEFT; modes.push_back(ChaseFade); mode Chase; - Chase.name = "Chase"; - Chase.value = ENE_MODE_CHASE; - Chase.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE; - Chase.color_mode = MODE_COLORS_PER_LED; - Chase.speed_min = ENE_SPEED_SLOWEST; - Chase.speed_max = ENE_SPEED_FASTEST; - Chase.speed = ENE_SPEED_NORMAL; - ChaseFade.direction = MODE_DIRECTION_LEFT; + Chase.name = "Chase"; + Chase.value = ENE_MODE_CHASE; + Chase.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE; + Chase.color_mode = MODE_COLORS_PER_LED; + Chase.speed_min = ENE_SPEED_SLOWEST; + Chase.speed_max = ENE_SPEED_FASTEST; + Chase.speed = ENE_SPEED_NORMAL; + ChaseFade.direction = MODE_DIRECTION_LEFT; modes.push_back(Chase); mode RandomFlicker; - RandomFlicker.name = "Random Flicker"; - RandomFlicker.value = ENE_MODE_RANDOM_FLICKER; - RandomFlicker.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; - RandomFlicker.color_mode = MODE_COLORS_NONE; - RandomFlicker.speed_min = ENE_SPEED_SLOWEST; - RandomFlicker.speed_max = ENE_SPEED_FASTEST; - RandomFlicker.speed = ENE_SPEED_NORMAL; + RandomFlicker.name = "Random Flicker"; + RandomFlicker.value = ENE_MODE_RANDOM_FLICKER; + RandomFlicker.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; + RandomFlicker.color_mode = MODE_COLORS_NONE; + RandomFlicker.speed_min = ENE_SPEED_SLOWEST; + RandomFlicker.speed_max = ENE_SPEED_FASTEST; + RandomFlicker.speed = ENE_SPEED_NORMAL; modes.push_back(RandomFlicker); + if(1) + { + mode Mode14; + Mode14.name = "Mode 14"; + Mode14.value = 14; + Mode14.flags = MODE_FLAG_HAS_SPEED; + Mode14.color_mode = MODE_COLORS_NONE; + Mode14.speed_min = ENE_SPEED_SLOWEST; + Mode14.speed_max = ENE_SPEED_FASTEST; + Mode14.speed = ENE_SPEED_NORMAL; + modes.push_back(Mode14); + } + SetupZones(); /*-------------------------------------------------*\ @@ -162,6 +176,8 @@ int RGBController_ENESMBus::GetDeviceMode() int speed = controller->ENERegisterRead(ENE_REG_SPEED); int direction = controller->ENERegisterRead(ENE_REG_DIRECTION); + LOG_TRACE("[%s] ENE mode: %02d", name.c_str(), dev_mode); + if(controller->ENERegisterRead(ENE_REG_DIRECT)) { dev_mode = 0xFFFF;