45 lines
1.5 KiB
C++
45 lines
1.5 KiB
C++
/*-------------------------------------------*\
|
|
| RGBController_GenesisXenon200.h |
|
|
| |
|
|
| Definitions and types for Genesis Xenon |
|
|
| 200 Mouse |
|
|
| |
|
|
| chrabonszcz 07/2023 |
|
|
\*-------------------------------------------*/
|
|
|
|
#pragma once
|
|
|
|
#include "GenesisXenon200Controller.h"
|
|
#include "RGBController.h"
|
|
|
|
#define GENESIS_XENON_200_MODE_STATIC 0x18
|
|
#define GENESIS_XENON_200_MODE_BREATHING 0x12
|
|
#define GENESIS_XENON_200_MODE_SPECTRUM_CYCLE 0x14
|
|
#define GENESIS_XENON_200_MODE_OFF 0x11
|
|
|
|
const unsigned char GENESIS_XENON_200_STATIC_BRIGHTESS_VALUES[] {0x11, 0x51, 0xA1};
|
|
const unsigned char GENESIS_XENON_200_BREATHING_SPEED_VALUES[] {0x51, 0x31, 0x11};
|
|
const unsigned char GENESIS_XENON_200_SPECTRUM_CYCLE_SPEED_VALUES[] {0xC1, 0x81, 0x41};
|
|
|
|
class RGBController_GenesisXenon200 : public RGBController
|
|
{
|
|
public:
|
|
RGBController_GenesisXenon200(GenesisXenon200Controller* controller_ptr);
|
|
~RGBController_GenesisXenon200();
|
|
|
|
void SetupZones();
|
|
|
|
void ResizeZone(int zone, int new_size);
|
|
|
|
void DeviceUpdateLEDs();
|
|
void UpdateZoneLEDs(int zone);
|
|
void UpdateSingleLED(int led);
|
|
|
|
void DeviceUpdateMode();
|
|
void DeviceSaveMode();
|
|
|
|
void SetCustomMode();
|
|
|
|
private:
|
|
GenesisXenon200Controller* controller;
|
|
};
|