77\*-----------------------------------------*/
88
99#include " RGBController_ENESMBus.h"
10+ #include " LogManager.h"
1011#include " ResourceManager.h"
1112
1213/* *------------------------------------------------------------------*\
@@ -65,99 +66,112 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
6566 description = " ENE SMBus Device" ;
6667
6768 mode Direct;
68- Direct.name = " Direct" ;
69- Direct.value = 0xFFFF ;
70- Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
71- Direct.color_mode = MODE_COLORS_PER_LED;
69+ Direct.name = " Direct" ;
70+ Direct.value = 0xFFFF ;
71+ Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR;
72+ Direct.color_mode = MODE_COLORS_PER_LED;
7273 modes.push_back (Direct);
7374
7475 mode Off;
75- Off.name = " Off" ;
76- Off.value = ENE_MODE_OFF;
77- Off.flags = save_flag;
78- Off.color_mode = MODE_COLORS_NONE;
76+ Off.name = " Off" ;
77+ Off.value = ENE_MODE_OFF;
78+ Off.flags = save_flag;
79+ Off.color_mode = MODE_COLORS_NONE;
7980 modes.push_back (Off);
8081
8182 mode Static;
82- Static.name = " Static" ;
83- Static.value = ENE_MODE_STATIC;
84- Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | save_flag;
85- Static.color_mode = MODE_COLORS_PER_LED;
83+ Static.name = " Static" ;
84+ Static.value = ENE_MODE_STATIC;
85+ Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | save_flag;
86+ Static.color_mode = MODE_COLORS_PER_LED;
8687 modes.push_back (Static);
8788
8889 mode Breathing;
89- Breathing.name = " Breathing" ;
90- Breathing.value = ENE_MODE_BREATHING;
91- Breathing.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | save_flag;
92- Breathing.color_mode = MODE_COLORS_PER_LED;
93- Breathing.speed_min = ENE_SPEED_SLOWEST;
94- Breathing.speed_max = ENE_SPEED_FASTEST;
95- Breathing.speed = ENE_SPEED_NORMAL;
90+ Breathing.name = " Breathing" ;
91+ Breathing.value = ENE_MODE_BREATHING;
92+ Breathing.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | save_flag;
93+ Breathing.color_mode = MODE_COLORS_PER_LED;
94+ Breathing.speed_min = ENE_SPEED_SLOWEST;
95+ Breathing.speed_max = ENE_SPEED_FASTEST;
96+ Breathing.speed = ENE_SPEED_NORMAL;
9697 modes.push_back (Breathing);
9798
9899 mode Flashing;
99- Flashing.name = " Flashing" ;
100- Flashing.value = ENE_MODE_FLASHING;
101- Flashing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | save_flag;
102- Flashing.color_mode = MODE_COLORS_PER_LED;
103- Flashing.speed_min = ENE_SPEED_SLOWEST;
104- Flashing.speed_max = ENE_SPEED_FASTEST;
105- Flashing.speed = ENE_SPEED_NORMAL;
100+ Flashing.name = " Flashing" ;
101+ Flashing.value = ENE_MODE_FLASHING;
102+ Flashing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | save_flag;
103+ Flashing.color_mode = MODE_COLORS_PER_LED;
104+ Flashing.speed_min = ENE_SPEED_SLOWEST;
105+ Flashing.speed_max = ENE_SPEED_FASTEST;
106+ Flashing.speed = ENE_SPEED_NORMAL;
106107 modes.push_back (Flashing);
107108
108109 mode SpectrumCycle;
109- SpectrumCycle.name = " Spectrum Cycle" ;
110- SpectrumCycle.value = ENE_MODE_SPECTRUM_CYCLE;
111- SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | save_flag;
112- SpectrumCycle.color_mode = MODE_COLORS_NONE;
113- SpectrumCycle.speed_min = ENE_SPEED_SLOWEST;
114- SpectrumCycle.speed_max = ENE_SPEED_FASTEST;
115- SpectrumCycle.speed = ENE_SPEED_NORMAL;
110+ SpectrumCycle.name = " Spectrum Cycle" ;
111+ SpectrumCycle.value = ENE_MODE_SPECTRUM_CYCLE;
112+ SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | save_flag;
113+ SpectrumCycle.color_mode = MODE_COLORS_NONE;
114+ SpectrumCycle.speed_min = ENE_SPEED_SLOWEST;
115+ SpectrumCycle.speed_max = ENE_SPEED_FASTEST;
116+ SpectrumCycle.speed = ENE_SPEED_NORMAL;
116117 modes.push_back (SpectrumCycle);
117118
118119 mode Rainbow;
119- Rainbow.name = " Rainbow" ;
120- Rainbow.value = ENE_MODE_RAINBOW;
121- Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | save_flag;
122- Rainbow.color_mode = MODE_COLORS_NONE;
123- Rainbow.speed_min = ENE_SPEED_SLOWEST;
124- Rainbow.speed_max = ENE_SPEED_FASTEST;
125- Rainbow.speed = ENE_SPEED_NORMAL;
126- Rainbow.direction = MODE_DIRECTION_LEFT;
120+ Rainbow.name = " Rainbow" ;
121+ Rainbow.value = ENE_MODE_RAINBOW;
122+ Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | save_flag;
123+ Rainbow.color_mode = MODE_COLORS_NONE;
124+ Rainbow.speed_min = ENE_SPEED_SLOWEST;
125+ Rainbow.speed_max = ENE_SPEED_FASTEST;
126+ Rainbow.speed = ENE_SPEED_NORMAL;
127+ Rainbow.direction = MODE_DIRECTION_LEFT;
127128 modes.push_back (Rainbow);
128129
129130 mode ChaseFade;
130- ChaseFade.name = " Chase Fade" ;
131- ChaseFade.value = ENE_MODE_CHASE_FADE;
132- ChaseFade.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | save_flag;
133- ChaseFade.color_mode = MODE_COLORS_PER_LED;
134- ChaseFade.speed_min = ENE_SPEED_SLOWEST;
135- ChaseFade.speed_max = ENE_SPEED_FASTEST;
136- ChaseFade.speed = ENE_SPEED_NORMAL;
137- ChaseFade.direction = MODE_DIRECTION_LEFT;
131+ ChaseFade.name = " Chase Fade" ;
132+ ChaseFade.value = ENE_MODE_CHASE_FADE;
133+ ChaseFade.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | save_flag;
134+ ChaseFade.color_mode = MODE_COLORS_PER_LED;
135+ ChaseFade.speed_min = ENE_SPEED_SLOWEST;
136+ ChaseFade.speed_max = ENE_SPEED_FASTEST;
137+ ChaseFade.speed = ENE_SPEED_NORMAL;
138+ ChaseFade.direction = MODE_DIRECTION_LEFT;
138139 modes.push_back (ChaseFade);
139140
140141 mode Chase;
141- Chase.name = " Chase" ;
142- Chase.value = ENE_MODE_CHASE;
143- Chase.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | save_flag;
144- Chase.color_mode = MODE_COLORS_PER_LED;
145- Chase.speed_min = ENE_SPEED_SLOWEST;
146- Chase.speed_max = ENE_SPEED_FASTEST;
147- Chase.speed = ENE_SPEED_NORMAL;
148- ChaseFade.direction = MODE_DIRECTION_LEFT;
142+ Chase.name = " Chase" ;
143+ Chase.value = ENE_MODE_CHASE;
144+ Chase.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | save_flag;
145+ Chase.color_mode = MODE_COLORS_PER_LED;
146+ Chase.speed_min = ENE_SPEED_SLOWEST;
147+ Chase.speed_max = ENE_SPEED_FASTEST;
148+ Chase.speed = ENE_SPEED_NORMAL;
149+ ChaseFade.direction = MODE_DIRECTION_LEFT;
149150 modes.push_back (Chase);
150151
151152 mode RandomFlicker;
152- RandomFlicker.name = " Random Flicker" ;
153- RandomFlicker.value = ENE_MODE_RANDOM_FLICKER;
154- RandomFlicker.flags = MODE_FLAG_HAS_SPEED | save_flag;
155- RandomFlicker.color_mode = MODE_COLORS_NONE;
156- RandomFlicker.speed_min = ENE_SPEED_SLOWEST;
157- RandomFlicker.speed_max = ENE_SPEED_FASTEST;
158- RandomFlicker.speed = ENE_SPEED_NORMAL;
153+ RandomFlicker.name = " Random Flicker" ;
154+ RandomFlicker.value = ENE_MODE_RANDOM_FLICKER;
155+ RandomFlicker.flags = MODE_FLAG_HAS_SPEED | save_flag;
156+ RandomFlicker.color_mode = MODE_COLORS_NONE;
157+ RandomFlicker.speed_min = ENE_SPEED_SLOWEST;
158+ RandomFlicker.speed_max = ENE_SPEED_FASTEST;
159+ RandomFlicker.speed = ENE_SPEED_NORMAL;
159160 modes.push_back (RandomFlicker);
160161
162+ if (version == " AUDA0-E6K5-0101" )
163+ {
164+ mode DoubleFade;
165+ DoubleFade.name = " Double Fade" ;
166+ DoubleFade.value = ENE_MODE_DOUBLE_FADE;
167+ DoubleFade.flags = MODE_FLAG_HAS_SPEED;
168+ DoubleFade.color_mode = MODE_COLORS_NONE;
169+ DoubleFade.speed_min = ENE_SPEED_SLOWEST;
170+ DoubleFade.speed_max = ENE_SPEED_FASTEST;
171+ DoubleFade.speed = ENE_SPEED_NORMAL;
172+ modes.push_back (DoubleFade);
173+ }
174+
161175 SetupZones ();
162176
163177 /* -------------------------------------------------*\
@@ -181,6 +195,8 @@ int RGBController_ENESMBus::GetDeviceMode()
181195 int speed = controller->ENERegisterRead (ENE_REG_SPEED);
182196 int direction = controller->ENERegisterRead (ENE_REG_DIRECTION);
183197
198+ LOG_TRACE (" [%s] Retrieved ENE mode from module: %02d" , name.c_str (), dev_mode);
199+
184200 if (controller->ENERegisterRead (ENE_REG_DIRECT))
185201 {
186202 dev_mode = 0xFFFF ;
@@ -192,6 +208,7 @@ int RGBController_ENESMBus::GetDeviceMode()
192208 case ENE_MODE_RAINBOW:
193209 case ENE_MODE_SPECTRUM_CYCLE:
194210 case ENE_MODE_RANDOM_FLICKER:
211+ case ENE_MODE_DOUBLE_FADE:
195212 color_mode = MODE_COLORS_NONE;
196213 break ;
197214
0 commit comments