diff --git a/app/AnimeMatrix/AniMatrixControl.cs b/app/AnimeMatrix/AniMatrixControl.cs index e6c93490..40c418e1 100644 --- a/app/AnimeMatrix/AniMatrixControl.cs +++ b/app/AnimeMatrix/AniMatrixControl.cs @@ -19,6 +19,7 @@ namespace GHelper.AnimeMatrix public SlashDevice? deviceSlash; public static bool lidClose = false; + private static bool _wakeUp = false; double[]? AudioValues; WasapiCapture? AudioDevice; @@ -91,15 +92,21 @@ namespace GHelper.AnimeMatrix return; } - if (wakeUp) deviceSlash.WakeUp(); + if (wakeUp) _wakeUp = true; if (brightness == 0 || (auto && SystemInformation.PowerStatus.PowerLineStatus != PowerLineStatus.Online) || (lid && lidClose)) { - //deviceSlash.Init(); + deviceSlash.Init(); deviceSlash.SetOptions(false, 0, 0); } else { + if (_wakeUp) + { + deviceSlash.WakeUp(); + _wakeUp = false; + } + deviceSlash.Init(); deviceSlash.SetMode((SlashMode)running); deviceSlash.SetOptions(true, brightness, inteval); diff --git a/app/AnimeMatrix/SlashDevice.cs b/app/AnimeMatrix/SlashDevice.cs index bcc9216d..4f4c0c38 100644 --- a/app/AnimeMatrix/SlashDevice.cs +++ b/app/AnimeMatrix/SlashDevice.cs @@ -84,18 +84,18 @@ namespace GHelper.AnimeMatrix public void WakeUp() { - Set(Packet(Encoding.ASCII.GetBytes("ASUS Tech.Inc."))); + Set(Packet(Encoding.ASCII.GetBytes("ASUS Tech.Inc.")), "SlashWakeUp"); } public void Init() { - Set(Packet(0xD7, 0x00, 0x00, 0x01, 0xAC)); - Set(Packet(0xD2, 0x02, 0x01, 0x08, 0xAB)); + Set(Packet(0xD7, 0x00, 0x00, 0x01, 0xAC), "SlashInit"); + Set(Packet(0xD2, 0x02, 0x01, 0x08, 0xAB), "SlashInit"); } public void Save() { - Set(Packet(0xD4, 0x00, 0x00, 0x01, 0xAB)); + Set(Packet(0xD4, 0x00, 0x00, 0x01, 0xAB), "SlashSave"); } public void SetMode(SlashMode mode) @@ -111,20 +111,20 @@ namespace GHelper.AnimeMatrix modeByte = 0x00; } - Set(Packet(0xD2, 0x03, 0x00, 0x0C)); - Set(Packet(0xD3, 0x04, 0x00, 0x0C, 0x01, modeByte, 0x02, 0x19, 0x03, 0x13, 0x04, 0x11, 0x05, 0x12, 0x06, 0x13)); + Set(Packet(0xD2, 0x03, 0x00, 0x0C), "SlashMode"); + Set(Packet(0xD3, 0x04, 0x00, 0x0C, 0x01, modeByte, 0x02, 0x19, 0x03, 0x13, 0x04, 0x11, 0x05, 0x12, 0x06, 0x13), "SlashMode"); } public void SetOptions(bool status, int brightness = 0, int interval = 0) { byte brightnessByte = (byte)(brightness * 85.333); - Set(Packet(0xD3, 0x03, 0x01, 0x08, 0xAB, 0xFF, 0x01, status ? (byte)0x01 : (byte)0x00, 0x06, brightnessByte, 0xFF, (byte)interval)); + Set(Packet(0xD3, 0x03, 0x01, 0x08, 0xAB, 0xFF, 0x01, status ? (byte)0x01 : (byte)0x00, 0x06, brightnessByte, 0xFF, (byte)interval), "SlashOptions"); } public void SetBatterySaver(bool status) { - Set(Packet(0xD8, 0x01, 0x00, 0x01, status ? (byte)0x80 : (byte)0x00)); + Set(Packet(0xD8, 0x01, 0x00, 0x01, status ? (byte)0x80 : (byte)0x00), "SlashBatterySaver"); } public void SetLidMode(bool status) @@ -132,10 +132,10 @@ namespace GHelper.AnimeMatrix Set(Packet(0xD8, 0x00, 0x00, 0x02, 0xA5, status ? (byte)0x80 : (byte)0x00)); } - public void Set(Packet packet) + public void Set(Packet packet, string? log = null) { _usbProvider?.Set(packet.Data); - Logger.WriteLine("Slash:" + BitConverter.ToString(packet.Data)); + if (log is not null) Logger.WriteLine("Slash:" + BitConverter.ToString(packet.Data)); }