Publish LumaOps source
This commit is contained in:
+91
@@ -0,0 +1,91 @@
|
||||
/*---------------------------------------------------------*\
|
||||
| SapphireNitroGlowV3Controller.h |
|
||||
| |
|
||||
| Driver for Sapphire Nitro Glow V3 |
|
||||
| |
|
||||
| K900 03 Feb 2021 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-or-later |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include "i2c_smbus.h"
|
||||
|
||||
typedef unsigned char sapphire_dev_id;
|
||||
|
||||
enum
|
||||
{
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_MODE = 0x10,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_EXTERNAL_CONTROL = 0x0F,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_BRIGHTNESS = 0x3E,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_RUNWAY_ANIMATION_SPEED = 0x11,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_RUNWAY_ANIMATION_REPEAT_COUNT = 0x12,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_COLOR_CYCLE_ANIMATION_SPEED = 0x13,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_RAINBOW_ANIMATION_SPEED = 0x15,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_SERIAL_ANIMATION_SPEED = 0x16,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_MUSIC_VOLUME = 0x29,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_RED = 0x1A,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_GREEN = 0x1B,
|
||||
SAPPHIRE_NITRO_GLOW_V3_REG_BLUE = 0x1C,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_RAINBOW = 0x00,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_RUNWAY = 0x01,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_COLOR_CYCLE = 0x02,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_SERIAL = 0x03,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_SAPPHIRE_BLUE = 0x04,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_AUDIO_VISUALIZATION = 0x05,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_CUSTOM = 0x06,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_OFF = 0x07,
|
||||
SAPPHIRE_NITRO_GLOW_V3_MODE_EXTERNAL_CONTROL = 0xFF,
|
||||
};
|
||||
|
||||
class SapphireNitroGlowV3Controller
|
||||
{
|
||||
public:
|
||||
SapphireNitroGlowV3Controller(i2c_smbus_interface* bus, sapphire_dev_id dev, std::string dev_name);
|
||||
~SapphireNitroGlowV3Controller();
|
||||
|
||||
std::string GetDeviceLocation();
|
||||
std::string GetDeviceName();
|
||||
|
||||
unsigned char GetRed();
|
||||
unsigned char GetGreen();
|
||||
unsigned char GetBlue();
|
||||
|
||||
void SetColor(unsigned char red, unsigned char green, unsigned char blue);
|
||||
|
||||
unsigned char GetMode();
|
||||
void SetMode(unsigned char mode);
|
||||
|
||||
bool GetExternalControl();
|
||||
void SetExternalControl(bool enabled);
|
||||
|
||||
unsigned char GetBrightness();
|
||||
void SetBrightness(unsigned char brightness);
|
||||
|
||||
unsigned char GetRainbowAnimationSpeed();
|
||||
void SetRainbowAnimationSpeed(unsigned char speed);
|
||||
|
||||
unsigned char GetRunwayAnimationSpeed();
|
||||
void SetRunwayAnimationSpeed(unsigned char speed);
|
||||
|
||||
unsigned char GetRunwayAnimationRepeatCount();
|
||||
void SetRunwayAnimationRepeatCount(unsigned char count);
|
||||
|
||||
unsigned char GetColorCycleAnimationSpeed();
|
||||
void SetColorCycleAnimationSpeed(unsigned char speed);
|
||||
|
||||
unsigned char GetSerialAnimationSpeed();
|
||||
void SetSerialAnimationSpeed(unsigned char speed);
|
||||
|
||||
private:
|
||||
i2c_smbus_interface* bus;
|
||||
sapphire_dev_id dev;
|
||||
std::string name;
|
||||
};
|
||||
Reference in New Issue
Block a user