diff --git a/Controllers/MSIMysticLightController/MSIMysticLight162Controller.cpp b/Controllers/MSIMysticLightController/MSIMysticLight162Controller.cpp index 0d1c12de..2bfe0d56 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLight162Controller.cpp +++ b/Controllers/MSIMysticLightController/MSIMysticLight162Controller.cpp @@ -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; diff --git a/Controllers/MSIMysticLightController/MSIMysticLight162Controller.h b/Controllers/MSIMysticLightController/MSIMysticLight162Controller.h index d3e5733d..d1af140f 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLight162Controller.h +++ b/Controllers/MSIMysticLightController/MSIMysticLight162Controller.h @@ -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* 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* supported_zones; }; diff --git a/Controllers/MSIMysticLightController/RGBController_MSIMysticLight162.cpp b/Controllers/MSIMysticLightController/RGBController_MSIMysticLight162.cpp index 877c7c9b..e1374a40 100644 --- a/Controllers/MSIMysticLightController/RGBController_MSIMysticLight162.cpp +++ b/Controllers/MSIMysticLightController/RGBController_MSIMysticLight162.cpp @@ -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