diff --git a/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesDeviceType.cs b/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesDeviceType.cs
index 83152c0..65ee724 100644
--- a/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesDeviceType.cs
+++ b/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesDeviceType.cs
@@ -27,6 +27,18 @@
SevenZone,
[APIName("rgb-8-zone")]
- EightZone
+ EightZone,
+
+ [APIName("rgb-12-zone")]
+ TwelveZone,
+
+ [APIName("rgb-17-zone")]
+ SeventeenZone,
+
+ [APIName("rgb-24-zone")]
+ TwentyfourZone,
+
+ [APIName("rgb-103-zone")]
+ OneHundredAndThreeZone
}
}
diff --git a/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs b/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs
index a7636aa..4c3baa1 100644
--- a/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs
+++ b/RGB.NET.Devices.SteelSeries/Enum/SteelSeriesLedId.cs
@@ -22,6 +22,192 @@
ZoneNine,
[APIName("ten")]
ZoneTen,
+ [APIName("eleven")]
+ ZoneEleven,
+ [APIName("twelve")]
+ ZoneTwelve,
+ [APIName("thirteen")]
+ ZoneThirteen,
+ [APIName("fourteen")]
+ ZoneFourteen,
+ [APIName("fifteen")]
+ ZoneFifteen,
+ [APIName("sixteen")]
+ ZoneSixteen,
+ [APIName("seventeen")]
+ ZoneSeventeen,
+ [APIName("eighteen")]
+ ZoneEighteen,
+ [APIName("nineteen")]
+ ZoneNineteen,
+ [APIName("twenty")]
+ ZoneTwenty,
+ [APIName("twenty-one")]
+ ZoneTwentyOne,
+ [APIName("twenty-two")]
+ ZoneTwentyTwo,
+ [APIName("twenty-three")]
+ ZoneTwentyThree,
+ [APIName("twenty-four")]
+ ZoneTwentyFour,
+ [APIName("twenty-five")]
+ ZoneTwentyFive,
+ [APIName("twenty-six")]
+ ZoneTwentySix,
+ [APIName("twenty-seven")]
+ ZoneTwentySeven,
+ [APIName("twenty-eight")]
+ ZoneTwentyEight,
+ [APIName("twenty-nine")]
+ ZoneTwentyNine,
+ [APIName("thirty")]
+ ZoneThirty,
+ [APIName("thirty-one")]
+ ZoneThirtyOne,
+ [APIName("thirty-two")]
+ ZoneThirtyTwo,
+ [APIName("thirty-three")]
+ ZoneThirtyThree,
+ [APIName("thirty-four")]
+ ZoneThirtyFour,
+ [APIName("thirty-five")]
+ ZoneThirtyFive,
+ [APIName("thirty-six")]
+ ZoneThirtySix,
+ [APIName("thirty-seven")]
+ ZoneThirtySeven,
+ [APIName("thirty-eight")]
+ ZoneThirtyEight,
+ [APIName("thirty-nine")]
+ ZoneThirtyNine,
+ [APIName("forty")]
+ ZoneForty,
+ [APIName("forty-one")]
+ ZoneFortyOne,
+ [APIName("forty-two")]
+ ZoneFortyTwo,
+ [APIName("forty-three")]
+ ZoneFortyThree,
+ [APIName("forty-four")]
+ ZoneFortyFour,
+ [APIName("forty-five")]
+ ZoneFortyFive,
+ [APIName("forty-six")]
+ ZoneFortySix,
+ [APIName("forty-seven")]
+ ZoneFortySeven,
+ [APIName("forty-eight")]
+ ZoneFortyEight,
+ [APIName("forty-nine")]
+ ZoneFortyNine,
+ [APIName("fifty")]
+ ZoneFifty,
+ [APIName("fifty-one")]
+ ZoneFiftyOne,
+ [APIName("fifty-two")]
+ ZoneFiftyTwo,
+ [APIName("fifty-three")]
+ ZoneFiftyThree,
+ [APIName("fifty-four")]
+ ZoneFiftyFour,
+ [APIName("fifty-five")]
+ ZoneFiftyFive,
+ [APIName("fifty-six")]
+ ZoneFiftySix,
+ [APIName("fifty-seven")]
+ ZoneFiftySeven,
+ [APIName("fifty-eight")]
+ ZoneFiftyEight,
+ [APIName("fifty-nine")]
+ ZoneFiftyNine,
+ [APIName("sixty")]
+ ZoneSixty,
+ [APIName("sixty-one")]
+ ZoneSixtyOne,
+ [APIName("sixty-two")]
+ ZoneSixtyTwo,
+ [APIName("sixty-three")]
+ ZoneSixtyThree,
+ [APIName("sixty-four")]
+ ZoneSixtyFour,
+ [APIName("sixty-five")]
+ ZoneSixtyFive,
+ [APIName("sixty-six")]
+ ZoneSixtySix,
+ [APIName("sixty-seven")]
+ ZoneSixtySeven,
+ [APIName("sixty-eight")]
+ ZoneSixtyEight,
+ [APIName("sixty-nine")]
+ ZoneSixtyNine,
+ [APIName("seventy")]
+ ZoneSeventy,
+ [APIName("seventy-one")]
+ ZoneSeventyOne,
+ [APIName("seventy-two")]
+ ZoneSeventyTwo,
+ [APIName("seventy-three")]
+ ZoneSeventyThree,
+ [APIName("seventy-four")]
+ ZoneSeventyFour,
+ [APIName("seventy-five")]
+ ZoneSeventyFive,
+ [APIName("seventy-six")]
+ ZoneSeventySix,
+ [APIName("seventy-seven")]
+ ZoneSeventySeven,
+ [APIName("seventy-eight")]
+ ZoneSeventyEight,
+ [APIName("seventy-nine")]
+ ZoneSeventyNine,
+ [APIName("eighty")]
+ ZoneEighty,
+ [APIName("eighty-one")]
+ ZoneEightyOne,
+ [APIName("eighty-two")]
+ ZoneEightyTwo,
+ [APIName("eighty-three")]
+ ZoneEightyThree,
+ [APIName("eighty-four")]
+ ZoneEightyFour,
+ [APIName("eighty-five")]
+ ZoneEightyFive,
+ [APIName("eighty-six")]
+ ZoneEightySix,
+ [APIName("eighty-seven")]
+ ZoneEightySeven,
+ [APIName("eighty-eight")]
+ ZoneEightyEight,
+ [APIName("eighty-nine")]
+ ZoneEightyNine,
+ [APIName("ninety")]
+ ZoneNinety,
+ [APIName("ninety-one")]
+ ZoneNinetyOne,
+ [APIName("ninety-two")]
+ ZoneNinetyTwo,
+ [APIName("ninety-three")]
+ ZoneNinetyThree,
+ [APIName("ninety-four")]
+ ZoneNinetyFour,
+ [APIName("ninety-five")]
+ ZoneNinetyFive,
+ [APIName("ninety-six")]
+ ZoneNinetySix,
+ [APIName("ninety-seven")]
+ ZoneNinetySeven,
+ [APIName("ninety-eight")]
+ ZoneNinetyEight,
+ [APIName("ninety-nine")]
+ ZoneNinetyNine,
+ [APIName("one-hundred")]
+ ZoneOneHundred,
+ [APIName("one-hundred-one")]
+ ZoneOneHundredOne,
+ [APIName("one-hundred-two")]
+ ZoneOneHundredTwo,
+ [APIName("one-hundred-three")]
+ ZoneOneHundredThree,
[APIName("logo")]
Logo,
diff --git a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateTrigger.cs b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateTrigger.cs
index 88c04ac..c6a6823 100644
--- a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateTrigger.cs
+++ b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateTrigger.cs
@@ -29,7 +29,6 @@ namespace RGB.NET.Devices.SteelSeries
///
/// Initializes a new instance of the class.
///
- /// The hard limit of the update rate of this trigger.
public SteelSeriesDeviceUpdateTrigger()
{ }
@@ -45,9 +44,11 @@ namespace RGB.NET.Devices.SteelSeries
#region Methods
+ ///
protected override void UpdateLoop()
{
OnStartup();
+
while (!UpdateToken.IsCancellationRequested)
{
if (HasDataEvent.WaitOne(Timeout))
@@ -58,18 +59,24 @@ namespace RGB.NET.Devices.SteelSeries
if (UpdateFrequency > 0)
{
- _lastUpdateTimestamp = Stopwatch.GetTimestamp();
double lastUpdateTime = ((_lastUpdateTimestamp - preUpdateTicks) / (double)TimeSpan.TicksPerMillisecond);
int sleep = (int)((UpdateFrequency * 1000.0) - lastUpdateTime);
if (sleep > 0)
Thread.Sleep(sleep);
}
}
- else if (((Stopwatch.GetTimestamp() - _lastUpdateTimestamp) > FLUSH_TIMER))
+ else if ((_lastUpdateTimestamp > 0) && ((Stopwatch.GetTimestamp() - _lastUpdateTimestamp) > FLUSH_TIMER))
OnUpdate(new CustomUpdateData(("refresh", true)));
}
}
+ ///
+ protected override void OnUpdate(CustomUpdateData updateData = null)
+ {
+ base.OnUpdate(updateData);
+ _lastUpdateTimestamp = Stopwatch.GetTimestamp();
+ }
+
#endregion
}
}