77\*-----------------------------------------*/
88
99#include " RGBController_ENESMBus.h"
10+ #include " ResourceManager.h"
1011
1112/* *------------------------------------------------------------------*\
1213 @name ENE SMBus Device
@@ -23,6 +24,24 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
2324{
2425 controller = controller_ptr;
2526
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+
2645 /* ---------------------------------------------------------*\
2746 | Determine name and type (DRAM or Motherboard) by checking |
2847 | the ENE controller's version string |
@@ -55,21 +74,21 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
5574 mode Off;
5675 Off.name = " Off" ;
5776 Off.value = ENE_MODE_OFF;
58- Off.flags = MODE_FLAG_MANUAL_SAVE ;
77+ Off.flags = save_flag ;
5978 Off.color_mode = MODE_COLORS_NONE;
6079 modes.push_back (Off);
6180
6281 mode Static;
6382 Static.name = " Static" ;
6483 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 ;
6685 Static.color_mode = MODE_COLORS_PER_LED;
6786 modes.push_back (Static);
6887
6988 mode Breathing;
7089 Breathing.name = " Breathing" ;
7190 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 ;
7392 Breathing.color_mode = MODE_COLORS_PER_LED;
7493 Breathing.speed_min = ENE_SPEED_SLOWEST;
7594 Breathing.speed_max = ENE_SPEED_FASTEST;
@@ -79,7 +98,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
7998 mode Flashing;
8099 Flashing.name = " Flashing" ;
81100 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 ;
83102 Flashing.color_mode = MODE_COLORS_PER_LED;
84103 Flashing.speed_min = ENE_SPEED_SLOWEST;
85104 Flashing.speed_max = ENE_SPEED_FASTEST;
@@ -89,7 +108,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
89108 mode SpectrumCycle;
90109 SpectrumCycle.name = " Spectrum Cycle" ;
91110 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 ;
93112 SpectrumCycle.color_mode = MODE_COLORS_NONE;
94113 SpectrumCycle.speed_min = ENE_SPEED_SLOWEST;
95114 SpectrumCycle.speed_max = ENE_SPEED_FASTEST;
@@ -99,7 +118,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
99118 mode Rainbow;
100119 Rainbow.name = " Rainbow" ;
101120 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 ;
103122 Rainbow.color_mode = MODE_COLORS_NONE;
104123 Rainbow.speed_min = ENE_SPEED_SLOWEST;
105124 Rainbow.speed_max = ENE_SPEED_FASTEST;
@@ -110,7 +129,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
110129 mode ChaseFade;
111130 ChaseFade.name = " Chase Fade" ;
112131 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 ;
114133 ChaseFade.color_mode = MODE_COLORS_PER_LED;
115134 ChaseFade.speed_min = ENE_SPEED_SLOWEST;
116135 ChaseFade.speed_max = ENE_SPEED_FASTEST;
@@ -121,7 +140,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
121140 mode Chase;
122141 Chase.name = " Chase" ;
123142 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 ;
125144 Chase.color_mode = MODE_COLORS_PER_LED;
126145 Chase.speed_min = ENE_SPEED_SLOWEST;
127146 Chase.speed_max = ENE_SPEED_FASTEST;
@@ -132,7 +151,7 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p
132151 mode RandomFlicker;
133152 RandomFlicker.name = " Random Flicker" ;
134153 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 ;
136155 RandomFlicker.color_mode = MODE_COLORS_NONE;
137156 RandomFlicker.speed_min = ENE_SPEED_SLOWEST;
138157 RandomFlicker.speed_max = ENE_SPEED_FASTEST;
0 commit comments