diff --git a/lib/devices/steelseries_arctis_7_plus.hpp b/lib/devices/steelseries_arctis_7_plus.hpp index 05b57c0..fcd6e0e 100644 --- a/lib/devices/steelseries_arctis_7_plus.hpp +++ b/lib/devices/steelseries_arctis_7_plus.hpp @@ -18,6 +18,10 @@ namespace headsetcontrol { * - Chatmix * - Inactive time * - Equalizer (10 bands, -12 to +12 range) + * + * Every setter follows the write with the save command (00 09), so the value + * survives a power cycle. That means each set writes to flash - worth knowing + * before calling these on a timer. */ class SteelSeriesArctis7Plus : public protocols::SteelSeriesNovaDevice { public: @@ -85,6 +89,12 @@ class SteelSeriesArctis7Plus : public protocols::SteelSeriesNovaDevice saveStateArctis7Plus(hid_device* device_handle) const + { + std::array cmd { 0x00, 0x09 }; + return sendCommand(device_handle, cmd); + } + // Rich Results V2 API Result getBattery(hid_device* device_handle) override { @@ -137,6 +147,10 @@ class SteelSeriesArctis7Plus : public protocols::SteelSeriesNovaDevice