using AiQ_GUI; using AiQ_GUI.AiQ_Tests; public class AiQTests { public static async void AiQPreTest() { if (!await CameraModules.SetZoomLockOn(MainForm.Instance.CamOnTest.IP)) Helper.RestartApp(); string LEDreply = await FlexiAPI.APIHTTPLED(MainForm.Instance.CamOnTest.IP, LEDPOWER.MID); // Set LED's to medium (0x30) if (!LEDreply.Contains("Power levels set successfully")) MainForm.Instance.AddToActionsList($"LED level could not be set: {LEDreply}", Level.ERROR); await CameraModules.FactoryResetModules(MainForm.Instance.CamOnTest.IP); // Reset both modules and double check MainForm.Instance.sshData = SSH.CollectSSHData(MainForm.Instance.CamOnTest.IP); // SSH into camera to get Vaxtor packages, filesystem size and if tailscale is installed. await SSH.CheckFSSize(MainForm.Instance.CamOnTest.IP, MainForm.Instance.LblFilesystemSize, MainForm.Instance.sshData); // Check Filesystem size is between 100GB & 150GB Helper.DCPowerCheck(MainForm.Instance.LblDC); // If the camera is DC powered check it is within limits // Requests, deserialises and checks the diagnostics API is correct await TestingFunctions.CheckDiagsAPIPt1(); // Check module has gone to default config CameraModules.CheckCamModule(TestingFunctions.DiagsAPI.IRmodule, MainForm.Instance.LblIRModule, MainForm.Instance.CamOnTest); // IR CameraModules.CheckCamModule(TestingFunctions.DiagsAPI.OVmodule, MainForm.Instance.LblOVModule, MainForm.Instance.CamOnTest); // OV // Check voltage and current are OK. LED.CheckLEDs(TestingFunctions.DiagsAPI.LedVoltage, MainForm.Instance.LblLEDV, "V", CameraAccessInfo.LED_V); // Voltage LED.CheckLEDs(TestingFunctions.DiagsAPI.LedCurrent, MainForm.Instance.LblLEDI, "mA", CameraAccessInfo.LED_I); // Current MainForm.Instance.Refresh(); // Make sure all labels are updated before checking them // If there are any actions identified then fail the test. // If any labels are red then fail. Only labels in panel so can foreach on labels not controls if (MainForm.Instance.RhTxBxActions.Text.Length < 2 && MainForm.Instance.PnlLbls.Controls.OfType