public async void StopProgram() { if (!manipulator.Connected) return; try { manipulator.Halt(); await Task.Delay(200); manipulator.Reset(0); } catch (Exception ex) { Console.Error.WriteLine(ex.Message); } }
public async Task StopProgram(CancellationToken cancellationToken) { if (!manipulator.Connected) { return; } try { cancellationToken.ThrowIfCancellationRequested(); manipulator.Halt(); await Task.Delay(200, cancellationToken); manipulator.Reset(0); } catch (OperationCanceledException) { // Cancellation does not require handling as method returns immediately after catch clause } catch (Exception ex) { Console.Error.WriteLine(ex.Message); } }