Skip to content

Commit 45478b0

Browse files
committed
Set the correct speeds for polychrome V2 (SMBUS)
1 parent 14c73d2 commit 45478b0

File tree

2 files changed

+84
-37
lines changed

2 files changed

+84
-37
lines changed

Controllers/ASRockPolychromeSMBusController/ASRockPolychromeSMBusController.h

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,53 @@ enum
191191

192192
enum
193193
{
194-
POLYCHROME_V2_SPEED_MIN = 0x05, /* Slowest speed */
195-
POLYCHROME_V2_SPEED_DEFAULT = 0x03, /* Default speed */
196-
POLYCHROME_V2_SPEED_MAX = 0x00, /* Fastest speed */
194+
POLYCHROME_V2_BREATHING_SPEED_MIN = 0x0A, /* Slowest speed */
195+
POLYCHROME_V2_BREATHING_SPEED_DEFAULT = 0x06, /* Default speed */
196+
POLYCHROME_V2_BREATHING_SPEED_MAX = 0x02, /* Fastest speed */
197+
198+
POLYCHROME_V2_STROBE_SPEED_MIN = 0xA0, /* Slowest speed */
199+
POLYCHROME_V2_STROBE_SPEED_DEFAULT = 0x4D, /* Default speed */
200+
POLYCHROME_V2_STROBE_SPEED_MAX = 0x05, /* Fastest speed */
201+
202+
POLYCHROME_V2_SPECTRUM_CYCLE_SPEED_MIN = 0xA0, /* Slowest speed */
203+
POLYCHROME_V2_SPECTRUM_CYCLE_SPEED_DEFAULT = 0x50, /* Default speed */
204+
POLYCHROME_V2_SPECTRUM_CYCLE_SPEED_MAX = 0x0A, /* Fastest speed */
205+
206+
POLYCHROME_V2_RANDOM_SPEED_MIN = 0xA0, /* Slowest speed */
207+
POLYCHROME_V2_RANDOM_SPEED_DEFAULT = 0x4D, /* Default speed */
208+
POLYCHROME_V2_RANDOM_SPEED_MAX = 0x05, /* Fastest speed */
209+
210+
POLYCHROME_V2_WAVE_SPEED_MIN = 0x06, /* Slowest speed */
211+
POLYCHROME_V2_WAVE_SPEED_DEFAULT = 0x03, /* Default speed */
212+
POLYCHROME_V2_WAVE_SPEED_MAX = 0x01, /* Fastest speed */
213+
214+
POLYCHROME_V2_SPRING_SPEED_MIN = 0x20, /* Slowest speed */
215+
POLYCHROME_V2_SPRING_SPEED_DEFAULT = 0x11, /* Default speed */
216+
POLYCHROME_V2_SPRING_SPEED_MAX = 0x02, /* Fastest speed */
217+
218+
POLYCHROME_V2_STACK_SPEED_MIN = 0x20, /* Slowest speed */
219+
POLYCHROME_V2_STACK_SPEED_DEFAULT = 0x11, /* Default speed */
220+
POLYCHROME_V2_STACK_SPEED_MAX = 0x02, /* Fastest speed */
221+
222+
POLYCHROME_V2_CRAM_SPEED_MIN = 0x20, /* Slowest speed */
223+
POLYCHROME_V2_CRAM_SPEED_DEFAULT = 0x11, /* Default speed */
224+
POLYCHROME_V2_CRAM_SPEED_MAX = 0x02, /* Fastest speed */
225+
226+
POLYCHROME_V2_SCAN_SPEED_MIN = 0x20, /* Slowest speed */
227+
POLYCHROME_V2_SCAN_SPEED_DEFAULT = 0x11, /* Default speed */
228+
POLYCHROME_V2_SCAN_SPEED_MAX = 0x02, /* Fastest speed */
229+
230+
POLYCHROME_V2_NEON_SPEED_MIN = 0x20, /* Slowest speed */
231+
POLYCHROME_V2_NEON_SPEED_DEFAULT = 0x11, /* Default speed */
232+
POLYCHROME_V2_NEON_SPEED_MAX = 0x02, /* Fastest speed */
233+
234+
POLYCHROME_V2_WATER_SPEED_MIN = 0x20, /* Slowest speed */
235+
POLYCHROME_V2_WATER_SPEED_DEFAULT = 0x11, /* Default speed */
236+
POLYCHROME_V2_WATER_SPEED_MAX = 0x02, /* Fastest speed */
237+
238+
POLYCHROME_V2_RAINBOW_SPEED_MIN = 0x12, /* Slowest speed */
239+
POLYCHROME_V2_RAINBOW_SPEED_DEFAULT = 0x08, /* Default speed */
240+
POLYCHROME_V2_RAINBOW_SPEED_MAX = 0x02, /* Fastest speed */
197241
};
198242

