public void Dispose(int timeoutMs = 500) { _webExchange.Abort(); if (_thread != null) { _thread.Shutdown(timeoutMs); } _thread = null; }
public Status StartTesting(uint tests, DeviceDescrip deviceToUse, string firmwareFilePath, string paramData) { _tests = tests; _device = deviceToUse; _firmwarePath = firmwareFilePath; _configData = paramData; if (_runningThread == null) { dotNET.Thread t = new dotNET.Thread(TestThread); t.Start(); _runningThread = t; return(Status.Ok); } else { return(Status.Busy); } }
public Status StartHttpGet(HostNameAndPort hostName, string model, byte deviceID, ActionType action, int timeout = 2000, string extraParams = "") { if (_thread != null) { return(Status.Busy); } _params.hostName = hostName; _params.model = model; _params.deviceID = deviceID; _params.action = action; _params.timeout = timeout; _params.extraParams = extraParams; _params.isPOST = false; _isDone.Reset(); _thread = new dotNET.Thread(ExecuteTask); _thread.Start(); return(Status.Ok); }
private void TestThread() { _actionStatus = Status.Ok; _running = true; uint testLoops = 0; while (_actionStatus == Status.Ok && _running) { /* Put binaries onto RIO */ if ((_tests & SFTP_BINARY_ONTO_RIO) != SFTP_BINARY_ONTO_RIO) { //Don't executre Check Process } else if (_actionStatus == Status.Ok && _running) { UpdateRio(); } /* Check if process is running */ if ((_tests & CHECK_PROCESS_RUNNING) != CHECK_PROCESS_RUNNING) { //Don't execute Check Process } else if (_actionStatus == Status.Ok && _running) { CheckProcess(); } /* Check version is correct */ if ((_tests & CHECK_VERSION_NUMBER) != CHECK_VERSION_NUMBER) { //Don't execute Check Version Number } else if (_actionStatus == Status.Ok && _running) { CheckVersionNumber(); } /* Check minimum number of devices */ if ((_tests & CHECK_NUM_DEVICES) != CHECK_NUM_DEVICES) { //Don't execute Check Num Devices } else if (_actionStatus == Status.Ok && _running) { CheckNumDevices(1); } /* Check Firmware flash succeeds */ if ((_tests & CHECK_FIRMWARE_FLASH) != CHECK_FIRMWARE_FLASH) { //Don't execute Check Firmware Flash } else if (_actionStatus == Status.Ok && _running) { CheckFirmwareFlash(_device, _firmwarePath); } /* Save configs to device */ if ((_tests & SAVE_CONFIGS_TO_DEVICE) != SAVE_CONFIGS_TO_DEVICE) { //Don't execute Save Configs To Device } else if (_actionStatus == Status.Ok && _running) { SaveConfigsToDevice(_device, _configData); } /*------------ This must be at end ------------*/ if ((_tests & REBOOT_RIO) != REBOOT_RIO) { //Don't reboot rio } else if (_actionStatus == Status.Ok && _running) { RebootRio(); } ++testLoops; } if (_actionStatus == Status.Ok) { Log("Ending test, test is successful."); Log("Number of test loops was " + testLoops); } else if (_failedAction != null) { Log("Ending test, failure was: " + _failedAction.type.ToString()); Log("Number of test loops was " + testLoops); } else { Log("Ending test, failure is unknown"); Log("Number of test loops was " + testLoops); } _running = false; _runningThread = null; }