mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
FX707 fix, AuraPower refactoring
This commit is contained in:
146
app/AsusUSB.cs
146
app/AsusUSB.cs
@@ -5,47 +5,32 @@ using System.Text;
|
|||||||
namespace GHelper
|
namespace GHelper
|
||||||
{
|
{
|
||||||
|
|
||||||
[Flags]
|
|
||||||
public enum AuraDev19b6 : uint
|
public class AuraPower
|
||||||
{
|
{
|
||||||
BootLogo = 1,
|
public bool BootLogo;
|
||||||
BootKeyb = 1 << 1,
|
public bool BootKeyb;
|
||||||
AwakeLogo = 1 << 2,
|
public bool AwakeLogo;
|
||||||
AwakeKeyb = 1 << 3,
|
public bool AwakeKeyb;
|
||||||
SleepLogo = 1 << 4,
|
public bool SleepLogo;
|
||||||
SleepKeyb = 1 << 5,
|
public bool SleepKeyb;
|
||||||
ShutdownLogo = 1 << 6,
|
public bool ShutdownLogo;
|
||||||
ShutdownKeyb = 1 << 7,
|
public bool ShutdownKeyb;
|
||||||
|
|
||||||
BootBar = 1 << (7 + 2),
|
public bool BootBar;
|
||||||
AwakeBar = 1 << (7 + 3),
|
public bool AwakeBar;
|
||||||
SleepBar = 1 << (7 + 4),
|
public bool SleepBar;
|
||||||
ShutdownBar = 1 << (7 + 5),
|
public bool ShutdownBar;
|
||||||
|
|
||||||
BootLid = 1 << (15 + 1),
|
public bool BootLid;
|
||||||
AwakeLid = 1 << (15 + 2),
|
public bool AwakeLid;
|
||||||
SleepLid = 1 << (15 + 3),
|
public bool SleepLid;
|
||||||
ShutdownLid = 1 << (15 + 4),
|
public bool ShutdownLid;
|
||||||
|
|
||||||
BootRear = 1 << (23 + 1),
|
|
||||||
AwakeRear = 1 << (23 + 2),
|
|
||||||
SleepRear = 1 << (23 + 3),
|
|
||||||
ShutdownRear = 1 << (23 + 4),
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class AuraDev19b6Extensions
|
|
||||||
{
|
|
||||||
public static byte[] ToBytes(this AuraDev19b6[] controls)
|
|
||||||
{
|
|
||||||
uint a = 0;
|
|
||||||
foreach (var n in controls)
|
|
||||||
{
|
|
||||||
a |= (uint)n;
|
|
||||||
}
|
|
||||||
return new byte[] { 0x5d, 0xbd, 0x01, (byte)(a & 0xff), (byte)((a & 0xff00) >> 8), (byte)((a & 0xff0000) >> 16), (byte)((a & 0xff000000) >> 24) };
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public bool BootRear;
|
||||||
|
public bool AwakeRear;
|
||||||
|
public bool SleepRear;
|
||||||
|
public bool ShutdownRear;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -81,6 +66,37 @@ namespace GHelper
|
|||||||
static System.Timers.Timer timer = new System.Timers.Timer(2000);
|
static System.Timers.Timer timer = new System.Timers.Timer(2000);
|
||||||
static HidDevice? auraDevice = null;
|
static HidDevice? auraDevice = null;
|
||||||
|
|
||||||
|
static byte[] AuraPowerMessage(AuraPower flags)
|
||||||
|
{
|
||||||
|
byte keyb = 0, bar = 0, lid = 0, rear = 0;
|
||||||
|
|
||||||
|
if (flags.BootLogo) keyb |= 1 << 0;
|
||||||
|
if (flags.BootKeyb) keyb |= 1 << 1;
|
||||||
|
if (flags.AwakeLogo) keyb |= 1 << 2;
|
||||||
|
if (flags.AwakeKeyb) keyb |= 1 << 3;
|
||||||
|
if (flags.SleepLogo) keyb |= 1 << 4;
|
||||||
|
if (flags.SleepKeyb) keyb |= 1 << 5;
|
||||||
|
if (flags.ShutdownLogo) keyb |= 1 << 6;
|
||||||
|
if (flags.ShutdownKeyb) keyb |= 1 << 7;
|
||||||
|
|
||||||
|
if (flags.BootBar) bar |= 1 << 1;
|
||||||
|
if (flags.AwakeBar) bar |= 1 << 2;
|
||||||
|
if (flags.SleepBar) bar |= 1 << 3;
|
||||||
|
if (flags.ShutdownBar) bar |= 1 << 4;
|
||||||
|
|
||||||
|
if (flags.BootLid) lid |= 1 << 0;
|
||||||
|
if (flags.AwakeLid) lid |= 1 << 1;
|
||||||
|
if (flags.SleepLid) lid |= 1 << 2;
|
||||||
|
if (flags.ShutdownLid) lid |= 1 << 3;
|
||||||
|
|
||||||
|
if (flags.BootRear) rear |= 1 << 0;
|
||||||
|
if (flags.AwakeRear) rear |= 1 << 1;
|
||||||
|
if (flags.SleepRear) rear |= 1 << 2;
|
||||||
|
if (flags.ShutdownRear) rear |= 1 << 3;
|
||||||
|
|
||||||
|
return new byte[] { 0x5d, 0xbd, 0x01, keyb, bar, lid, rear, 0xFF };
|
||||||
|
}
|
||||||
|
|
||||||
static AsusUSB()
|
static AsusUSB()
|
||||||
{
|
{
|
||||||
timer.Elapsed += Timer_Elapsed;
|
timer.Elapsed += Timer_Elapsed;
|
||||||
@@ -349,41 +365,39 @@ namespace GHelper
|
|||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
|
|
||||||
List<AuraDev19b6> flags = new();
|
AuraPower flags = new();
|
||||||
|
|
||||||
// Keyboard
|
// Keyboard
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake")) flags.Add(AuraDev19b6.AwakeKeyb);
|
flags.AwakeKeyb = AppConfig.IsNotFalse("keyboard_awake");
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot")) flags.Add(AuraDev19b6.BootKeyb);
|
flags.BootKeyb = AppConfig.IsNotFalse("keyboard_boot");
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep")) flags.Add(AuraDev19b6.SleepKeyb);
|
flags.SleepKeyb = AppConfig.IsNotFalse("keyboard_sleep");
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown")) flags.Add(AuraDev19b6.ShutdownKeyb);
|
flags.ShutdownKeyb = AppConfig.IsNotFalse("keyboard_shutdown");
|
||||||
|
|
||||||
// Logo
|
// Logo
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake_logo")) flags.Add(AuraDev19b6.AwakeLogo);
|
flags.AwakeLogo = AppConfig.IsNotFalse("keyboard_awake_logo");
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot_logo")) flags.Add(AuraDev19b6.BootLogo);
|
flags.BootLogo = AppConfig.IsNotFalse("keyboard_boot_logo");
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep_logo")) flags.Add(AuraDev19b6.SleepLogo);
|
flags.SleepLogo = AppConfig.IsNotFalse("keyboard_sleep_logo");
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown_logo")) flags.Add(AuraDev19b6.ShutdownLogo);
|
flags.ShutdownLogo = AppConfig.IsNotFalse("keyboard_shutdown_logo");
|
||||||
|
|
||||||
// Lightbar
|
// Lightbar
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake_bar")) flags.Add(AuraDev19b6.AwakeBar);
|
flags.AwakeBar = AppConfig.IsNotFalse("keyboard_awake_bar");
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot_bar")) flags.Add(AuraDev19b6.BootBar);
|
flags.BootBar = AppConfig.IsNotFalse("keyboard_boot_bar");
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep_bar")) flags.Add(AuraDev19b6.SleepBar);
|
flags.SleepBar = AppConfig.IsNotFalse("keyboard_sleep_bar");
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown_bar")) flags.Add(AuraDev19b6.ShutdownBar);
|
flags.ShutdownBar = AppConfig.IsNotFalse("keyboard_shutdown_bar");
|
||||||
|
|
||||||
// Lid
|
// Lid
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake_lid")) flags.Add(AuraDev19b6.AwakeLid);
|
flags.AwakeLid = AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot_lid")) flags.Add(AuraDev19b6.BootLid);
|
flags.BootLid = AppConfig.IsNotFalse("keyboard_boot_lid");
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep_lid")) flags.Add(AuraDev19b6.SleepLid);
|
flags.SleepLid = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown_lid")) flags.Add(AuraDev19b6.ShutdownLid);
|
flags.ShutdownLid = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
||||||
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_awake_lid")) flags.Add(AuraDev19b6.AwakeRear);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_boot_lid")) flags.Add(AuraDev19b6.BootRear);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_sleep_lid")) flags.Add(AuraDev19b6.SleepRear);
|
|
||||||
if (AppConfig.IsNotFalse("keyboard_shutdown_lid")) flags.Add(AuraDev19b6.ShutdownRear);
|
|
||||||
|
|
||||||
byte[] msg = AuraDev19b6Extensions.ToBytes(flags.ToArray());
|
|
||||||
|
|
||||||
|
flags.AwakeRear = AppConfig.IsNotFalse("keyboard_awake_lid");
|
||||||
|
flags.BootRear = AppConfig.IsNotFalse("keyboard_boot_lid");
|
||||||
|
flags.SleepRear = AppConfig.IsNotFalse("keyboard_sleep_lid");
|
||||||
|
flags.ShutdownRear = AppConfig.IsNotFalse("keyboard_shutdown_lid");
|
||||||
|
|
||||||
var devices = GetHidDevices(deviceIds);
|
var devices = GetHidDevices(deviceIds);
|
||||||
|
byte[] msg = AuraPowerMessage(flags);
|
||||||
|
|
||||||
foreach (HidDevice device in devices)
|
foreach (HidDevice device in devices)
|
||||||
{
|
{
|
||||||
@@ -398,10 +412,10 @@ namespace GHelper
|
|||||||
|
|
||||||
if (isTuf)
|
if (isTuf)
|
||||||
Program.acpi.TUFKeyboardPower(
|
Program.acpi.TUFKeyboardPower(
|
||||||
flags.Contains(AuraDev19b6.AwakeKeyb),
|
flags.AwakeKeyb,
|
||||||
flags.Contains(AuraDev19b6.BootKeyb),
|
flags.BootKeyb,
|
||||||
flags.Contains(AuraDev19b6.SleepKeyb),
|
flags.SleepKeyb,
|
||||||
flags.Contains(AuraDev19b6.ShutdownKeyb));
|
flags.ShutdownKeyb);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -458,7 +472,7 @@ namespace GHelper
|
|||||||
//Logger.WriteLine(BitConverter.ToString(msg));
|
//Logger.WriteLine(BitConverter.ToString(msg));
|
||||||
if (init)
|
if (init)
|
||||||
{
|
{
|
||||||
auraDevice.Write(AuraMessage(0,color,color, 0xe1));
|
auraDevice.Write(AuraMessage(0, color, color, 0xe1));
|
||||||
auraDevice.WriteFeatureData(MESSAGE_APPLY);
|
auraDevice.WriteFeatureData(MESSAGE_APPLY);
|
||||||
auraDevice.WriteFeatureData(MESSAGE_SET);
|
auraDevice.WriteFeatureData(MESSAGE_SET);
|
||||||
auraDevice.Write(new byte[] { AURA_HID_ID, 0xbc });
|
auraDevice.Write(new byte[] { AURA_HID_ID, 0xbc });
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ namespace GHelper.Mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
// force set PPTs for missbehaving bios on FX507/517 series
|
// force set PPTs for missbehaving bios on FX507/517 series
|
||||||
if ((AppConfig.ContainsModel("FX507") || AppConfig.ContainsModel("FX517") || xgmFan) && !AppConfig.IsMode("auto_apply_power"))
|
if ((AppConfig.ContainsModel("FX507") || AppConfig.ContainsModel("FX517") || AppConfig.ContainsModel("FX707") || xgmFan) && !AppConfig.IsMode("auto_apply_power"))
|
||||||
{
|
{
|
||||||
Task.Run(async () =>
|
Task.Run(async () =>
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user