@@ -71,10 +71,9 @@ unsigned char EVGAGPUv2Controller::GetMode()
71
71
}
72
72
break ;
73
73
74
- case EVGA_GPU_V2_MODE_DIRECT :
74
+ case EVGA_GPU_V2_MODE_STATIC :
75
75
{
76
- // No way to detect static so just return direct.
77
- return_mode = EVGA_GPU_V2_RGB_MODE_DIRECT;
76
+ return_mode = EVGA_GPU_V2_RGB_MODE_STATIC;
78
77
}
79
78
break ;
80
79
@@ -121,40 +120,31 @@ unsigned char EVGAGPUv2Controller::GetSpeed()
121
120
return (unsigned char ) speed_16.u16 ;
122
121
}
123
122
124
- void EVGAGPUv2Controller::SetMode (unsigned char mode, RGBColor color1, RGBColor color2, unsigned int speed)
123
+ void EVGAGPUv2Controller::SetMode (uint8_t mode, RGBColor color1, RGBColor color2, uint16_t speed, uint8_t brightness )
125
124
{
126
- bool boolSave = false ;
127
125
128
126
EnableWrite (true );
129
127
switch (mode)
130
128
{
131
129
case EVGA_GPU_V2_RGB_MODE_OFF:
132
130
{
133
131
SendMode (EVGA_GPU_V2_MODE_OFF);
134
- boolSave = true ;
135
132
}
136
133
break ;
137
134
138
- case EVGA_GPU_V2_RGB_MODE_DIRECT:
139
135
case EVGA_GPU_V2_RGB_MODE_STATIC:
140
136
{
141
- SendMode (EVGA_GPU_V2_MODE_DIRECT);
142
- // Static is mode 0x01 but with SaveSettings()
143
- boolSave = (mode == EVGA_GPU_V2_RGB_MODE_STATIC);
144
-
145
- SendColor (EVGA_GPU_V2_REG_COLOR_A_RED, RGBGetRValue (color1), RGBGetGValue (color1), RGBGetBValue (color1));
137
+ SendMode (EVGA_GPU_V2_MODE_STATIC);
138
+ SendColor (EVGA_GPU_V2_REG_COLOR_A_RED, RGBGetRValue (color1), RGBGetGValue (color1), RGBGetBValue (color1), brightness);
146
139
}
147
140
break ;
148
141
149
142
case EVGA_GPU_V2_RGB_MODE_RAINBOW:
150
143
{
151
144
SendMode (EVGA_GPU_V2_MODE_RAINBOW);
152
- // OpenRGB does not do brightness yet
153
- SendBrightness (0x64 ); // Default = 0x64
145
+ SendBrightness (brightness); // Default = 0x64
154
146
// Set Rainbow speed? No control in the GUI but this register is only set in Ranbow mode.
155
- bus->i2c_smbus_write_byte_data (dev, 0x19 , 0x11 );
156
-
157
- boolSave = true ;
147
+ bus->i2c_smbus_write_byte_data (dev, 0x19 , 0x11 );;
158
148
}
159
149
break ;
160
150
@@ -169,8 +159,8 @@ void EVGAGPUv2Controller::SetMode(unsigned char mode, RGBColor color1, RGBColor
169
159
| inspection is required. |
170
160
\*---------------------------------------------------------*/
171
161
172
- SendColor (EVGA_GPU_V2_REG_COLOR_A_RED, RGBGetRValue (color1), RGBGetGValue (color1), RGBGetBValue (color1));
173
- SendColor (EVGA_GPU_V2_REG_COLOR_B_RED, RGBGetRValue (color2), RGBGetGValue (color2), RGBGetBValue (color2));
162
+ SendColor (EVGA_GPU_V2_REG_COLOR_A_RED, RGBGetRValue (color1), RGBGetGValue (color1), RGBGetBValue (color1), brightness );
163
+ SendColor (EVGA_GPU_V2_REG_COLOR_B_RED, RGBGetRValue (color2), RGBGetGValue (color2), RGBGetBValue (color2), brightness );
174
164
175
165
/* -----------------------------------------------------------------*\
176
166
| Breathing mode speeds are consistent for B_TO_A and A_TO_B |
@@ -185,22 +175,15 @@ void EVGAGPUv2Controller::SetMode(unsigned char mode, RGBColor color1, RGBColor
185
175
// 0x6A and 0x6B = 0x00
186
176
bus->i2c_smbus_write_byte_data (dev, 0x6A , 0x00 );
187
177
bus->i2c_smbus_write_byte_data (dev, 0x6B , 0x00 );
188
-
189
- boolSave = true ;
190
178
}
191
179
break ;
192
180
193
181
default :
194
182
break ;
195
183
}
196
184
197
- // Disable writes and Save (if applicable)
185
+ // Disable writes
198
186
EnableWrite (false );
199
-
200
- if (boolSave)
201
- {
202
- SaveSettings ();
203
- }
204
187
}
205
188
206
189
void EVGAGPUv2Controller::EnableWrite (bool boolEnable)
@@ -232,20 +215,20 @@ void EVGAGPUv2Controller::SaveSettings()
232
215
bus->i2c_smbus_write_byte_data (dev, 0x0E , 0xE0 );
233
216
}
234
217
235
- void EVGAGPUv2Controller::SendBrightness (unsigned char brightness)
218
+ void EVGAGPUv2Controller::SendBrightness (uint8_t brightness)
236
219
{
237
220
bus->i2c_smbus_write_byte_data (dev, EVGA_GPU_V2_REG_COLOR_A_BRIGHTNESS, brightness);
238
221
}
239
222
240
- void EVGAGPUv2Controller::SendColor (unsigned char start_register, unsigned char red, unsigned char green, unsigned char blue, unsigned char brightness)
223
+ void EVGAGPUv2Controller::SendColor (uint8_t start_register, uint8_t red, uint8_t green, uint8_t blue, uint8_t brightness)
241
224
{
242
225
bus->i2c_smbus_write_byte_data (dev, start_register, red);
243
226
bus->i2c_smbus_write_byte_data (dev, (start_register + 1 ), green);
244
227
bus->i2c_smbus_write_byte_data (dev, (start_register + 2 ), blue);
245
228
bus->i2c_smbus_write_byte_data (dev, (start_register + 3 ), brightness);
246
229
}
247
230
248
- void EVGAGPUv2Controller::SendMode (unsigned char mode)
231
+ void EVGAGPUv2Controller::SendMode (uint8_t mode)
249
232
{
250
233
bus->i2c_smbus_write_byte_data (dev, EVGA_GPU_V2_REG_MODE, mode);
251
234
}
@@ -264,15 +247,10 @@ void EVGAGPUv2Controller::SendSpeed(u16_to_u8 aOnTime, u16_to_u8 bOnTime, u16_to
264
247
bus->i2c_smbus_write_byte_data (dev, EVGA_GPU_V2_REG_COLOR_A_ONTIME_MSB, (unsigned char ) aOnTime.MSB );
265
248
}
266
249
267
- void EVGAGPUv2Controller::SetColor (RGBColor colorA, RGBColor colorB, bool boolSave )
250
+ void EVGAGPUv2Controller::SetColor (RGBColor colorA, RGBColor colorB, uint8_t brightness )
268
251
{
269
252
EnableWrite (true );
270
- SendColor (EVGA_GPU_V2_REG_COLOR_A_RED, RGBGetRValue (colorA), RGBGetGValue (colorA), RGBGetBValue (colorA), 0x64 );
271
- SendColor (EVGA_GPU_V2_REG_COLOR_B_RED, RGBGetRValue (colorB), RGBGetGValue (colorB), RGBGetBValue (colorB), 0x64 );
253
+ SendColor (EVGA_GPU_V2_REG_COLOR_A_RED, RGBGetRValue (colorA), RGBGetGValue (colorA), RGBGetBValue (colorA), brightness );
254
+ SendColor (EVGA_GPU_V2_REG_COLOR_B_RED, RGBGetRValue (colorB), RGBGetGValue (colorB), RGBGetBValue (colorB), brightness );
272
255
EnableWrite (false );
273
-
274
- if (boolSave)
275
- {
276
- SaveSettings ();
277
- }
278
256
}
0 commit comments