199243
class PolychromeController

Controllers/ASRockPolychromeSMBusController/RGBController_ASRockPolychromeSMBus.cpp

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -295,116 +295,119 @@ RGBController_Polychrome::RGBController_Polychrome(PolychromeController* control
295295
Breathing.name = "Breathing";
296296
Breathing.value = POLYCHROME_V2_MODE_BREATHING;
297297
Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR;
298-
Breathing.speed_min = POLYCHROME_V2_SPEED_MIN;
299-
Breathing.speed_max = POLYCHROME_V2_SPEED_MAX;
300-
Breathing.speed = POLYCHROME_V2_SPEED_DEFAULT;
298+
Breathing.speed_min = POLYCHROME_V2_BREATHING_SPEED_MIN;
299+
Breathing.speed_max = POLYCHROME_V2_BREATHING_SPEED_MAX;
300+
Breathing.speed = POLYCHROME_V2_BREATHING_SPEED_DEFAULT;
301301
Breathing.color_mode = MODE_COLORS_PER_LED;
302302
modes.push_back(Breathing);
303303

304304
mode Strobe;
305305
Strobe.name = "Strobe";
306306
Strobe.value = POLYCHROME_V2_MODE_STROBE;
307307
Strobe.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR;
308-
Strobe.speed_min = POLYCHROME_V2_SPEED_MIN;
309-
Strobe.speed_max = POLYCHROME_V2_SPEED_MAX;
310-
Strobe.speed = POLYCHROME_V2_SPEED_DEFAULT;
308+
Strobe.speed_min = POLYCHROME_V2_STROBE_SPEED_MIN;
309+
Strobe.speed_max = POLYCHROME_V2_STROBE_SPEED_MAX;
310+
Strobe.speed = POLYCHROME_V2_STROBE_SPEED_DEFAULT;
311311
Strobe.color_mode = MODE_COLORS_PER_LED;
312312
modes.push_back(Strobe);
313313

314314
mode SpectrumCycle;
315315
SpectrumCycle.name = "Spectrum Cycle";
316316
SpectrumCycle.value = POLYCHROME_V2_MODE_SPECTRUM_CYCLE;
317317
SpectrumCycle.flags = MODE_FLAG_HAS_SPEED;
318-
SpectrumCycle.speed_min = POLYCHROME_V2_SPEED_MIN;
319-
SpectrumCycle.speed_max = POLYCHROME_V2_SPEED_MAX;
320-
SpectrumCycle.speed = POLYCHROME_V2_SPEED_DEFAULT;
318+
SpectrumCycle.speed_min = POLYCHROME_V2_SPECTRUM_CYCLE_SPEED_MIN;
319+
SpectrumCycle.speed_max = POLYCHROME_V2_SPECTRUM_CYCLE_SPEED_MAX;
320+
SpectrumCycle.speed = POLYCHROME_V2_SPECTRUM_CYCLE_SPEED_DEFAULT;
321321
SpectrumCycle.color_mode = MODE_COLORS_NONE;
322322
modes.push_back(SpectrumCycle);
323323

324324
mode Random;
325325
Random.name = "Random";
326326
Random.value = POLYCHROME_V2_MODE_RANDOM;
327327
Random.flags = MODE_FLAG_HAS_SPEED;
328-
Random.speed_min = POLYCHROME_V2_SPEED_MIN;
329-
Random.speed_max = POLYCHROME_V2_SPEED_MAX;
330-
Random.speed = POLYCHROME_V2_SPEED_DEFAULT;
328+
Random.speed_min = POLYCHROME_V2_RANDOM_SPEED_MIN;
329+
Random.speed_max = POLYCHROME_V2_RANDOM_SPEED_MAX;
330+
Random.speed = POLYCHROME_V2_RANDOM_SPEED_DEFAULT;
331331
Random.color_mode = MODE_COLORS_NONE;
332332
modes.push_back(Random);
333333

334334
mode Wave;
335335
Wave.name = "Wave";
336336
Wave.value = POLYCHROME_V2_MODE_WAVE;
337337
Wave.flags = MODE_FLAG_HAS_SPEED;
338-
Wave.speed_min = POLYCHROME_V2_SPEED_MIN;
339-
Wave.speed_max = POLYCHROME_V2_SPEED_MAX;
340-
Wave.speed = POLYCHROME_V2_SPEED_DEFAULT;
338+
Wave.speed_min = POLYCHROME_V2_WAVE_SPEED_MIN;
339+
Wave.speed_max = POLYCHROME_V2_WAVE_SPEED_MAX;
340+
Wave.speed = POLYCHROME_V2_WAVE_SPEED_DEFAULT;
341341
Wave.color_mode = MODE_COLORS_NONE;
342342
modes.push_back(Wave);
343343

344344
mode Spring;
345345
Spring.name = "Spring";
346346
Spring.value = POLYCHROME_V2_MODE_SPRING;
347347
Spring.flags = MODE_FLAG_HAS_SPEED;
348-
Spring.speed_min = POLYCHROME_V2_SPEED_MIN;
349-
Spring.speed_max = POLYCHROME_V2_SPEED_MAX;
350-
Spring.speed = POLYCHROME_V2_SPEED_DEFAULT;
348+
Spring.speed_min = POLYCHROME_V2_SPRING_SPEED_MIN;
349+
Spring.speed_max = POLYCHROME_V2_SPRING_SPEED_MAX;
350+
Spring.speed = POLYCHROME_V2_SPRING_SPEED_DEFAULT;
351351
Spring.color_mode = MODE_COLORS_NONE;
352352
modes.push_back(Spring);
353353

354354
mode Stack;
355355
Stack.name = "Stack";
356356
Stack.value = POLYCHROME_V2_MODE_STACK;
357357
Stack.flags = MODE_FLAG_HAS_SPEED;
358-
Stack.speed_min = POLYCHROME_V2_SPEED_MIN;
359-
Stack.speed_max = POLYCHROME_V2_SPEED_MAX;
360-
Stack.speed = POLYCHROME_V2_SPEED_DEFAULT;
358+
Stack.speed_min = POLYCHROME_V2_STACK_SPEED_MIN;
359+
Stack.speed_max = POLYCHROME_V2_STACK_SPEED_MAX;
360+
Stack.speed = POLYCHROME_V2_STACK_SPEED_DEFAULT;
361361
Stack.color_mode = MODE_COLORS_NONE;
362362
modes.push_back(Stack);
363363

364364
mode Cram;
365365
Cram.name = "Cram";
366366
Cram.value = POLYCHROME_V2_MODE_CRAM;
367367
Cram.flags = MODE_FLAG_HAS_SPEED;
368-
Cram.speed_min = POLYCHROME_V2_SPEED_MIN;
369-
Cram.speed_max = POLYCHROME_V2_SPEED_MAX;
370-
Cram.speed = POLYCHROME_V2_SPEED_DEFAULT;
368+
Cram.speed_min = POLYCHROME_V2_CRAM_SPEED_MIN;
369+
Cram.speed_max = POLYCHROME_V2_CRAM_SPEED_MAX;
370+
Cram.speed = POLYCHROME_V2_CRAM_SPEED_DEFAULT;
371371
Cram.color_mode = MODE_COLORS_NONE;
372372
modes.push_back(Cram);
373373

374374
mode Scan;
375375
Scan.name = "Scan";
376376
Scan.value = POLYCHROME_V2_MODE_SCAN;
377377
Scan.flags = MODE_FLAG_HAS_SPEED;
378-
Scan.speed_min = POLYCHROME_V2_SPEED_MIN;
379-
Scan.speed_max = POLYCHROME_V2_SPEED_MAX;
380-
Scan.speed = POLYCHROME_V2_SPEED_DEFAULT;
378+
Scan.speed_min = POLYCHROME_V2_SCAN_SPEED_MIN;
379+
Scan.speed_max = POLYCHROME_V2_SCAN_SPEED_MAX;
380+
Scan.speed = POLYCHROME_V2_SCAN_SPEED_DEFAULT;
381381
Scan.color_mode = MODE_COLORS_NONE;
382382
modes.push_back(Scan);
383383

384384
mode Neon;
385385
Neon.name = "Neon";
386386
Neon.value = POLYCHROME_V2_MODE_NEON;
387-
Neon.flags = 0;
387+
Neon.flags = MODE_FLAG_HAS_SPEED;
388+
Neon.speed_min = POLYCHROME_V2_NEON_SPEED_MIN;
389+
Neon.speed_max = POLYCHROME_V2_NEON_SPEED_MAX;
390+
Neon.speed = POLYCHROME_V2_NEON_SPEED_DEFAULT;
388391
Neon.color_mode = MODE_COLORS_NONE;
389392
modes.push_back(Neon);
390393

391394
mode Water;
392395
Water.name = "Water";
393396
Water.value = POLYCHROME_V2_MODE_WATER;
394397
Water.flags = MODE_FLAG_HAS_SPEED;
395-
Water.speed_min = POLYCHROME_V2_SPEED_MIN;
396-
Water.speed_max = POLYCHROME_V2_SPEED_MAX;
397-
Water.speed = POLYCHROME_V2_SPEED_DEFAULT;
398+
Water.speed_min = POLYCHROME_V2_WATER_SPEED_MIN;
399+
Water.speed_max = POLYCHROME_V2_WATER_SPEED_MAX;
400+
Water.speed = POLYCHROME_V2_WATER_SPEED_DEFAULT;
398401
Water.color_mode = MODE_COLORS_NONE;
399402
modes.push_back(Water);
400403

401404
mode Rainbow;
402405
Rainbow.name = "Rainbow";
403406
Rainbow.value = POLYCHROME_V2_MODE_RAINBOW;
404407
Rainbow.flags = MODE_FLAG_HAS_SPEED;
405-
Rainbow.speed_min = POLYCHROME_V2_SPEED_MIN;
406-
Rainbow.speed_max = POLYCHROME_V2_SPEED_MAX;
407-
Rainbow.speed = POLYCHROME_V2_SPEED_DEFAULT;
408+
Rainbow.speed_min = POLYCHROME_V2_RAINBOW_SPEED_MIN;
409+
Rainbow.speed_max = POLYCHROME_V2_RAINBOW_SPEED_MAX;
410+
Rainbow.speed = POLYCHROME_V2_RAINBOW_SPEED_DEFAULT;
408411
Rainbow.color_mode = MODE_COLORS_NONE;
409412
modes.push_back(Rainbow);
410413
}

0 commit comments

Comments
 (0)