7
7
\*-----------------------------------------*/
8
8
9
9
#include " RGBController_ENESMBus.h"
10
+ #include " ResourceManager.h"
10
11
11
12
/* *------------------------------------------------------------------*\
12
13
@name ENE SMBus Device
@@ -23,6 +24,24 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
23
24
{
24
25
controller = controller_ptr;
25
26
27
+ /* ---------------------------------------------------------*\
28
+ | Get ENEController settings |
29
+ \*---------------------------------------------------------*/
30
+ json ene_settings = ResourceManager::get ()->GetSettingsManager ()->GetSettings (" ENESMBusSettings" );
31
+
32
+ /* ---------------------------------------------------------*\
33
+ | Check if save to device is enabled |
34
+ \*---------------------------------------------------------*/
35
+ unsigned int save_flag = 0 ;
36
+
37
+ if (ene_settings.contains (" enable_save" ))
38
+ {
39
+ if (ene_settings[" enable_save" ] == true )
40
+ {
41
+ save_flag = MODE_FLAG_MANUAL_SAVE;
42
+ }
43
+ }
44
+
26
45
/* ---------------------------------------------------------*\
27
46
| Determine name and type (DRAM or Motherboard) by checking |
28
47
| the ENE controller's version string |
@@ -55,21 +74,21 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
55
74
mode Off;
56
75
Off.name = " Off" ;
57
76
Off.value = ENE_MODE_OFF;
58
- Off.flags = MODE_FLAG_MANUAL_SAVE ;
77
+ Off.flags = save_flag ;
59
78
Off.color_mode = MODE_COLORS_NONE;
60
79
modes.push_back (Off);
61
80
62
81
mode Static;
63
82
Static.name = " Static" ;
64
83
Static.value = ENE_MODE_STATIC;
65
- Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE ;
84
+ Static.flags = MODE_FLAG_HAS_PER_LED_COLOR | save_flag ;
66
85
Static.color_mode = MODE_COLORS_PER_LED;
67
86
modes.push_back (Static);
68
87
69
88
mode Breathing;
70
89
Breathing.name = " Breathing" ;
71
90
Breathing.value = ENE_MODE_BREATHING;
72
- Breathing.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE ;
91
+ Breathing.flags = MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | save_flag ;
73
92
Breathing.color_mode = MODE_COLORS_PER_LED;
74
93
Breathing.speed_min = ENE_SPEED_SLOWEST;
75
94
Breathing.speed_max = ENE_SPEED_FASTEST;
@@ -79,7 +98,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
79
98
mode Flashing;
80
99
Flashing.name = " Flashing" ;
81
100
Flashing.value = ENE_MODE_FLASHING;
82
- Flashing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE ;
101
+ Flashing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | save_flag ;
83
102
Flashing.color_mode = MODE_COLORS_PER_LED;
84
103
Flashing.speed_min = ENE_SPEED_SLOWEST;
85
104
Flashing.speed_max = ENE_SPEED_FASTEST;
@@ -89,7 +108,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
89
108
mode SpectrumCycle;
90
109
SpectrumCycle.name = " Spectrum Cycle" ;
91
110
SpectrumCycle.value = ENE_MODE_SPECTRUM_CYCLE;
92
- SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE ;
111
+ SpectrumCycle.flags = MODE_FLAG_HAS_SPEED | save_flag ;
93
112
SpectrumCycle.color_mode = MODE_COLORS_NONE;
94
113
SpectrumCycle.speed_min = ENE_SPEED_SLOWEST;
95
114
SpectrumCycle.speed_max = ENE_SPEED_FASTEST;
@@ -99,7 +118,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
99
118
mode Rainbow;
100
119
Rainbow.name = " Rainbow" ;
101
120
Rainbow.value = ENE_MODE_RAINBOW;
102
- Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | MODE_FLAG_MANUAL_SAVE ;
121
+ Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR | save_flag ;
103
122
Rainbow.color_mode = MODE_COLORS_NONE;
104
123
Rainbow.speed_min = ENE_SPEED_SLOWEST;
105
124
Rainbow.speed_max = ENE_SPEED_FASTEST;
@@ -110,7 +129,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
110
129
mode ChaseFade;
111
130
ChaseFade.name = " Chase Fade" ;
112
131
ChaseFade.value = ENE_MODE_CHASE_FADE;
113
- 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 ;
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 ;
114
133
ChaseFade.color_mode = MODE_COLORS_PER_LED;
115
134
ChaseFade.speed_min = ENE_SPEED_SLOWEST;
116
135
ChaseFade.speed_max = ENE_SPEED_FASTEST;
@@ -121,7 +140,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
121
140
mode Chase;
122
141
Chase.name = " Chase" ;
123
142
Chase.value = ENE_MODE_CHASE;
124
- 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 ;
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 ;
125
144
Chase.color_mode = MODE_COLORS_PER_LED;
126
145
Chase.speed_min = ENE_SPEED_SLOWEST;
127
146
Chase.speed_max = ENE_SPEED_FASTEST;
@@ -132,7 +151,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
132
151
mode RandomFlicker;
133
152
RandomFlicker.name = " Random Flicker" ;
134
153
RandomFlicker.value = ENE_MODE_RANDOM_FLICKER;
135
- RandomFlicker.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE ;
154
+ RandomFlicker.flags = MODE_FLAG_HAS_SPEED | save_flag ;
136
155
RandomFlicker.color_mode = MODE_COLORS_NONE;
137
156
RandomFlicker.speed_min = ENE_SPEED_SLOWEST;
138
157
RandomFlicker.speed_max = ENE_SPEED_FASTEST;
0 commit comments