7
7
\*-----------------------------------------*/
8
8
9
9
#include " RGBController_ENESMBus.h"
10
+ #include " LogManager.h"
10
11
#include " ResourceManager.h"
11
12
12
13
/* *------------------------------------------------------------------*\
@@ -65,99 +66,112 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
65
66
description = " ENE SMBus Device" ;
66
67
67
68
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;
72
73
modes.push_back (Direct);
73
74
74
75
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;
79
80
modes.push_back (Off);
80
81
81
82
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;
86
87
modes.push_back (Static);
87
88
88
89
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;
96
97
modes.push_back (Breathing);
97
98
98
99
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;
106
107
modes.push_back (Flashing);
107
108
108
109
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;
116
117
modes.push_back (SpectrumCycle);
117
118
118
119
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;
127
128
modes.push_back (Rainbow);
128
129
129
130
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;
138
139
modes.push_back (ChaseFade);
139
140
140
141
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;
149
150
modes.push_back (Chase);
150
151
151
152
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;
159
160
modes.push_back (RandomFlicker);
160
161
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
+
161
175
SetupZones ();
162
176
163
177
/* -------------------------------------------------*\
@@ -181,6 +195,8 @@ int RGBController_ENESMBus::GetDeviceMode()
181
195
int speed = controller->ENERegisterRead (ENE_REG_SPEED);
182
196
int direction = controller->ENERegisterRead (ENE_REG_DIRECTION);
183
197
198
+ LOG_TRACE (" [%s] Retrieved ENE mode from module: %02d" , name.c_str (), dev_mode);
199
+
184
200
if (controller->ENERegisterRead (ENE_REG_DIRECT))
185
201
{
186
202
dev_mode = 0xFFFF ;
@@ -192,6 +208,7 @@ int RGBController_ENESMBus::GetDeviceMode()
192
208
case ENE_MODE_RAINBOW:
193
209
case ENE_MODE_SPECTRUM_CYCLE:
194
210
case ENE_MODE_RANDOM_FLICKER:
211
+ case ENE_MODE_DOUBLE_FADE:
195
212
color_mode = MODE_COLORS_NONE;
196
213
break ;
197
214
0 commit comments