From eef55e6d6e5fdaa2062ef8d6b51781435c80536a Mon Sep 17 00:00:00 2001 From: Pol Rius Date: Wed, 28 Jul 2021 15:47:17 +0200 Subject: [PATCH] Implement saving for steelseries rival and sensei mice --- .../RGBController_SteelSeriesRival.cpp | 9 +++++++-- .../RGBController_SteelSeriesRival.h | 1 + .../RGBController_SteelSeriesSensei.cpp | 11 ++++++++--- .../RGBController_SteelSeriesSensei.h | 1 + 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.cpp b/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.cpp index df9228532..48c3157db 100644 --- a/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.cpp +++ b/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.cpp @@ -39,14 +39,14 @@ RGBController_SteelSeriesRival::RGBController_SteelSeriesRival(SteelSeriesRivalC mode Direct; Direct.name = "Direct"; Direct.value = STEELSERIES_RIVAL_DIRECT; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE; Direct.color_mode = MODE_COLORS_PER_LED; modes.push_back(Direct); mode Pulsate; Pulsate.name = "Pulsate"; Pulsate.value = STEELSERIES_RIVAL_PULSATE; - Pulsate.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR; + Pulsate.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE; Pulsate.color_mode = MODE_COLORS_PER_LED; Pulsate.speed_min = STEELSERIES_RIVAL_EFFECT_PULSATE_MIN; Pulsate.speed_max = STEELSERIES_RIVAL_EFFECT_PULSATE_MAX; @@ -194,3 +194,8 @@ void RGBController_SteelSeriesRival::DeviceUpdateMode() DeviceUpdateLEDs(); } + +void RGBController_SteelSeriesRival::DeviceSaveMode() +{ + rival->Save(); +} \ No newline at end of file diff --git a/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.h b/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.h index 2ba2ea53b..cdbdeeacb 100644 --- a/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.h +++ b/Controllers/SteelSeriesController/RGBController_SteelSeriesRival.h @@ -28,6 +28,7 @@ public: void SetCustomMode(); void DeviceUpdateMode(); + void DeviceSaveMode(); private: SteelSeriesRivalController* rival; diff --git a/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.cpp b/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.cpp index 901c39989..bfa1d7c86 100644 --- a/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.cpp +++ b/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.cpp @@ -23,14 +23,14 @@ RGBController_SteelSeriesSensei::RGBController_SteelSeriesSensei(SteelSeriesSens mode Direct; Direct.name = "Direct"; Direct.value = STEELSERIES_SENSEI_MODE_DIRECT; - Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR; + Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE; Direct.color_mode = MODE_COLORS_PER_LED; modes.push_back(Direct); mode Breathing; Breathing.name = "Breathing"; Breathing.value = STEELSERIES_SENSEI_MODE_BREATHING; - Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR; + Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE; Breathing.color_mode = MODE_COLORS_PER_LED; Breathing.speed_min = STEELSERIES_SENSEI_EFFECT_BREATHING_MIN; Breathing.speed_max = STEELSERIES_SENSEI_EFFECT_BREATHING_MAX; @@ -40,7 +40,7 @@ RGBController_SteelSeriesSensei::RGBController_SteelSeriesSensei(SteelSeriesSens mode Rainbow; Rainbow.name = "Rainbow"; Rainbow.value = STEELSERIES_SENSEI_MODE_RAINBOW; - Rainbow.flags = MODE_FLAG_HAS_SPEED; + Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_MANUAL_SAVE; Rainbow.color_mode = MODE_COLORS_NONE; Rainbow.speed_min = STEELSERIES_SENSEI_EFFECT_RAINBOW_MIN; Rainbow.speed_max = STEELSERIES_SENSEI_EFFECT_RAINBOW_MAX; @@ -141,3 +141,8 @@ void RGBController_SteelSeriesSensei::DeviceUpdateMode() \*---------------------------------------------------------*/ DeviceUpdateLEDs(); } + +void RGBController_SteelSeriesSensei::DeviceSaveMode() +{ + sensei->Save(); +} \ No newline at end of file diff --git a/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.h b/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.h index ff5a3d109..4cb7369ba 100644 --- a/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.h +++ b/Controllers/SteelSeriesController/RGBController_SteelSeriesSensei.h @@ -28,6 +28,7 @@ public: void SetCustomMode(); void DeviceUpdateMode(); + void DeviceSaveMode(); private: SteelSeriesSenseiController* sensei;