Remove dummy Direct mode handling from MSI Mystic Light 162 controller
This commit is contained in:
parent
0a2d86b561
commit
acaf1c2fed
3 changed files with 9 additions and 115 deletions
|
|
@ -129,37 +129,6 @@ MSIMysticLight162Controller::MSIMysticLight162Controller
|
|||
supported_zones = &zones_set0;
|
||||
}
|
||||
|
||||
zone_based_per_led_data.j_rgb_1.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.j_rgb_1.colorFlags = BITSET(zone_based_per_led_data.j_rgb_1.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.j_rainbow_1.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.j_rainbow_1.colorFlags = BITSET(zone_based_per_led_data.j_rainbow_1.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led.colorFlags = BITSET(zone_based_per_led_data.on_board_led.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_1.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_1.colorFlags = BITSET(zone_based_per_led_data.on_board_led_1.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_2.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_2.colorFlags = BITSET(zone_based_per_led_data.on_board_led_2.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_3.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_3.colorFlags = BITSET(zone_based_per_led_data.on_board_led_3.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_4.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_4.colorFlags = BITSET(zone_based_per_led_data.on_board_led_4.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_5.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_5.colorFlags = BITSET(zone_based_per_led_data.on_board_led_5.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_6.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2 << 2;
|
||||
zone_based_per_led_data.on_board_led_6.colorFlags = BITSET(zone_based_per_led_data.on_board_led_6.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_7.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100;
|
||||
zone_based_per_led_data.on_board_led_7.colorFlags = BITSET(zone_based_per_led_data.on_board_led_7.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_8.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_8.colorFlags = BITSET(zone_based_per_led_data.on_board_led_8.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_9.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_9.colorFlags = BITSET(zone_based_per_led_data.on_board_led_9.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.on_board_led_10.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.on_board_led_10.colorFlags = BITSET(zone_based_per_led_data.on_board_led_9.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.j_rgb_2.speedAndBrightnessFlags = MSI_BRIGHTNESS_LEVEL_100 << 2;
|
||||
zone_based_per_led_data.j_rgb_2.colorFlags = BITSET(zone_based_per_led_data.j_rgb_2.colorFlags, true, 7u);
|
||||
zone_based_per_led_data.save_data = 0;
|
||||
|
||||
direct_mode = false;
|
||||
}
|
||||
|
||||
MSIMysticLight162Controller::~MSIMysticLight162Controller()
|
||||
|
|
@ -254,15 +223,8 @@ bool MSIMysticLight162Controller::Update
|
|||
/*-----------------------------------------------------*\
|
||||
| Send packet to hardware, return true if successful |
|
||||
\*-----------------------------------------------------*/
|
||||
if(direct_mode)
|
||||
{
|
||||
return (hid_send_feature_report(dev, (unsigned char*)&zone_based_per_led_data, sizeof(zone_based_per_led_data)) == sizeof(zone_based_per_led_data));
|
||||
}
|
||||
else
|
||||
{
|
||||
data.save_data = save;
|
||||
return (hid_send_feature_report(dev, (unsigned char*)&data, sizeof(data)) == sizeof(data));
|
||||
}
|
||||
data.save_data = save;
|
||||
return (hid_send_feature_report(dev, (unsigned char*)&data, sizeof(data)) == sizeof(data));
|
||||
}
|
||||
|
||||
void MSIMysticLight162Controller::SetZoneColor
|
||||
|
|
@ -309,34 +271,6 @@ void MSIMysticLight162Controller::SetZoneColor
|
|||
}
|
||||
}
|
||||
|
||||
void MSIMysticLight162Controller::SetLedColor
|
||||
(
|
||||
MSI_ZONE zone,
|
||||
unsigned char red,
|
||||
unsigned char grn,
|
||||
unsigned char blu
|
||||
)
|
||||
{
|
||||
if(zone >= MSI_ZONE_ON_BOARD_LED_0)
|
||||
{
|
||||
zone = (MSI_ZONE)((int)zone + 1);
|
||||
}
|
||||
|
||||
ZoneData *zone_data = GetZoneData(zone_based_per_led_data, zone);
|
||||
|
||||
if(zone_data == nullptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
zone_data->color.R = red;
|
||||
zone_data->color.G = grn;
|
||||
zone_data->color.B = blu;
|
||||
zone_data->color2.R = red;
|
||||
zone_data->color2.G = grn;
|
||||
zone_data->color2.B = blu;
|
||||
}
|
||||
|
||||
ZoneData *MSIMysticLight162Controller::GetZoneData
|
||||
(
|
||||
FeaturePacket_162& data_packet,
|
||||
|
|
@ -547,14 +481,6 @@ void MSIMysticLight162Controller::GetMode
|
|||
color = ToRGBColor(zone_data->color.R, zone_data->color.G, zone_data->color.B);
|
||||
}
|
||||
|
||||
void MSIMysticLight162Controller::SetDirectMode
|
||||
(
|
||||
bool mode
|
||||
)
|
||||
{
|
||||
direct_mode = mode;
|
||||
}
|
||||
|
||||
size_t MSIMysticLight162Controller::GetMaxOnboardLeds()
|
||||
{
|
||||
return numof_onboard_leds;
|
||||
|
|
|
|||
|
|
@ -59,14 +59,6 @@ public:
|
|||
unsigned char blu2
|
||||
);
|
||||
|
||||
void SetLedColor
|
||||
(
|
||||
MSI_ZONE zone,
|
||||
unsigned char red,
|
||||
unsigned char grn,
|
||||
unsigned char blu
|
||||
);
|
||||
|
||||
bool Update
|
||||
(
|
||||
bool save
|
||||
|
|
@ -77,12 +69,6 @@ public:
|
|||
std::string GetFWVersion();
|
||||
std::string GetSerial();
|
||||
|
||||
|
||||
void SetDirectMode
|
||||
(
|
||||
bool mode
|
||||
);
|
||||
bool IsDirectModeActive() { return direct_mode; }
|
||||
size_t GetMaxOnboardLeds();
|
||||
const std::vector<MSI_ZONE>*
|
||||
GetSupportedZones() { return supported_zones; }
|
||||
|
|
@ -106,8 +92,6 @@ private:
|
|||
std::string chip_id;
|
||||
|
||||
FeaturePacket_162 data;
|
||||
FeaturePacket_162 zone_based_per_led_data;
|
||||
bool direct_mode;
|
||||
size_t numof_onboard_leds;
|
||||
const std::vector<MSI_ZONE>* supported_zones;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -211,15 +211,7 @@ void RGBController_MSIMysticLight162::UpdateSingleLED
|
|||
|
||||
void RGBController_MSIMysticLight162::DeviceUpdateMode()
|
||||
{
|
||||
if(modes[active_mode].value == MSI_MODE_DIRECT_DUMMY)
|
||||
{
|
||||
controller->SetDirectMode(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
controller->SetDirectMode(false);
|
||||
DeviceUpdateLEDs();
|
||||
}
|
||||
DeviceUpdateLEDs();
|
||||
}
|
||||
|
||||
void RGBController_MSIMysticLight162::DeviceSaveMode()
|
||||
|
|
@ -233,7 +225,6 @@ void RGBController_MSIMysticLight162::SetupModes()
|
|||
constexpr unsigned int RANDOM_ONLY = MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
constexpr unsigned int COMMON = RANDOM_ONLY | MODE_FLAG_HAS_PER_LED_COLOR;
|
||||
|
||||
// SetupMode("Direct", MSI_MODE_DIRECT_DUMMY, MODE_FLAG_HAS_PER_LED_COLOR);
|
||||
SetupMode("Direct", MSI_MODE_STATIC, MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE);
|
||||
// SetupMode("Off", MSI_MODE_DISABLE, 0);
|
||||
SetupMode("Breathing", MSI_MODE_BREATHING, PER_LED_ONLY);
|
||||
|
|
@ -286,20 +277,13 @@ void RGBController_MSIMysticLight162::UpdateLed
|
|||
unsigned char grn = RGBGetGValue(zones[zone].colors[led]);
|
||||
unsigned char blu = RGBGetBValue(zones[zone].colors[led]);
|
||||
|
||||
if(controller->IsDirectModeActive())
|
||||
{
|
||||
controller->SetLedColor((MSI_ZONE)zones[zone].leds[led].value, red, grn, blu);
|
||||
}
|
||||
else
|
||||
{
|
||||
bool random = modes[active_mode].color_mode == MODE_COLORS_RANDOM;
|
||||
MSI_MODE mode = (MSI_MODE)modes[active_mode].value;
|
||||
MSI_SPEED speed = (MSI_SPEED)modes[active_mode].speed;
|
||||
MSI_BRIGHTNESS brightness = (MSI_BRIGHTNESS)modes[active_mode].brightness;
|
||||
bool random = modes[active_mode].color_mode == MODE_COLORS_RANDOM;
|
||||
MSI_MODE mode = (MSI_MODE)modes[active_mode].value;
|
||||
MSI_SPEED speed = (MSI_SPEED)modes[active_mode].speed;
|
||||
MSI_BRIGHTNESS brightness = (MSI_BRIGHTNESS)modes[active_mode].brightness;
|
||||
|
||||
controller->SetMode((MSI_ZONE)zones[zone].leds[led].value, mode, speed, brightness, random);
|
||||
controller->SetZoneColor((MSI_ZONE)zones[zone].leds[led].value, red, grn, blu, red, grn, blu);
|
||||
}
|
||||
controller->SetMode((MSI_ZONE)zones[zone].leds[led].value, mode, speed, brightness, random);
|
||||
controller->SetZoneColor((MSI_ZONE)zones[zone].leds[led].value, red, grn, blu, red, grn, blu);
|
||||
}
|
||||
|
||||
void RGBController_MSIMysticLight162::SetupMode
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue