public App() { InvkSMBCtrl.LibInitial(); Current.Exit += (sender, args) => SaveConfiguration(); Current.SessionEnding += (sender, args) => SaveConfiguration(); SystemEvents.PowerModeChanged += OnPowerModeChanged; }
private Motherboard() { if (InvkSMBCtrl.LibInitial() != 0) { throw new DeviceInitializationException(); } ledId = InvkSMBCtrl.GetLEDId(); identity = (MBIdentify)InvkSMBCtrl.GetMBId(); ConnectMcu(); LoadMemoryModules(); }
static void Main(string[] args) { try { var argsObj = ArgsParser.Parse(args); if (argsObj.ChangeAudioLed || argsObj.ChangeRgbLed) { InvkSMBCtrl.LibInitial(); if (argsObj.ChangeAudioLed && argsObj.Mode.HasValue) { var audioled = AudioLedController.Create(); if (audioled != null) { audioled.SetMode(argsObj.Mode.Value); } } if (argsObj.ChangeRgbLed) { var rgbled = RgbLedController.Create(); if (rgbled == null) { return; } if (argsObj.Mode.HasValue) { rgbled.SetMode(argsObj.Mode.Value); } if (argsObj.Color.HasValue) { if (argsObj.Mode == LedMode.Off || argsObj.Mode == LedMode.Unknown) { return; } rgbled.SetColor(argsObj.Color.Value); } } } } catch (OptionException e) { Console.WriteLine(e.Message); Console.WriteLine("Try `--help' for more information."); } }
private bool IsLedFunctionNotSuported(uint siv_Pid) { if (siv_Pid == 4) { var MB_Id = (MBIdentify)InvkSMBCtrl.GetMBId(); switch (MB_Id) { case MBIdentify.I_Z370: case MBIdentify.I_Z390: break; default: return(true); } } return(false); }
private void UpdateAudioLedMode(LedMode audioLedMode) { IT87Enter(RegisterPort); Select(RegisterPort, ValuePort, 7); byte b = ReadByte(RegisterPort, ValuePort, 251); byte b2 = ReadByte(RegisterPort, ValuePort, 210); byte b3 = ReadByte(RegisterPort, ValuePort, 208); switch (audioLedMode) { case LedMode.Off: b2 = (byte)(b2 | 2); WriteByte(RegisterPort, ValuePort, 210, b2); b3 = (byte)(b3 & 0xFD); InvkSMBCtrl.Pch_D22_Ctrl(0); b = (byte)(b & 0x6F); break; case LedMode.Still: b2 = (byte)(b2 | 2); WriteByte(RegisterPort, ValuePort, 210, b2); b3 = (byte)(b3 & 0xFD); InvkSMBCtrl.Pch_D22_Ctrl(1); b = (byte)(b & 0x6F); break; case LedMode.Breath: b2 = (byte)(b2 | 2); WriteByte(RegisterPort, ValuePort, 210, b2); b3 = (byte)(b3 & 0xFD); InvkSMBCtrl.Pch_D22_Ctrl(1); b = (byte)(b | 0x90); break; } WriteByte(RegisterPort, ValuePort, 208, b3); WriteByte(RegisterPort, ValuePort, 251, b); IT87Exit(RegisterPort, ValuePort); }
private RgbLedController() { var ledIdv3 = InvkSMBCtrl.GetSIVId(); ledIdv4 = InvkSMBCtrl.GetLEDId(); if (ledIdv4 != 0) { var siv_Pid = ledIdv3 >> 28; ledFuncType = ((ledIdv4 >> 20) & 0xF); if (IsLedFunctionNotSuported(siv_Pid)) { throw new NotSupportedException("Led function not supported"); } if (siv_Pid == 4) { var ledCtrlBy = GetLedCtrlBy(siv_Pid, ledFuncType); if (ledCtrlBy == LedCtrlBy.Unknown) { throw new NotSupportedException("Unknown controller"); } if (ledCtrlBy == LedCtrlBy.IT8688) { controller = new MncLedCtrl { iManufacter = (int)GetPlatform(), uPid = siv_Pid, uChipId = ledIdv4 >> 27, GpioPinConfigType = ((ledIdv4 >> 16) & 0xF) }; } } } }